La formule présentée s'implémente très facilement: il s'agit d'une double-boucle de variables u
et v
variant entre 0 et 1.
Si tes points sont représentés par A(xA, yA, zA)
, B(xB, yB, zB)
et C(xC, yC, zC)
, alors tous les points de ton triangle (en 3D, donc), seront les points M(x, y, z)
définis par :
1 2 3 | x = xA + u * (xB - xA) + v * (xC - xA) y = yA + u * (yB - yA) + v * (yC - yA) z = zA + u * (zB - zA) + v * (zC - zA) |
tels que u + v ≤ 1
(sinon, tu représentes un parallélogramme), c'est donc une condition à ajouter à ta seconde boucle (en ayant 1 - u
comme valeur maximale plutôt que u
).
EDIT:
Pour le moment, je préfère le garder privé.
Dans quel but ? Si c'est par crainte qu'on te vole ton code/projet, c'es infondé et tu peux poster le code.
+3
-0