Středový průmět kvádru

Středový průmět kvádru ze středu S do roviny Rho (určené body I, J a směrem AA_1).

K zobrazení různých objektů slouží několik přepínačů (uvedena přednastavená hodnota):

h=1  kvádr
h'=1 průmět kvádru
p=1  promítací paprsky
u=0  úběžníky a úběžnice
o=0  průmět osového kříže
r=0   kontrolní bod a jeho průmět

Volné objekty jsou S, I, J, A_1, B_1, C_1, A

A'_1

A'_2

r

r_1

r_2

k = 0 (slider from 0 to 1, step 1)
S_1 = PointIn(xOyPlane)
S = Point(OrthogonalLine[S_1, xOyPlane])
S_{12}: (x(S), 0)
R_1 = PointIn(xOyPlane)
R = Point(OrthogonalLine[R_1, xOyPlane])
R_{12}: (x(R), 0)
I = Point(xAxis)
J = Point(yAxis)
K = Point(zAxis)
A_1 = (-6, -4)
μ = Plane(xAxis, yAxis)
B_1 = (-4.071855051818768, -3.3777803981786096)
C_1 = Point(OrthogonalLine[B_1, Line[A_1, B_1], μ])
A = Point(OrthogonalLine[A_1, Plane[A_1, B_1, C_1]])
D_1: A_1 + Vector[B_1, C_1]
a, B, C, D, stena2, stena1, stena3, stena5, stena4, stenaAEGH, hrana1, hrana2, hrana6, hrana5, hrana4, hrana3, hrana7, hrana8, hranaAE, hranaEG, hranaGH, hranaAH = Prism(A_1, B_1, C_1, D_1, A)
ρ = If(k ≟ 0, Plane[I, J, J + (0, 0, 1)], Plane[I, J, K])
O' = Intersect(ρ, Line[S, (0, 0)])
U'_x = Intersect(ρ, Line[S, xAxis])
U'_y = Intersect(ρ, Line[S, yAxis])
U'_z = Intersect(ρ, Line[S, zAxis])
x' = Line(O', U'_x)
y' = Line(O', U'_y)
hor = Line(U'_x, U'_y)
zakl = Line(I, J)
ξ = Plane(xAxis, zAxis)
O = Intersect(xAxis, yAxis)
A' = Intersect(ρ, Line[S, A])
B' = Intersect(ρ, Line[S, B])
C' = Intersect(ρ, Line[S, C])
D' = Intersect(ρ, Line[S, D])
D'_1 = Intersect(ρ, Line[S, D_1])
B'_1 = Intersect(ρ, Line[S, B_1])
C'_1 = Intersect(ρ, Line[S, C_1])
A'_1 = Intersect(ρ, Line[S, A_1])
hrana1' = Segment(A'_1, B'_1)
hrana2' = Segment(B'_1, C'_1)
hrana3' = Segment(B'_1, B')
hrana4' = Segment(A'_1, A')
hrana5' = Segment(A'_1, D'_1)
hrana6' = Segment(C'_1, D'_1)
hrana7' = Segment(C'_1, C')
hrana8' = Segment(D'_1, D')
hranaAE' = Segment(B', A')
hranaAH' = Segment(D', A')
hranaEG' = Segment(C', B')
hranaGH' = Segment(C', D')
p = 1 (slider from 0 to 1, step 1)
h = 1 (slider from 0 to 1, step 1)
r = 0 (slider from 0 to 1, step 1)
u = 0 (slider from 0 to 1, step 1)
SS_1 = Segment(S, S_1)
RR_1 = Segment(R, R_1)
h' = 1 (slider from 0 to 1, step 1)
SR = Line(S, R)
SO = Segment(S, O)
SV = Ray(S, U'_y)
SA = Segment(S, A)
SB = Segment(S, B)
SC = Segment(S, C)
SD = Segment(S, D)
SA_1 = Segment(S, A_1)
SB_1 = Segment(S, B_1)
SC_1 = Segment(S, C_1)
SD_1 = Segment(S, D_1)
o = 0 (slider from 0 to 1, step 1)
AB' = Line(A', B')
BC' = Line(B', C')
CD' = Line(C', D')
AD' = Line(A', D')
AB'_1 = Line(A'_1, B'_1)
BC'_1 = Line(B'_1, C'_1)
CD'_1 = Line(C'_1, D'_1)
AD'_1 = Line(A'_1, D'_1)
U'_{AB} = Intersect(AB', AB'_1)
U'_{BC} = Intersect(BC', BC'_1)
A_2 = Point(OrthogonalLine[A_1, xAxis])
n = 0 (slider from 0 to 1, step 1)
K_2 = Point(yAxis)
s = 0 (slider from 0 to 1, step 1)
stopa_1 = Ray(I, Vector[((-sgn(y(J))) * Vector[I, J])])
stopa_2 = If(k ≟ 0, Ray[I, I + (0, 1)], Ray[I, Vector[(sgn(y(K_2)) * Vector[I, K_2])]])
B_2: (x(B), z(B))
C_2: (x(C), z(C))
D_2: (x(D), z(D))
B_{12}: (x(B), 0)
C_{12}: (x(C), 0)
D_{12}: (x(D), 0)
A_{12}: (x(A), 0)
mnohoúhelník1, a_2, b_2, b_{12}, a_{12} = Polygon(A_2, B_2, B_{12}, A_{12})
mnohoúhelník2, b_1, c_2, c_{12}, b_3 = Polygon(B_2, C_2, C_{12}, B_{12})
mnohoúhelník3, c_1, d_2, d_{12}, c_3 = Polygon(C_2, D_2, D_{12}, C_{12})
mnohoúhelník4, d_1, a_1, a_3, d_3 = Polygon(D_2, A_2, A_{12}, D_{12})
A'1: (x(A'), y(A'))
A'2: (x(A'), z(A'))
SA1 = Segment(S_1, A_1)
S_2 = Point(OrthogonalLine[S_{12}, xAxis])
SA2 = Segment(S_2, A_2)
A'12: (x(A'), 0)
b = Segment(A'1, A'12)
c = Segment(A'12, A'2)
d = Segment(S_1, S_{12})
e = Segment(S_{12}, S_2)
f = Segment(D_1, D_{12})
g = Segment(A_1, A_{12})
i = Segment(C_1, C_{12})
j = Segment(B_1, B_{12})
λ = Plane(S, R, R_1)
prus = IntersectPath(λ, ρ)
R' = Intersect(ρ, Line[S, R])
P = Intersect(prus, μ)
N = Intersect(prus, ξ)
SR1 = Line(S_1, R_1)
P_1: (x(P), y(P))
P_2: (x(P), 0)
N_2: (x(N), z(N))
N_1: (x(N), 0)
prus_1 = Line(P_1, N_1)
R'_1: (x(R'), y(R'))
R'_2: (x(R'), z(R'))
R_2 = Point(OrthogonalLine[R_{12}, xAxis])
SR2 = Line(S_2, R_2)
l = Segment(N_1, N)
m = Segment(N_1, N_2)
q = Segment(R', R'_1)
R'_{12}: (x(R'), 0)
t = Segment(R_1, R_{12})
e_1 = Segment(R_{12}, R_2)
f_1 = Segment(R'_1, R'_{12})
g_1 = Segment(R'_{12}, R'_2)
h_1 = Segment(P_1, P_2)
prus_2 = If(k ≟ 1, Line[P_2, N_2], Line[P_2, P_2 + (0, 1)])
z' = If(k ≟ 0, Line[O', zAxis], Line[O', K])
AA' = Line(A', A'_1)
BB' = Line(B', B'_1)
CC' = Line(C', C'_1)
DD' = Line(D', D'_1)
SU = Ray(S, U'_x)
SU_{AB} = Ray(S, U'_{AB})
SU_{BC} = Ray(S, U'_{BC})
v: u - 1
stopa = If(k ≟ 0, Line[I, I + (0, 0, 1)], Line[I, K])