Author: Daniel Mentrard

Ver el sistema de referencia

Levantar el techo

Ocultar sólidos

Anchura = 2.8 (slider from 1 to 5, step 0.1)
O = (21.42304693584306, -6.06704995045461)
Zoom = 4.2 (slider from 0.1 to 10, step 0.1)
Vista = (0.880210332828917, 0.21726253221552622)
xa: x(Vista)
cosphi: cos(xa)
sinphi: sin(xa)
ya: y(Vista)
sintheta: sin(ya)
xy: -(Zoom) * cosphi * sintheta
B_1 = (-5.668148892810553, -12.404171781718613)
X: (x(B_1) + Zoom * sinphi, y(B_1) + xy)
u = Vector(B_1, X)
Altura = 1.7 (slider from 1 to 5, step 0.1)
costheta: cos(ya)
Z: (x(B_1) + 0.0, y(B_1) + Zoom * costheta)
w = Vector(B_1, Z)
Y: (x(B_1) + Zoom * cosphi, y(B_1) + Zoom * sinphi * sintheta)
v = Vector(B_1, Y)
Longitud = 3.2 (slider from 1 to 5, step 0.1)
P = Translate(O, Vector[Anchura * u])
Q = Translate(P, Vector[Longitud * v])
d = Circle(Vista, 0.2)
C_1 = Point(d)
e = Ray(Vista, C_1)
a = OrthogonalLine(Vista, yAxis)
b = OrthogonalLine(Vista, xAxis)
c: cos(ya)
C = Translate(Q, Vector[Altura * w])
E = Mirror(C, O)
G = Mirror(C, Q)
B = Mirror(G, P)
F = Mirror(C, P)
H = Mirror(B, O)
A = Mirror(G, O)
D = Mirror(F, O)
k = Segment(A, B)
l = Segment(B, F)
m = Segment(F, G)
n = Segment(G, H)
p = Segment(H, D)
q = Segment(D, A)
r = Segment(D, C)
s = Segment(C, G)
t = Segment(C, B)
a1 = Segment(A, E)
b1 = Segment(E, H)
c1 = Segment(E, F)
B1 = facecachée3points(H, E, A)
C1 = facecachée3points(A, D, E)
poly2, c1_1, a1_1, b1_1, s_1 = Polygon(C1, D, B1, E)
poly4, d1, f1, j1, k1 = fachequadrlatèrecachée(A, B, F, E)
poly5, l1, m1, n1, p1 = fachequadrlatèrecachée(D, C, B, A)
poly6, q1, r1, s1, t1 = fachequadrlatèrecachée(H, E, F, G)
poly7, a2, b2, c2, d2 = fachequadrlatèrecachée(B, C, G, F)
poly8, e2, f2, g2, h2 = fachequadrlatèrecachée(C, D, H, G)
poly1, s_2, w_1, t_1, v_1 = Polygon(E, H, G, F)
f = true
g = 0 (slider from 0 to 3, step 0.1)
I = Translate(O, Vector[Altura * w])
J = Translate(I, Vector[g * w])
K = Translate(D, Vector[g * w])
L = Translate(A, Vector[g * w])
N = Translate(C, Vector[g * w])
Techo = 1.7 (slider from 0 to 5, step 0.1)
M = Translate(B, Vector[g * w])
poly3, k_1, l_1, m_1, n_1 = Polygon(K, L, M, N)
R = Midpoint(M, L)
S = Midpoint(N, K)
T = Translate(R, Vector[Techo * w])
U = Translate(S, Vector[Techo * w])
poly9, m_2, l_2, t_2 = Polygon(L, T, M)
poly10, n_2, u_1, k_2 = Polygon(U, K, N)
poly11, t_3, u_2, n_3, m_3 = Polygon(T, U, N, M)
poly12, u_3, t_4, l_3, k_3 = Polygon(U, T, L, K)
Ver = false
V = Midpoint(a1)
W = Midpoint(l)
A1 = Midpoint(A, V)
D1 = Midpoint(W, B)
E1 = Midpoint(E, F)
F1 = Midpoint(E1, E)
G1 = Midpoint(E1, F)
i = Line(G1, l)
j = Line(F1, a1)
e1 = Line(A1, k)
H1 = Intersect(e1, j)
I1 = Intersect(i, e1)
poly13, h1, i1, g1, f1_1 = Polygon(H1, I1, G1, F1)
i2 = Line(E1, l)
J1 = Intersect(e1, h1)
K1 = Intersect(i2, e1)
j2 = Segment(K1, E1)
k2 = Line(D1, t)
L1 = Midpoint(W, F)
l2 = Line(W, m)
M1 = Midpoint(m)
N1 = Midpoint(F, M1)
O1 = Midpoint(N1, M1)
P1 = Midpoint(N1, F)
Q1 = Midpoint(M1, G)
R1 = Midpoint(Q1, G)
S1 = Midpoint(Q1, M1)
m2 = Line(P1, l)
n2 = Line(O1, l)
p2 = Line(S1, s)
q2 = Line(R1, s)
U1 = Intersect(n2, k2)
V1 = Intersect(p2, k2)
W1 = Intersect(q2, k2)
Z1 = Intersect(l2, q2)
A2 = Intersect(p2, l2)
B2 = Intersect(l2, n2)
C2 = Intersect(m2, l2)
D2 = Intersect(k2, m2)
poly14, d2_1, u1, b2_1, c2_1 = Polygon(D2, U1, B2, C2)
poly15, v1, w1, z1, a2_1 = Polygon(V1, W1, Z1, A2)
E2 = Midpoint(D2, U1)
F2 = Midpoint(C2, B2)
G2 = Midpoint(V1, W1)
H2 = Midpoint(Z1, A2)
I2 = Midpoint(V1, A2)
J2 = Midpoint(W1, Z1)
K2 = Midpoint(U1, B2)
L2 = Midpoint(C2, D2)
r2 = Segment(L2, K2)
s2 = Segment(E2, F2)
t2 = Segment(G2, H2)
a3 = Segment(I2, J2)

Tool: face cachée 3 points (command facecachée3points)
Input: F, G, H
Output: J

g = Ray(F, G)
F' = Rotate(F, 90.0*°, F)
G' = Rotate(G, 90.0*°, F)
h = Ray(F', G')
i = OrthogonalLine(H, h)
I = Intersect(h, i)
j = OrthogonalLine(I, g)
J = Intersect(g, j)

Tool: fache quadrlatère cachée (command fachequadrlatèrecachée)
Input: D1, E1, F1, G1
Output: poly3, e1, i1, g1, h1

H1 = facecachée3points(D1, G1, F1)
I1 = facecachée3points(F1, E1, D1)
poly3, h1, g1, i1, e1 = Polygon(H1, G1, I1, E1)