Hello tout le monde, je suis de retour.
Je vois que vous vous interrogez sur ma façon de dessiner les points entre 2 points, puis les points entre 4 points. Le premier cas, c’est l’interpolation entre les deux points d’une arête du cube. Le second, c’est l’interpolation entre les quatre sommets d’une face.
Chacune de ces interpolations est soit linéaire, soit cosinus (c’est moi qui décide, en fonction de… de ce que je veux tester, voir, comprendre, bref).
Interpolations linéaires et cosinus de deux points d’une arête du cube
Interpolation linéaire
La fonction d’interpolation linéaire des deux points est : $wA + (1-w)B$.
Je réalise récursivement des incrémentations sur $w$ avec un pas que je choisi de façon à avoir un nombre de points qui me satisfait. Par exemple, avec un pas $0.5$, mon programme trouvera les points suivants :
$0A + 0B$, qui cependant n’est pas dessiné car la somme des poids, devant valoir 1, vaut 0
$0A + 0.5B$, qui cependant n’est pas dessiné car la somme des poids, devant valoir 1, vaut 0.5
$0A + 1B$
$0.5A + 0B$, qui cependant n’est pas dessiné car la somme des poids, devant valoir 1, vaut 0.5
$0.5A + 0.5B$
$0.5A + 1B$, qui cependant n’est pas dessiné car la somme des poids, devant valoir 1, vaut 1.5
$1A + 0B$
$1A + 0.5B$, qui cependant n’est pas dessiné car la somme des poids, devant valoir 1, vaut 1.5
$1A + 1B$, qui cependant n’est pas dessiné car la somme des poids, devant valoir 1, vaut 2
Avec un pas $<0.5$, je trouverais davantage de points non-dessinés et davantage de points dessinés.
Cette façon de calculer tous les points par interpolation est la même que l’interpolation soit linéaire ou cosinus.
Interpolation cosinus
La fonction est : $w'A + (1-w')B$, avec $w'=(1 - cos(w * \pi)) * 0.5$. Comment ai-je trouvé cette égalité ? L’idée est que j’utilise $cos$ définie sur $[0;\pi]$, qui donne des images comprises dans $[-1;1]$. Je dois transformer $w$ de façon à ce qu’il soit compris entre $[0;\pi]$, c’est-à-dire le multiplier par $\pi$, puis transformer $cos(w*\pi)$ de façon à avoir un $w'$ compris entre $[0;1]$, c’est-à-dire d’abord ajouter $1$ (obtenant ainsi l’intervalle $[0; 2]$) puis diviser par $0.5$, obtenant : $[0;1]$.
Interpolations linéaires et cosinus des 4 points d’une face du cube
Cette fois-ci, il y a 4 points : $A, B, C, D$. Mais l’idée demeure identique : l’interpolation est définie par 4 poids multipliés chacun par son point correspondant, au lieu d’être définie par 2 poids multipliés chacun par son point correspondant. Soit :
$aA + bB + cC + dD$ (vous noterez que j’aurais pu utiliser cette notation dans la partie "Interpolations linéaires et cosinus de deux points d’une arête du cube" au lieu d’écrire par exemple $(1-w)$).
Donc toujours pareil, je fais récursivement des itérations sur les points $a,b,c,d$, je teste toutes les combinaisons possibles comme je vous l’ai montrée plus haut. Je ne dessine que les points qui ont une somme des poids $= 1$.
Les poids sont définis par les fonctions d’interpolation linéaire OU BIEN, selon mon gré, d’interpolation cosinus. J’ai donné les définitions de ces fonctions en haut.
Voilà voilà… j’espère que ce que j’ai fait est plus clair et que ça peut vous aider à m’aider