Si tu veux faire une ensemble de spirales, tu peux très bien ajouter un offset à la valeur de l'angle:
au lieu de faire
Tu fais
Avec
ou
suivant si cos() et sin() sont en radians (1er code) ou en degres (2e code).
Ainsi, tu auras une superposition de spirales mono-branches:
Les points d'une branche numéro k, dans une spirale de N branches issue de ton code, sont tout simplement les points dont (i+k) est divisible par N (autrement dit, dont (i+k)%N == 0, équivalent à (i%N) == (k%N), (k%N) pouvant être simplifié par k tout seul si 0 <= k < N ).
Le flatras de if précédents se simplifie donc:
au lieu de faire
Code :
angle = P1*P2*i
Tu fais
Code :
angle=P1*P2*i+offset
Avec
Code :
offset=2*Pi*(indiceBrancheCourante/nombreBranchesTotal)
Code :
offset=360*(indiceBrancheCourante/nombreBranchesTotal)
Ainsi, tu auras une superposition de spirales mono-branches:
Les points d'une branche numéro k, dans une spirale de N branches issue de ton code, sont tout simplement les points dont (i+k) est divisible par N (autrement dit, dont (i+k)%N == 0, équivalent à (i%N) == (k%N), (k%N) pouvant être simplifié par k tout seul si 0 <= k < N ).
Le flatras de if précédents se simplifie donc:
Code :
if (configSpiral.branch[ (i%configSpiral.numberBranch) ])
itp(i, dimension, couleur, x, y);