Chap II. Programmation 3D
[5,7,9,10,12]
II.1. Introduction
Dans le chapitre précédent, nous avons
parlé de la généralité sur la modélisation
3D. Etant informaticien, la généralité sans
pratique ; ne nous ramène à rien. Voilà pourquoi nous
abordons ce chapitre dans lequel on va donner les éclaircissements sur
ce que ce la programmation 3D. Elle se défini comme étant effet
d'établir ou de réaliser un programme.
En outre, pour bien faire notre programmation, on doit bien
comprendre la nuance qu'il y a dans les différents types d'algorithme de
base pour la programmation 3D à savoir :
ü L'algorithme 2D ;
ü L'algorithme 3D.
En plus de ça, on doit connaitre quelques
bibliothèques qui permettent à ce qu'on puisse effectuer cette
programmation. Il en a plusieurs mais quand à ce chapitre, nous avons
choisi les plus utilisé et les plus fréquenté par les
développeurs en 3D. Entre autre :
ü OpenGL ;
ü DirectX ;
ü Java3D.
II.2. L'algorithme de base
deux dimensions [5]
Parlant de l'algorithme 2D, on ne traite que des moyens
d'effectuer le dessin des éléments graphiques de base sur une
grille discrète (Ecran d'ordinateur). Ces moyens en deux dimensions sont
celles qui sont utilisées pour l'affichage de tout objet graphique.
La représentation d'un objet en trois dimensions n'est
faite qu'après sa projection sur le plan 2D de l'image, et se finalise
donc par un ensemble de primitives (Dessin) en deux dimensions. Il est donc
important de disposer d'algorithmes trop efficaces. Etant dans le 2D, on a deux
axe : x et y.
Pour la modélisation 2D, nous avons trois types
d'algorithme à savoir :
ü Traçage de droite ;
ü Remplissage ;
ü Clipping.
II.2.1. Traçage de droite
[5,9]
Pour faire les traçages des droites, nous avons deux
algorithme à savoir :
ü Algorithme Simple ;
ü Algorithme de Bresenham (ou Algorithme point milieu).
a. Algorithme Simple
C'est la meilleure des algorithmes pour la
représentation de la droite (y=ax+b avec x se trouvant à
l'intervalle des points du plan).
int i,j;
double a,b;
a = (double)(j1 - j0) /
(double)(i1 - i0);
b = j0 -a*i0;
for(i=i0; i<=i1; i++) {
j = (int)( a*i + b );
putpixel(i,j);
}
b. Algorithme de Bresenham
(ou algorithme du point milieu)
L'algorithme de Bresenham est un algorithme qui permet
à ce qu'on puisse avoir une itérative de pixel suivant la
façon à minimiser l'erreur avec le segment continu, partant du
pixel pi0, j0.
On considère le cas où 0 <a<1 et
i0<i1. Alors, si pi, j est un pixel se
déplaçant sur le segment discret partant de pi0,
j0 et allant vers pi1, j1, sa position
suivante est soit pi+1, j (il avance horizontalement), soit pi+1,j+1 (il avance
en diagonale). L'algorithme suivant n'utilise des opérations que sur les
entiers, et correspond au cas où 0 <a<1.
|