0

4

8

12

16

surface [m²]

position de l'attache
de la corde [m]

(depuis l'angle
inférieur gauche)

animation

vitesse

lent

rapide

Cabane

4m

4m

Déplacer le point jaune
pour modifier le point
d'attache de la corde.

Représentation graphique de la surface

o = 0.527 (slider from 0 to 1, step 0.0010)
A = Intersect(xAxis, yAxis)
W = Point(yAxis)
ab_+ = Ray(A, (5.0, 0.0))
ad_- = Ray(A, (0.0, -1.0))
B: (4.0, y(A))
ab = Line(A, B)
Cabane, a, b, c, d, C, D = Polygon(A, B, 4.0)
bc = Line(B, C)
ad = Line(D, A)
cd = Line(D, C)
cd_- = Ray(D, (-1.0, 4.0))
bc_+ = Ray(C, (4.0, 5.0))
E = Point(Cabane)
place = If(Distance[E, a] ≟ 0.0, 1.0, If[Distance[E, b] ≟ 0.0, 2.0, If[Distance[E, c] ≟ 0.0, 3.0, 4.0]])
e = Circle(E, 8.0)
F = If(place ≟ 1.0, Intersect[e, OrthogonalLine[E, ab]], If[place ≟ 2.0, Intersect[e, OrthogonalLine[E, bc]], If[place ≟ 3.0, Intersect[e, OrthogonalLine[E, cd], 2.0], Intersect[e, OrthogonalLine[E, ad]]]])
F_2 = If(place ≟ 1.0, Intersect[e, ab_+], If[place ≟ 2.0, Intersect[e, bc_+], If[place ≟ 3.0, Intersect[e, cd_-], Intersect[e, ad_-]]])
d_2 = CircleArc(E, F, F_2)
f_3 = If(place ≟ 1.0, Circle[B, F_2], If[place ≟ 2.0, Circle[C, F_2], If[place ≟ 3.0, Circle[D, F_2], Circle[A, F_2]]])
G_2 = If(place ≟ 1.0, Intersect[f_3, bc_+], If[place ≟ 2.0, Intersect[f_3, cd_-], If[place ≟ 3.0, Intersect[f_3, ad_-], Intersect[f_3, ab_+]]])
e_2 = CircleArc(If[place ≟ 1.0, B, If[place ≟ 2.0, C, If[place ≟ 3.0, D, A]]], F_2, G_2)
ad_+ = Ray(D, (0.0, 5.0))
cd_+ = Ray(C, (5.0, 4.0))
bc_- = Ray(B, (4.0, -1.0))
ab_- = Ray(A, (-1.0, 0.0))
F_1 = If(place ≟ 1.0, Intersect[e, ab_-], If[place ≟ 2.0, Intersect[e, bc_-], If[place ≟ 3.0, Intersect[e, cd_+], Intersect[e, ad_+]]])
c_2 = CircleArc(E, F_1, F)
f_1 = If(place ≟ 1.0, Circle[A, F_1], If[place ≟ 2.0, Circle[B, F_1], If[place ≟ 3.0, Circle[C, F_1], Circle[D, F_1]]])
G_1 = If(place ≟ 1.0, Intersect[f_1, ad_+], If[place ≟ 2.0, Intersect[f_1, ab_-], If[place ≟ 3.0, Intersect[f_1, bc_-], Intersect[f_1, cd_+]]])
b_2 = CircleArc(If[place ≟ 1.0, A, If[place ≟ 2.0, B, If[place ≟ 3.0, C, D]]], G_1, F_1)
H_c: D + (y(G_1) - 4.0) * (1.0, 0.0)
H_d: A - x(G_1) * (0.0, 1.0)
H_a: B + y(G_1) * (1.0, 0.0)
H_b: C - (x(G_1) - 4.0) * (0.0, 1.0)
H = If(place ≟ 1.0, H_c, If[place ≟ 2.0, H_d, If[place ≟ 3.0, H_a, H_b]])
f_2 = CircleArc(If[place ≟ 1.0, C, If[place ≟ 2.0, D, If[place ≟ 3.0, A, B]]], G_2, H)
a_2 = CircleArc(If[place ≟ 1.0, D, If[place ≟ 2.0, A, If[place ≟ 3.0, B, C]]], H, G_1)
Z: W + (a_2, 0.0)
A_1: Z + (b_2, 0.0)
B_1: A_1 + (c_2, 0.0)
C_1: B_1 + (d_2, 0.0)
D_1: C_1 + (e_2, 0.0)
E_1: D_1 + (f_2, 0.0)
H_1: W + o * Vector[W, E_1]
posα = If(x(H_1) < x(Z), 1.0, If[x(H_1) < x(A_1), 2.0, If[x(H_1) < x(B_1), 3.0, If[x(H_1) < x(C_1), 4.0, If[x(H_1) < x(D_1), 5.0, 6.0]]]])
α_6 = If(place ≟ 3.0, -(x(H_1) - x(D_1)) / (x(E_1) - x(D_1)) * 90.0°, (x(H_1) - x(D_1)) / (x(E_1) - x(D_1)) * 90.0°)
α_5 = If(place ≟ 3.0, -(x(H_1) - x(C_1)) / (x(D_1) - x(C_1)) * 90.0°, (x(H_1) - x(C_1)) / (x(D_1) - x(C_1)) * 90.0°)
α_4 = If(place ≟ 3.0, -(x(H_1) - x(B_1)) / (x(C_1) - x(B_1)) * 90.0°, (x(H_1) - x(B_1)) / (x(C_1) - x(B_1)) * 90.0°)
α_3 = If(place ≟ 3.0, -(x(H_1) - x(A_1)) / (x(B_1) - x(A_1)) * 90.0°, (x(H_1) - x(A_1)) / (x(B_1) - x(A_1)) * 90.0°)
α_1 = If(place ≟ 3.0, -(x(H_1) - x(W)) / (x(Z) - x(W)) * 90.0°, (x(H_1) - x(W)) / (x(Z) - x(W)) * 90.0°)
α_2 = If(place ≟ 3.0, -(x(H_1) - x(Z)) / (x(A_1) - x(Z)) * 90.0°, (x(H_1) - x(Z)) / (x(A_1) - x(Z)) * 90.0°)
cote: {a, b, c, d}
f = CircleSector(E, F_1, F)
h = CircleSector(E, F, F_2)
k = CircleSector(If[place ≟ 1.0, A, If[place ≟ 2.0, B, If[place ≟ 3.0, C, D]]], G_1, F_1)
p = CircleSector(If[place ≟ 1.0, B, If[place ≟ 2.0, C, If[place ≟ 3.0, D, A]]], F_2, G_2)
q = CircleSector(If[place ≟ 1.0, D, If[place ≟ 2.0, A, If[place ≟ 3.0, B, C]]], H, G_1)
r = CircleSector(If[place ≟ 1.0, C, If[place ≟ 2.0, D, If[place ≟ 3.0, A, B]]], G_2, H)
G = Point(xAxis)
i = OrthogonalLine(G, xAxis)
I: G + B - A
J: I + B - A
K: J + B - A
t(x) = 3.141592653589793 * (8.0 - x)^(2.0) / 4.0 + 3.141592653589793 * (4.0 - x)^(2.0) / 4.0 + 3.141592653589793 * (x + 4.0)^(2.0) / 4.0 + 3.141592653589793 * x^(2.0) / 4.0 + 3.141592653589793 * 32.0
j = OrthogonalLine(I, xAxis)
l = OrthogonalLine(J, xAxis)
m = OrthogonalLine(K, xAxis)
M = If(place ≟ 1.0, G + (x(E), 0.0), If[place ≟ 2.0, I + (y(E), 0.0), If[place ≟ 3.0, J + (4.0 - x(E), 0.0), K + (4.0 - y(E), 0.0)]])
L: K + B - A
k_1 = Function(t(x - x(G)) / 10.0, x(G), x(I))
k_2 = Function(t(x - x(I)) / 10.0, x(I), x(J))
k_3 = Function(t(x - x(J)) / 10.0, x(J), x(K))
k_4 = Function(t(x - x(K)) / 10.0, x(K), x(L))
n = OrthogonalLine(L, xAxis)
rouge = If(place ≟ 1.0, {Segment[A, E]}, If[place ≟ 2.0, {Segment[A, B], Segment[B, E]}, If[place ≟ 3.0, {Segment[A, B], Segment[B, C], Segment[C, E]}, {Segment[A, B], Segment[B, C], Segment[C, D], Segment[D, E]}]])
a_1 = Segment(G, M)
N = Point(yAxis)
b_1 = OrthogonalLine(N, yAxis)
O = Intersect(i, b_1)
P = Intersect(j, b_1)
Q = Intersect(l, b_1)
R = Intersect(m, b_1)
S = Intersect(n, b_1)
d_1 = Segment(I, P)
e_1 = Segment(Q, J)
i_1 = Segment(K, R)
j_1 = Segment(S, L)
u = Vector(G, O)
T: L + (2.0, 0.0)
v = Vector(G, T)
r_1 = Function(t(x - x(L)) / 10.0, x(L), x(L) + 1.5)
c_1 = OrthogonalLine(M, v)
g_1 = Function(If[x < x(I), k_1(x), If[x < x(J), k_2(x), If[x < x(K), k_3(x), k_4(x)]]], x(G), x(L))
U = Intersect(g_1, c_1, (12.932246359892275, 17.59291886010284))
V: (x(G), y(U))
h_1 = Segment(U, M)
l_1 = Segment(U, V)
texte1: y(V) * 10.0 + "m²"
x' = If(place ≟ 1.0, x(M) - x(G), If[place ≟ 2.0, x(M) - x(I), If[place ≟ 3.0, x(M) - x(J), x(M) - x(K)]])
p_1 = Segment(F_1, F_2)
q_1 = Segment(F, E)
w = false
z = 1 (slider from 1 to 5, step 0.1)
vitesse = If(w, z, 0.0)
Vache2 = If(posα ≟ 1.0, Rotate[H, -(α_1), Center[a_2]], If[posα ≟ 2.0, Rotate[G_1, -(α_2), Center[b_2]], If[posα ≟ 3.0, Rotate[F_1, -(α_3), Center[c_2]], If[posα ≟ 4.0, Rotate[F, -(α_4), Center[d_2]], If[posα ≟ 5.0, Rotate[F_2, -(α_5), Center[e_2]], Rotate[G_2, -(α_6), Center[f_2]]]]]])
o_1 = false
g = Segment(If[place ≟ 1.0, D, If[place ≟ 2.0, A, If[place ≟ 3.0, B, C]]], G_1)
s = Segment(If[place ≟ 1.0, C, If[place ≟ 2.0, D, If[place ≟ 3.0, A, B]]], G_2)
Vache1 = If(posα ≟ 1.0, Rotate[H, α_1, Center[a_2]], If[posα ≟ 2.0, Rotate[G_1, α_2, Center[b_2]], If[posα ≟ 3.0, Rotate[F_1, α_3, Center[c_2]], If[posα ≟ 4.0, Rotate[F, α_4, Center[d_2]], If[posα ≟ 5.0, Rotate[F_2, α_5, Center[e_2]], Rotate[G_2, α_6, Center[f_2]]]]]])
Vache = If(place ≟ 3.0, Vache2, Vache1)
m_1 = If(posα ≟ 1.0, Segment[Vache, Center[a_2]], If[posα ≟ 2.0, Segment[Vache, Center[b_2]], If[posα ≟ 3.0, Segment[Vache, Center[c_2]], If[posα ≟ 4.0, Segment[Vache, Center[d_2]], If[posα ≟ 5.0, Segment[Vache, Center[e_2]], Segment[Vache, Center[f_2]]]]]])