DÉPLACER CURSEUR ET OBJET D'UN POINT A À UN POINT B EN DROITE LIGNE EN MODULANT

cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015 - 26 sept. 2012 à 10:44
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015 - 26 sept. 2012 à 10:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/54616-deplacer-curseur-et-objet-d-un-point-a-a-un-point-b-en-droite-ligne-en-modulant-la-vitesse

cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
26 sept. 2012 à 10:44
Salut,
pour dessiner/suivre une ligne droite, plutôt que de calculer x/y, il est nettement plus efficace d'utiliser un accumulateur et de changer de pixel lorsque celui-ci saturé :

dim dX as integer
dim dY as Integer

dX=x1-x2
dY=y1-y2

dim accumulateur as integer
accumulateur = 0

if dX>dY then
for x=x1 to x2
accumulateur = accumulateur + dY
if (accumulateur > dX) then
accumulateur = accumulateur - dX
y = y + 1
end if
next
else if dX>dY then ...