U'_1=Es_1

O=E'_0

p_1

x

z

y

p_2

E_0

P_1

P_1'

P_2

P_2'

O\equiv E_0'

U_1^s

U_1'\equiv E_1^s

U_2^s

U_2'\equiv E_2^s

U

U'

a

a'

x

z

y

z=0

z=1

P_1^s

P_2^s

a^s

p_1

\alpha

\overrightarrow{p_1}

\overrightarrow{p_2}

\overrightarrow{u}

\overrightarrow{u_1}

\overrightarrow{u_2}

\overrightarrow{e_0}

\overrightarrow{e_1}

\overrightarrow{e_2}

l^s_\infty

U_2

U_1

U^s

p_2

P^s_\infty

\overrightarrow{p_\infty}

Projection to z=1

Bundle model

u

u_1

u_2

Half-sphere model

Vector space model

a_2: z = 0
b: z = 1
I: (1, 0, 0)
U_1: (1, 0, 1)
E_1: (0, 0, 0)
u_3 = Vector(E_1, U_1)
U'_2: (0, 1, 0)
U_2: (0, 1, 1)
v = Vector(E_1, U_2)
P'_1 = PointIn(a_2)
P_1: (x(P'_1), y(P'_1), 1)
w = Vector(E_1, P_1)
c = Sphere(E_1, 1)
Q: (-1, 0, 0)
ls_∞ = CircumcircleArc(I, U'_2, Q)
f = Line(E_1, P_1)
g = Line(E_1, U_1)
h = Line(E_1, U_2)
s1 = Surface((cos(u) * cos(v)), (sin(u) * cos(v)), (-sin(v)), u, 0, (2 * π), v, (-π), 0)
A, Ps_1 = Intersect(f, c)
C, Us_1 = Intersect(g, c)
E, Us_2 = Intersect(h, c)
u_1 = Vector(E_1, Us_1)
u_2 = Vector(E_1, Us_2)
l = Vector(E_1, Ps_1)
m = Line(E_1, P'_1)
P'_2 = Point(m)
n = OrthogonalLine(P'_2, a_2)
P_2 = Intersect(n, b)
p = Vector(E_1, P_2)
q = Line(E_1, P_2)
D, Ps_2 = Intersect(q, c)
r = Segment(P_1, P'_1)
s = Segment(U_1, I)
t = Segment(U_2, U'_2)
a' = Line(E_1, P'_1)
p_1 = Line(E_1, P_1)
E_0 = Intersect(zAxis, b)
a = Line(E_0, P_2)
i_1 = Ray(E_1, I)
k_1 = Ray(E_1, E_0)
U': (1, 1, 0)
l_1 = OrthogonalLine(U', a_2)
U = Intersect(l_1, b)
j_1 = Ray(E_1, U'_2)
m_1 = Line(E_0, U_1)
n_1 = Line(E_0, U_2)
p_3 = Line(E_1, U)
G, U_s = Intersect(p_3, c)
F, H = Intersect(a', c)
Ps_∞ = Intersect(a', ls_∞, 1)
as = CircumcircleArc(Ps_∞, Ps_1, F)
e = Vector(E_1, Ps_2)
e_1 = Vector(E_1, I)
e_2 = Vector(E_1, U'_2)
u = Vector(E_1, U_s)
α, p_s2, e_3, p_s = Polygon(E_1, Ps_1, Ps_2)
q_1 = Segment(U_1, U)
r_1 = Segment(U_2, U)
d_1 = CircleArc(E_1, Us_1, E_0)
e_4 = CircleArc(E_1, Us_2, E_0)
s_1 = CircleArc(E_1, Us_1, U_s)
t_1 = CircleArc(E_1, U_s, Us_2)
a_1 = Segment(E_0, U_1)
b_1 = Segment(U_2, E_0)
f_2 = Ray(U_1, e_1)
w_1 = Vector(E_1, U'_2)
g_2 = Ray(U_2, w_1)
h_2 = Segment(U', U)
i_2 = Segment(P'_2, P_2)
e_0 = Vector(E_1, E_0)
p_2 = Line(P_2, E_1)
p_∞ = Vector(E_1, Ps_∞)
d = false
i = false
j = Line(E_1, U)
k = Line(E_1, U_1)
f_1 = Line(E_1, U_2)
o = false
c_1 = false