9e NO176 Intersections

Les deux carrés n'ont qu'un point en commun.

Les deux carrés ne se coupent pas (intersection vide).

Les deux carrés n'ont qu'une arête ou partie d'arête en commun.

A = (1, 6)
B = (5, 6)
carre1, a, b, c, d, C, D = Polygon(A, B, 4.0)
E = (0, 8)
F = (3, 5)
carre2, e, f, g, h, G, H = Polygon(E, F, 4.0)
sommets1: {A, B, C, D}
sommets2: {E, F, G, H}
aretes1: {a, b, c, d}
aretes2: {e, f, g, h}
sSurAr = Union(Union[RemoveUndefined[Element[Sequence[Sequence[Intersect[Element[aretes1, i], Element[aretes2, j]], i, 1.0, 4.0], j, 1.0, 4.0], 1.0]], RemoveUndefined[Element[Sequence[Sequence[Intersect[Element[aretes1, i], Element[aretes2, j]], i, 1.0, 4.0], j, 1.0, 4.0], 2.0]]], Union[RemoveUndefined[Element[Sequence[Sequence[Intersect[Element[aretes1, i], Element[aretes2, j]], i, 1.0, 4.0], j, 1.0, 4.0], 3.0]], RemoveUndefined[Element[Sequence[Sequence[Intersect[Element[aretes1, i], Element[aretes2, j]], i, 1.0, 4.0], j, 1.0, 4.0], 4.0]]])
cond2en1 = Sequence(If[Angle[Element[sommets2, i], A, D] < 3.141592653589793 / 2.0 ∧ Angle[B, A, Element[sommets2, i]] < 3.141592653589793 / 2.0 ∧ Angle[Element[sommets2, i], C, B] < 3.141592653589793 / 2.0 ∧ Angle[D, C, Element[sommets2, i]] < 3.141592653589793 / 2.0, 1.0, 0.0], i, 1.0, 4.0)
cond1en2 = Sequence(If[Angle[Element[sommets1, i], E, H] < 3.141592653589793 / 2.0 ∧ Angle[F, E, Element[sommets1, i]] < 3.141592653589793 / 2.0 ∧ Angle[Element[sommets1, i], G, F] < 3.141592653589793 / 2.0 ∧ Angle[H, G, Element[sommets1, i]] < 3.141592653589793 / 2.0, 1.0, 0.0], i, 1.0, 4.0)
s2en1 = RemoveUndefined(Sequence[If[Element[cond2en1, i] ≟ 1.0, Element[sommets2, i]], i, 1.0, 4.0])
s1en2 = RemoveUndefined(Sequence[If[Element[cond1en2, i] ≟ 1.0, Element[sommets1, i]], i, 1.0, 4.0])
sommets = Union(Union[s1en2, s2en1], sSurAr)
card = Length(sommets)
S_1 = Element(Sort[sommets], 1.0)
S_2 = Element(Intersection[Element[Sequence[Sequence[Rotate[Element[Sequence[Element[Sort[sommets], 1.0] + (0.0, -1.0) * Distance[Element[Sort[sommets], 1.0], Element[Sort[sommets], n]], n, 2.0, Length[sommets]], i], Element[Sort[Sequence[Angle[Element[Sort[sommets], 1.0] + (0.0, -1.0), Element[Sort[sommets], 1.0], Element[Sort[sommets], i]], i, 2.0, Length[sommets]]], j], Element[Sort[sommets], 1.0]], i, 1.0, Length[sommets] - 1.0], j, 1.0, Length[sommets] - 1.0], 1.0], sommets], 1.0)
S_3 = Element(Intersection[Element[Sequence[Sequence[Rotate[Element[Sequence[Element[Sort[sommets], 1.0] + (0.0, -1.0) * Distance[Element[Sort[sommets], 1.0], Element[Sort[sommets], n]], n, 2.0, Length[sommets]], i], Element[Sort[Sequence[Angle[Element[Sort[sommets], 1.0] + (0.0, -1.0), Element[Sort[sommets], 1.0], Element[Sort[sommets], i]], i, 2.0, Length[sommets]]], j], Element[Sort[sommets], 1.0]], i, 1.0, Length[sommets] - 1.0], j, 1.0, Length[sommets] - 1.0], 2.0], sommets], 1.0)
S_4 = Element(Intersection[Element[Sequence[Sequence[Rotate[Element[Sequence[Element[Sort[sommets], 1.0] + (0.0, -1.0) * Distance[Element[Sort[sommets], 1.0], Element[Sort[sommets], n]], n, 2.0, Length[sommets]], i], Element[Sort[Sequence[Angle[Element[Sort[sommets], 1.0] + (0.0, -1.0), Element[Sort[sommets], 1.0], Element[Sort[sommets], i]], i, 2.0, Length[sommets]]], j], Element[Sort[sommets], 1.0]], i, 1.0, Length[sommets] - 1.0], j, 1.0, Length[sommets] - 1.0], 3.0], sommets], 1.0)
S_5 = Element(Intersection[Element[Sequence[Sequence[Rotate[Element[Sequence[Element[Sort[sommets], 1.0] + (0.0, -1.0) * Distance[Element[Sort[sommets], 1.0], Element[Sort[sommets], n]], n, 2.0, Length[sommets]], i], Element[Sort[Sequence[Angle[Element[Sort[sommets], 1.0] + (0.0, -1.0), Element[Sort[sommets], 1.0], Element[Sort[sommets], i]], i, 2.0, Length[sommets]]], j], Element[Sort[sommets], 1.0]], i, 1.0, Length[sommets] - 1.0], j, 1.0, Length[sommets] - 1.0], 4.0], sommets], 1.0)
S_6 = Element(Intersection[Element[Sequence[Sequence[Rotate[Element[Sequence[Element[Sort[sommets], 1.0] + (0.0, -1.0) * Distance[Element[Sort[sommets], 1.0], Element[Sort[sommets], n]], n, 2.0, Length[sommets]], i], Element[Sort[Sequence[Angle[Element[Sort[sommets], 1.0] + (0.0, -1.0), Element[Sort[sommets], 1.0], Element[Sort[sommets], i]], i, 2.0, Length[sommets]]], j], Element[Sort[sommets], 1.0]], i, 1.0, Length[sommets] - 1.0], j, 1.0, Length[sommets] - 1.0], 5.0], sommets], 1.0)
S_7 = Element(Intersection[Element[Sequence[Sequence[Rotate[Element[Sequence[Element[Sort[sommets], 1.0] + (0.0, -1.0) * Distance[Element[Sort[sommets], 1.0], Element[Sort[sommets], n]], n, 2.0, Length[sommets]], i], Element[Sort[Sequence[Angle[Element[Sort[sommets], 1.0] + (0.0, -1.0), Element[Sort[sommets], 1.0], Element[Sort[sommets], i]], i, 2.0, Length[sommets]]], j], Element[Sort[sommets], 1.0]], i, 1.0, Length[sommets] - 1.0], j, 1.0, Length[sommets] - 1.0], 6.0], sommets], 1.0)
S_8 = Element(Intersection[Element[Sequence[Sequence[Rotate[Element[Sequence[Element[Sort[sommets], 1.0] + (0.0, -1.0) * Distance[Element[Sort[sommets], 1.0], Element[Sort[sommets], n]], n, 2.0, Length[sommets]], i], Element[Sort[Sequence[Angle[Element[Sort[sommets], 1.0] + (0.0, -1.0), Element[Sort[sommets], 1.0], Element[Sort[sommets], i]], i, 2.0, Length[sommets]]], j], Element[Sort[sommets], 1.0]], i, 1.0, Length[sommets] - 1.0], j, 1.0, Length[sommets] - 1.0], 7.0], sommets], 1.0)
poly3, s_3, s_1, s_2 = Polygon(S_1, S_2, S_3)
poly4, s_4, s_5, s_6, s_7 = Polygon(S_1, S_2, S_3, S_4)
poly5, s_8, s_9, s_{10}, s_{11}, s_{12} = Polygon(S_1, S_2, S_3, S_4, S_5)
poly6, s_{13}, s_{14}, s_{15}, s_{16}, s_{17}, s_{18} = Polygon(S_1, S_2, S_3, S_4, S_5, S_6)
poly7, s_{19}, s_{20}, s_{21}, s_{22}, s_{23}, s_{24}, s_{25} = Polygon(S_1, S_2, S_3, S_4, S_5, S_6, S_7)
poly8, s_{26}, s_{27}, s_{28}, s_{29}, s_{30}, s_{31}, s_{32}, s_{33} = Polygon(S_1, S_2, S_3, S_4, S_5, S_6, S_7, S_8)
inter = If(card ≟ 8.0, poly8, If[card ≟ 7.0, poly7, If[card ≟ 6.0, poly6, If[card ≟ 5.0, poly5, If[card ≟ 4.0, poly4, If[card ≟ 3.0, poly3]]]]])
rap1: inter / carre1
rap2: inter / carre2
texte1: "L'intersection\; correspond\; à\; " + (FractionText[rap1]) + "\; du\; carré\; vert\; et\; à\; " + (FractionText[rap2]) + "\; du\; carré\; rose."