Épaisseur de l'anneau

Largeur en cm de 1° sur l'anneau

longueur de l'anneau

demi longueur de l'anneau

PhM - Juillet 2016 -- CRAL Obs. Lyon - France

b = -4 (slider from -6 to -4, step 0.1)
e = 2.3 (slider from 0 to 3, step 0.1)
j = Vector((0, 1))
i = Vector((1, 0))
d = 0.2 (slider from 0 to 0.5, step 0.05)
l: (180 * d)
dl: l / 2
r: l / ((2 * 3.141592653589793))
dmm: (d * 10)
texte3: "Rayon de l'anneau : " + r + " cm"
F: (0, b)
G: F + (dl * i)
FF: F - (e * j)
BC: G + i
GG: F + (dl * i) - (e * j)
CC_1: GG + i
axeSym = Line((0, b + 0.5), i)
Rect1, a, segG, c, segF = Polygon(F, G, GG, FF)
GG' = Mirror(F, axeSym)
FF' = Mirror(G, axeSym)
F' = Mirror(GG, axeSym)
G' = Mirror(FF, axeSym)
Rect2, a', segF', c', segG' = Polygon(GG', FF', F', G')
f = Segment(GG, CC_1)
g = Segment(CC_1, BC)
h = Segment(BC, G)
CC' = Mirror(CC_1, axeSym)
BC' = Mirror(BC, axeSym)
k = Segment(FF', BC')
m = Segment(BC', CC')
n = Segment(CC', F')
B = Translate(F', Vector[(((-l)) / 8 * i)])
BB = Translate(FF', Vector[(((-l)) / 8 * i)])
segB = Segment(B, BB)
C = Translate(B, Vector[(((-l)) / 8 * i)])
CC = Translate(BB, Vector[(((-l)) / 8 * i)])
segC = Segment(C, CC)
segMedia' = Segment(Midpoint[segF'], Midpoint[segG'])
Gquarth' = Translate(Midpoint[segF'], Vector[(e / 4 * j)])
Fquarth' = Translate(Midpoint[segG'], Vector[(e / 4 * j)])
segQh' = Segment(Gquarth', Fquarth')
Gquartb' = Translate(Midpoint[segF'], Vector[(((-e)) / 4 * j)])
Fquartb' = Translate(Midpoint[segG'], Vector[(((-e)) / 4 * j)])
segQb' = Segment(Gquartb', Fquartb')
A = Intersect(segC, segQh')
D = Intersect(segC, segQb')
p = Circle(A, e / 6)
q = Circle(D, e / 6)
E = Intersect(segB, segMedia')
segMedia = Segment(Midpoint[segF], Midpoint[segG])
Gquarth = Translate(Midpoint[segG], Vector[(e / 4 * j)])
Fquarth = Translate(Midpoint[segF], Vector[(e / 4 * j)])
Fquartb = Translate(Midpoint[segF], Vector[(((-e)) / 4 * j)])
Gquartb = Translate(Midpoint[segG], Vector[(((-e)) / 4 * j)])
segQh = Segment(Fquarth, Gquarth)
segQb = Segment(Fquartb, Gquartb)
Graddiz_z = Sequence(Segment[((dl / 9 * i), b - e / 4), ((dl / 9 * i), b - e / 4 - e / 5)], i, 1, 8)
Graddiz_h = Sequence(Segment[((dl / 9 * i), b - (3 * e / 4)), ((dl / 9 * i), b - (3 * e / 4) + e / 5)], i, 1, 8)
Gradunit_h = Sequence(Segment[((dl / 90 * i), b - (3 * e / 4)), ((dl / 90 * i), b - (3 * e / 4) + e / 10)], i, 1, 89)
Gradunit_z = Sequence(Segment[((dl / 90 * i), b - e / 4), ((dl / 90 * i), b - e / 4 - e / 10)], i, 1, 89)
Gradcinq_z = Sequence(Segment[((dl / 18 * i), b - e / 4), ((dl / 18 * i), b - e / 4 - e / 7)], i, 1, 17)
Gradcinq_h = Sequence(Segment[((dl / 18 * i), b - (3 * e / 4)), ((dl / 18 * i), b - (3 * e / 4) + e / 7)], i, 1, 17)
Gradzerocinq_h = Sequence(Segment[((dl / 180 * i), b - (3 * e / 4)), ((dl / 180 * i), b - (3 * e / 4) + e / 18)], i, 1, 179)
Gradzerocinq_z = Sequence(Segment[((dl / 180 * i), b - e / 4), ((dl / 180 * i), b - e / 4 - e / 18)], i, 1, 179)
texte1: "Circonférence de l'anneau : " + l + " cm"
texte2: "1° sur l'anneau c'est " + dmm + " mm"
texte8 = Text("hauteurs", (0.5, b + 1 + e / 9))
texte9 = Text("distances zénithales", (0.5, b + 1 + (7.5 * e / 9)))
TexteGrad_z = Sequence(Text[90 - (10 * n), (-0.1, b + d - e / 4) + ((i * dl / 9) * n)], n, 0, 9, 1)
TexteGrad_h = Sequence(Text[(10 * n), (-0.1, b + d - e) + ((i * dl / 9) * n)], n, 0, 9, 1)
texte5 = Text(90, (-0.1, b + 1 + e / 9))
texte4 = Text(0, (-0.1, b + 1 + (7.5 * e / 9)))
texte7 = Text(90, (dl - 0.1, b + 1 + (7.5 * e / 9)))
texte6 = Text(0, (dl - 0.1, b + 1 + e / 9))