Intersection d'un plan et d'une sphère

Cliquer en-bas, à gauche,
    pour lancer ou arrêter
            l'animation.

Tous les points du cercle
  (en perspective : ellipse)
    appartiennent à la fois 
    au plan et à la sphère.

Le plan et la sphère
     n'ont pas de
  point en commun.

   Le plan et la sphère 
       sont tangents :
1 seul point en commun.

Calotte sphérique supérieure

Calotte sphérique inférieure

Section (vue de dessus)

j = -1.5 (slider from -5 to 7, step 0.1)
i = 3.5 (slider from 0 to 12, step 0.1)
A = Intersect(xAxis, yAxis)
c = Circle(A, 4)
B, C = Intersect(c, yAxis)
D = Point(yAxis)
E = Point(yAxis)
c1 = If(i ≤ 1, j, If[i < 2, -4, If[i < 10, j - 1, If[i ≤ 11, 4, j - 2]]])
a = Segment(D, E)
F: (0, c1)
b = Line(F, xAxis)
G, H = Intersect(c, b)
H'_1 = Dilate(H, 0.3, F)
H'' = Rotate(H'_1, 25*°, F)
H'''_1 = Mirror(H'', F)
H''' = Mirror(H'', a)
d = Conic(H, H'', H''', G, H'''_1)
I = (-10, 6)
J = (-2, 7)
u = Vector(I, J)
F'_1 = Translate(F, u)
F''_1 = Mirror(F'_1, F)
K = (-5, 5)
L = (-10, 6)
v = Vector(K, L)
F'_2 = Translate(F, v)
F'' = Mirror(F'_2, F)
poly1, f''_1, f'', f'_1, f' = Polygon(F''_1, F'', F'_1, F'_2)
M, N = Intersect(c, f''_1)
e = CircleArc(A, N, M)
f = CircleArc(A, N, H)
g = CircleArc(A, G, M)
h = CircleArc(A, H, G)
k = CircleArc(A, M, N)
p = CircleArc(A, G, H)
O = (-4, 4)
P = (-9.836407944215381, -24.727745809634712)
Q = (-10.74985046045188, -25.81034434739649)
w = Vector(P, Q)
S = (1.4654033585724522, 0.457090432108647)
S'_1 = Mirror(S, A)
S' = Mirror(S, yAxis)
S'' = Mirror(S', A)
R = (4, 0)
q = Conic(R, S, S', S'_1, S'')
T = (6, 4)
U = (20, 6)
z = Vector(T, U)
A'_1 = Translate(A, z)
H'_2 = Translate(H, z)
G'_1 = Translate(G, z)
h' = Arc(Translate[Circle[A, H], z], H'_2, G'_1)
q'_1 = Translate(q, z)
d'_1 = Translate(d, z)
V = Point(h')
W = (13.999729107191055, -2.6341366418118133)
Z = (14.03356031149611, -1.856018942795536)
A_1 = (14.051278846817526, -5.42433058272339)
B_1 = (14.051278846817526, -5.928439112558202)
m = Vector(A_1, B_1)
C_1 = (14.051278846817524, -2.4765902573673504)
D_1 = (14.051278846817524, -1.9724817275325388)
l = Vector(C_1, D_1)
E_1 = (-4, -6)
F_1 = (-4, -18)
n = Vector(E_1, F_1)
A'_2 = Translate(A, n)
r = Circle(A'_2, Segment[G, H] / 2)
G_1 = (4, -2)
H_1 = (18, -12)
s = Vector(G_1, H_1)
t = CircleArc(A, G, H)
A' = Translate(A, s)
G' = Translate(G, s)
H' = Translate(H, s)
t' = Arc(Translate[Circle[A, G], s], G', H')
d' = Translate(d, s)
q' = Translate(q, s)
F'_3 = Translate(F, z)
F' = Translate(F, s)