Je cherche à transformer une ligne de points (A), aux distances variables
(liste: p1 p2p3p4...),
en un cercle (B) conservant les proportions de distance entre chaque points,
quelque soit son rayon. Afin de "boucler" le cercle on ajoute à la liste
des distances la distance entre le dernier et le premier point calculé en faisant la moyenne des autres distances...
A)
p1 p2 p3 p4 p5
O--O----O-O-O
B)
2 3
O _ _ _ _ O
/ \4
1 / O
O 5 /
\ _ _ _ _ O
la fonction suivante (script Lingo) transforme la position des points d'une
ligne sur un cercle mais ils ne conservent pas les proportions de distance :
cL = 2*PI*RayonVariable
ang = -90
maxC = integer(cL/360)
cO = (360).float/maxC
repeat with x = 1 to disTot
mX = s.model(modelList[x])
distX = listeDesDistances[x]
lX = fR *sin(ang*PI/180)
lZ = fR *cos(ang*PI/180)
ang = ang + cO + distX <-------- ?
CercleVariable = vector ( lX + pol.worldposition[1], 0, lZ +
pol.worldposition[3])
mX.worldposition = mX.worldposition + ( CercleVariable -
mX.worldposition)*.2
end repeat
Comme je suis assez mauvais en math j'ai essayé plusieurs combinaisons par
tattonement; mais sans succès
