2009-08-25 13 views
0

J'essaye de lerp entre deux points CG pour obtenir les valeurs de tous les pixels entre les deux. J'essaie de trouver une solution plus simple puisque maintenant j'ai un désordre récursif confus.Lerp entre deux points CGP pour obtenir des valeurs de tous les pixels entre?

Le problème est que le lissage entre deux points produit un point entre les deux. Maintenant, j'ai deux groupes de points à parcourir ...

Il doit y avoir un moyen plus facile.

Répondre

1

Il semble que vous fassiez l'équivalent d'une ligne entre deux points. Et, en effet, les approches simples telles que la sélection récursive des points intermédiaires ou se déplaçant entre les deux points "un peu à la fois" ne sont pas très attrayants. Je suis sûr que vous pouvez adapter l'algorithme de dessin de la ligne de Breshenham à la tâche:

http://en.wikipedia.org/wiki/Bresenham's_line_algorithm

La caractéristique essentielle de l'algorithme est de regarder les deux points et décider si la ligne la plupart du temps se déplace en X ou en Y. Autrement dit, "surtout X" signifie que la ligne est plus proche de l'horizontale, "la plupart du temps Y" signifie plus proche de la verticale. Il garantit ensuite que chaque itération vous donne un nouveau pixel et déplace exactement le nombre de pixels dans la direction X (ou Y) si nécessaire.

Et, d'ailleurs, c'est cool.