Author: Daniel Mentrard

Déplacer le point rouge pour faire tourner le cube
Déplacer le point vert pour agrandir/réduire la figure.

Taille

El plano visto desde arriba.

Mover el plano

O = (1.2042958562031687, 0.8574938340555912)
A = (6.051341518216386, -0.10162726368166511)
B = Intersect(xAxis, yAxis)
xa: x(A)
sinphi: sin(xa)
cosphi: cos(xa)
ya: y(A)
costheta: cos(ya)
sintheta: sin(ya)
F = (-2.665841906596287, 4.424751250201176)
G = (0.3629615599424175, 4.4584046220516065)
distanceAE = Distance(F, G)
xy: -(distanceAE) * cosphi * sintheta
X: (distanceAE * sinphi, xy)
u = Vector(B, X)
P = Translate(O, u)
Y: (distanceAE * cosphi, distanceAE * sinphi * sintheta)
v = Vector(B, Y)
Q = Translate(P, v)
D: (0.0, distanceAE * costheta)
w = Vector(B, D)
R = Translate(Q, w)
V = Mirror(R, P)
T = Mirror(R, Q)
Z = Mirror(T, O)
E = Midpoint(Z, R)
S = Mirror(R, O)
d = Circle(A, 0.2)
C = Point(d)
e = Ray(A, C)
b = OrthogonalLine(A, xAxis)
c: cos(ya)
U = Mirror(T, P)
W = Mirror(U, O)
A1 = Mirror(V, O)
k = Segment(Z, U)
l = Segment(E, V)
m = Segment(V, T)
n = Segment(T, W)
p = Segment(W, E)
q = Segment(A1, Z)
r = Segment(A1, R)
s = Segment(E, T)
t = Segment(R, U)
a1 = Segment(E, S)
b1 = Segment(S, W)
c1 = Segment(S, V)
B1 = facecachée3points(W, S, Z)
C1 = facecachée3points(Z, A1, S)
poly4, f_1, g, h, i = fachequadrlatèrecachée(E, E, V, S)
poly2, j_1, d1_3, e1_3, f1_3 = Polygon(E, E, B1, S)
poly5, l1, m1, n1, p1 = fachequadrlatèrecachée(A1, R, U, Z)
poly6, q1, r1, s1, t1 = fachequadrlatèrecachée(W, S, V, T)
poly7, j, d1, e1, f1 = fachequadrlatèrecachée(E, E, T, V)
poly8, g1, h1, i1, j1 = fachequadrlatèrecachée(E, E, W, T)
f = Segment(F, G)
poly1, s_1, e_1, w_1 = Polygon(E, W, S)
H = Midpoint(F, G)
o = -1.6999999999999997 (slider from -5 to 5, step 0.1)
I = Midpoint(b1)
J = Midpoint(s1)
K = Midpoint(J, I)
k1 = Line(E, K)
L: (x(O), y(O) + o)
G1 = Point(poly7)
j2 = Segment(E, K)
N1 = (9.365238529932455, 2.8935228310066092)
k2 = Circle(N1, 1.7)
l2 = Line(N1, yAxis)
m2 = Line(N1, xAxis)
p2 = Circle(N1, 2.5)
O1, P1 = Intersect(k2, l2)
Q1, R1 = Intersect(p2, m2)
n2 = Line(O1, m2)
q2 = Line(P1, m2)
r2 = Line(Q1, l2)
s2 = Line(R1, r2)
S1 = Intersect(r2, q2)
U1 = Intersect(n2, r2)
V1 = Intersect(s2, n2)
W1 = Intersect(q2, s2)
poly12, u1_1, v1, w1, s1_1 = Polygon(U1, V1, W1, S1)
h3 = Line(E, L)
M2: (x(L), y(L) + 0.7)
i3 = Line(M2, t1)
M = Point(i3)
a = Line(M, b1)
N = Point(i3)
a2 = Line(N, a)
D1 = Point(a)
E1 = Mirror(D1, M)
b2 = Line(D1, n)
c2 = Line(E1, h)
F1 = Intersect(a2, b2)
H1 = Intersect(a2, c2)
poly3, h1_1, f1_1, d1_1, e1_1 = Polygon(H1, F1, D1, E1)
d2 = Line(N, M)
I1 = Midpoint(e1_1)
e2 = Line(I1, a)
J1 = Midpoint(M2, M)
K1 = Midpoint(J1, M)
L1 = Midpoint(J1, K1)
f2 = Line(L1, e2)
M1 = Intersect(a1, f2)
Z1 = Intersect(f2, p)
g2 = Line(Z1, n)
A2 = Intersect(s, g2)
h2 = Line(A2, f2)
B2 = Intersect(l, h2)
i2 = Line(B2, c1)
poly9, b2_1, a2_1, z1, m1_1 = Polygon(B2, A2, Z1, M1)
poly10, h1_2, f1_2, d1_2, e1_2 = Polygon(H1, F1, D1, E1)
poly11, b2_2, a2_2, z1_1, m1_2 = Polygon(B2, A2, Z1, M1)
C2 = Midpoint(z1)
D2 = Midpoint(a2_1)
E2 = Midpoint(m1_1)
F2 = Midpoint(E2, D2)
t2 = Segment(F2, D2)
a3 = Segment(F2, C2)
c3 = Circle(N1, t2 / 1.5)
d3 = Circle(N1, 1.8 * a3)
b3 = Line(O1, P1)
e3 = Line(Q1, N1)
G2, H2 = Intersect(d3, b3)
I2, J2 = Intersect(c3, e3)
f3 = Line(I2, b3)
g3 = Line(J2, f3)
j3 = Line(G2, e3)
k3 = Line(H2, e3)
K2 = Intersect(j3, f3)
L2 = Intersect(f3, k3)
N2 = Intersect(g3, j3)
O2 = Intersect(k3, g3)
poly13, k2_1, n2_1, o2, l2_1 = Polygon(K2, N2, O2, L2)
poly14, u1, v1_1, w1_1, s1_2 = Polygon(U1, V1, W1, S1)
poly15, k2_2, n2_2, o2_1, l2_2 = Polygon(K2, N2, O2, L2)

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)