
Envoyé par
MSN9149
je comprends pas vraiment ce que tu veux dire par recalculer la position ideale?
Plutot que de s'occuper seulement des points problématiques (trop près/éloignés), on recalcule la position de TOUS les points.
Voila comme je procède personnellement pour le recalcule (cf la méthode rebuild de la contribution).
Au départ, on a un Snake est composé d'une suite de M points {P1, P2, ... ,Pm}.
- On calcule la longueur du Snake = clength.
- On divise cette longueur par l'espacement moyen voulu "space", ce qui nous donne le nouveau nombre de points dans le Snake = clength/space = N.
- On crée donc un nouveau Snake composé de N points {Q1, Q2, ..., Qn}. Chaque point Qi est calculé en interpolant les coordonnées des points correspondants dans le snake de départ.
J'ai utilisé une représentation paramétrique du snake pour simplifier le calcul : Snake(t), avec t variant entre 0 et clength.
Snake
original P1--P2----P3---------P4-------P5----P6-- .... ----Pm
paramètre |-----------|-----------|------------|-- .... ----|
0 space 2*space 3*space clength
Snake
recalculé Q1----------Q2----------Q3----------Q4-- .... ----Qn
Partager