0°

90°

90°

90°

10°

20°

30°

40°

50°

60°

70°

80°

Left fin

Right fin

P = (9.257094133310678, -0.03409421829409218)
ULC = (3.5863652587745434, 12.610424633863055)
LLC: (x(ULC), y(P))
LRC: ((2 * x(P)) - x(LLC), y(P))
URC: (x(LRC), y(ULC))
M: (ULC + URC) / 2
f = Segment(P, M)
Overhang = Point(f)
alpha: ((Distance[P, Overhang] / Distance[P, M] * 90))°
V1 = NaN
V_1: ((8 * P) + M) / 9
V_2: ((7 * P) + (2 * M)) / 9
V_3: ((6 * P) + (3 * M)) / 9
V_4: ((5 * P) + (4 * M)) / 9
V_5: ((4 * P) + (5 * M)) / 9
V_6: ((3 * P) + (6 * M)) / 9
V_7: ((2 * P) + (7 * M)) / 9
V_8: (P + (8 * M)) / 9
VL = Sequence((((9 - i) * LLC) + (i * ULC)) / 9, i, 1, 8)
VR = Sequence((((9 - i) * LRC) + (i * URC)) / 9, i, 1, 8)
Hlines = Sequence(Segment[VL(i), VR(i)], i, 1, 8)
HLL = Sequence((((6 - i) * LLC) + (i * P)) / 6, i, 1, 5)
HLR = Sequence(((i * P) + ((6 - i) * LRC)) / 6, i, 1, 5)
HUL = Sequence((((6 - i) * ULC) + (i * M)) / 6, i, 1, 5)
HUR = Sequence(((i * M) + ((6 - i) * URC)) / 6, i, 1, 5)
VLlines = Sequence(Segment[HLL(i), HUL(i)], i, 1, 5)
VRlines = Sequence(Segment[HLR(i), HUR(i)], i, 1, 5)
g = Segment(ULC, LLC)
h = Segment(LLC, LRC)
i = Segment(LRC, URC)
j = Segment(URC, ULC)
AngleCaps: {"75°", "60°", "45°", "30°", "15°"}
HLLlabels = Sequence(Text[AngleCaps(i), HLL(i) + (-0.25, -0.45)], i, 1, 5)
HLRlabels = Sequence(Text[AngleCaps(i), HLR(i) + (-0.25, -0.45)], i, 1, 5)
altitude(beta) = atand((tan(alpha) * cos(beta)))
MaskOverhang = CurveCartesian((((π - (2 * beta)) * x(P)) + ((2 * beta) * x(LRC))) / π, (((π - (2 * altitude(beta))) * y(P)) + ((2 * altitude(beta)) * y(M))) / π, beta, ((-π)) / 2, π / 2)
altf = Sequence(atand((tan(((i * 10))°) * cos(x))), i, 1, 8)
MaskBackground = Sequence(CurveCartesian[(((π - (2 * beta)) * x(P)) + ((2 * beta) * x(LRC))) / π, (((π - (2 * altf(i, beta))) * y(P)) + ((2 * altf(i, beta)) * y(M))) / π, beta, ((-π)) / 2, π / 2], i, 1, 8)
FinLeft = Point(Segment[LLC, P])
FinLeftU = Intersect(Segment[ULC, M], OrthogonalLine[FinLeft, Segment[LLC, P]])
MaskLeftFin = Segment(FinLeft, FinLeftU)
FinRight = Point(Segment[P, LRC])
FinRightU = Intersect(Segment[ULC, URC], OrthogonalLine[FinRight, Segment[P, LRC]])
MaskRightFin = Segment(FinRight, FinRightU)
bet(x) = (π * (x - x(P)) / ((2 * (x(LRC) - x(P)))))
RegionOverhang(x, y) = x(ULC) ≤ x ∧ x ≤ x(URC) ∧ y ≤ y(M) ∧ (((π - (2 * altitude(bet(x)))) * y(P)) + ((2 * altitude(bet(x))) * y(M))) / π ≤ y
RegionFinLeft(x, y) = x(ULC) ≤ x ∧ x ≤ x(FinLeft) ∧ y(P) ≤ y ∧ y ≤ y(M)
RegionFinRight(x, y) = x(FinRight) ≤ x ∧ x ≤ x(LRC) ∧ y(P) ≤ y ∧ y ≤ y(M)
ImageLLC = (-2.06, -1.16)