Řez hranolu II

Řez hranolu rovinou (určenou třemi body) a jeho skutečná velikost (otočení do roviny podstavy).

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

h=1 hranol a rovina řezu (resp. trojuhelnik)
t=0 vzdalenost bodu D od stopy
n=0 narys

bet=0 uhel otoceni roviny 

Volné objekty jsou modré.

B_1

A_1

A

C_1

D_1

E_1

D

B

B_0

A'_2

A_2

A_0

D_0

A_2

A_1 = (-6.378958662225355, -6.504502371639387)
Π_1 = Plane(xAxis, yAxis)
B'_1 = PointIn(Π_1)
A'_1 = (-6.378958662225355, -6.504502371639387)
A' = Point(OrthogonalLine[A'_1, Π_1])
A_r = Point(Line[A'_1, A'])
B_1 = (-3.9064640830128594, -4.032007792426904)
podstava, a, b, c, d, e, C_1, D_1, E_1 = Polygon(A_1, B_1, 5)
C'_1: C_1
D'_1: D_1
E'_1: E_1
hranol, E, D, C, B, podstava', stena1, stena5, stena4, stena3, stena2, nadstava', hrana3, hrana8, hrana6, hrana4, hrana2, hrana1, hrana10, hrana9, hrana7, hrana5, hranaAA', hranaAB, hranaBC, hranaCD, hranaA'D = Prism(A'_1, E'_1, D'_1, C'_1, B'_1, A')
D_r = Point(Line[D'_1, D])
s_{AD} = Intersect(Π_1, Line[A_r, D_r])
B_r = Point(Line[B'_1, B])
s_{BD} = Intersect(Π_1, Line[B_r, D_r])
BD_r = Ray(s_{BD}, B_r)
ρ = Plane(A_r, D_r, B_r)
stopa_1 = IntersectPath(ρ, Π_1)
bet = 0 rad (slider from 0*° to max, step 0.01*°)
B'_0 = Rotate(B_r, bet, stopa_1)
rez, A, F, G, H, I, J, K, f, g, h_1, i, j, k, l = IntersectPath(ρ, hranol)
Π_2 = Plane(xAxis, zAxis)
n = 0 (slider from 0 to 1, step 1)
x_{A}: (x(A_1), 0)
A_2 = Point(OrthogonalLine[A_1, xAxis])
A'_2: (x(A'), 0, z(A'))
x_{A'}: (x(A'), 0, 0)
u_{A'} = Segment(A'_1, A')
u_{A1} = Segment(x_{A}, A_1)
u_{A'1} = Segment(x_{A'}, A'_1)
u_{A'2} = Segment(x_{A'}, A'_2)
u_{AA'2} = Segment(A', A'_2)
u_{A2} = Segment(x_{A}, A_2)
alef = Angle(Vector[OrthogonalVector[ρ]], Vector[OrthogonalVector[Π_1]])
rez' = Rotate(rez, bet, stopa_1)
max: alef
A'_0 = Rotate(A_r, bet, stopa_1)
κ_A = OrthogonalPlane(A_r, stopa_1)
O_A = Intersect(stopa_1, κ_A)
k_A = CircleArc(O_A, A_r, A'_0)
D'_0 = Rotate(D_r, bet, stopa_1)
k_D = CircleArc(Intersect[stopa_1, OrthogonalPlane[D_r, stopa_1]], D_r, D'_0)
k_B = CircleArc(Intersect[stopa_1, OrthogonalPlane[B_r, stopa_1]], B_r, B'_0)
κ_D = OrthogonalPlane(D_r, stopa_1)
κ_B = OrthogonalPlane(B_r, stopa_1)
O_D = Intersect(stopa_1, κ_D)
h = 1 (slider from 0 to 1, step 1)
ρ' = Rotate(ρ, bet, stopa_1)
u_{Ar} = Segment(A'_1, A_r)
u_{Br} = Segment(B'_1, B_r)
u_{Dr} = Segment(D'_1, D_r)
BD_1 = Ray(s_{BD}, B'_1)
trojuhelnik_1, b'_1, a'_1, d'_1 = Polygon(A'_1, D'_1, B'_1)
trojuhelnik, d_r, a_r, b_r = Polygon(A_r, B_r, D_r)
AD_r = Ray(s_{AD}, A_r)
trojuhelnik', d'_0, a'_0, b'_0 = Polygon(A'_0, B'_0, D'_0)
BD_0 = Ray(s_{BD}, B'_0)
AD_0 = Ray(s_{AD}, A'_0)
s_{AB} = Intersect(Π_1, Line[A_r, B_r])
O_B = Intersect(stopa_1, κ_B)
u_{OD1} = Segment(O_D, D'_1)
u_{OD0} = Segment(O_D, D'_0)
A_{r2} = Point(OrthogonalLine[A_1, xAxis])
B_{2} = Point(OrthogonalLine[B_1, xAxis])
D_{2} = Point(OrthogonalLine[D_1, xAxis])
s_{AB2}: (x(s_{AB}), 0)
AB_2 = Ray(s_{AB2}, A_{r2})
s_{AD2}: (x(s_{AD}), 0)
AD_2 = Ray(s_{AD2}, A_{r2})
s_{BD2}: (x(s_{BD}), 0)
BD_2 = Ray(s_{BD2}, B_{2})
mnohoúhelník1, d_{2}, a_{r2}, b_{2} = Polygon(A_{r2}, B_{2}, D_{2})
x_B: (x(B_1), 0)
x_D: (x(D_1), 0)
u_{Ar2} = Segment(x_{A}, A_{r2})
u_{B2} = Segment(x_B, B_{2})
u_{D2} = Segment(x_D, D_{2})
u_{D1} = Segment(x_D, D_1)
u_{B1} = Segment(x_B, B_1)
u_{AD1} = Segment(s_{AD}, s_{AD2})
u_{AB1} = Segment(s_{AB}, s_{AB2})
u_{BD1} = Segment(s_{BD}, s_{BD2})
AD_1 = Ray(s_{AD}, A'_1)
AB_1 = Ray(s_{AB}, B'_1)
AB_r = Ray(s_{AB}, A_r)
AB_0 = Ray(s_{AB}, A'_0)
u_{OA1} = Segment(O_A, A'_1)
u_{OB1} = Segment(O_B, B'_1)
u_{OA0} = Segment(O_A, A'_0)
u_{OB0} = Segment(O_B, B'_0)
B'_2: (x(B), z(B))
C'_2: (x(C), z(C))
D'_2: (x(D), z(D))
E'_2: (x(E), z(E))
x_C: (x(C_1), 0)
x_E: (x(E_1), 0)
mnohoúhelník2, x_d, x_e, e'_2, d'_2 = Polygon(x_D, x_E, E'_2, D'_2)
mnohoúhelník3, e'_1, a_2, x_{a}, x_1 = Polygon(E'_2, A_2, x_{A}, x_E)
mnohoúhelník4, a_1, b'_2, x_b, x_2 = Polygon(A_2, B'_2, x_B, x_{A})
mnohoúhelník5, b'_3, c'_2, x_c, x_3 = Polygon(B'_2, C'_2, x_C, x_B)
mnohoúhelník6, c'_1, d'_3, x_4, x_5 = Polygon(C'_2, D'_2, x_D, x_C)
H_2: (x(H), z(H))
F_2: (x(F), z(F))
G_2: (x(G), z(G))
I_2: (x(I), z(I))
J_2: (x(J), z(J))
K_2: (x(K), z(K))
A_{22}: (x(A), z(A))
f_2 = Segment(A_{22}, F_2)
g_2 = Segment(F_2, G_2)
h_{12} = Segment(G_2, H_2)
i_{2} = Segment(H_2, I_2)
j_{2} = Segment(I_2, A_{22})
k_{2} = Segment(J_2, K_2)
l_{2} = Segment(K_2, A_{22})
t = 0 (slider from 0 to 1, step 1)
U_{D2} = Segment(x_D, D_{2})
U_{Dr} = Segment(D'_1, D_r)
U_{OD1} = Segment(O_D, D'_1)
U_{OD0} = Segment(O_D, D'_0)
stopa_2 = IntersectPath(ρ, Π_2)
n_{AB} = Intersect(Π_2, Line[A_r, B_r])
n_{AD} = Intersect(Π_2, Line[A_r, D_r])
n_{BD} = Intersect(Π_2, Line[B_r, D_r])
n_{AB2}: (x(n_{AB}), z(n_{AB}))
n_{AD2}: (x(n_{AD}), z(n_{AD}))
n_{BD2}: (x(n_{BD}), z(n_{BD}))
stpa_2 = Line(n_{AB2}, n_{AD2})
n_x = Intersect(stpa_2, xAxis)
n_{AD1}: (x(n_{AD}), 0)
n_{AB1}: (x(n_{AB}), 0)
n_{BD1}: (x(n_{BD}), 0)
u_{BD2} = Segment(n_{BD1}, n_{BD2})
u_{AD2} = Segment(n_{AD1}, n_{AD2})
u_{AB2} = Segment(n_{AB1}, n_{AB2})
u_{AD} = Segment(n_{AD1}, n_{AD})
u_{BD} = Segment(n_{BD1}, n_{BD})
u_{AB} = Segment(n_{AB1}, n_{AB})