IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)


Brève définition :
Pour créer l'effet d'un champ d'étoile, ou plutôt dire, faire commme si vous étiez dans un vaisseau spacial et que vous avanciez très rapidement parmis des centaines d'étoiles mais sans jamais en toucher une. Pour créer cet effet, cette formule est innévitable :
  • PointX = ( (PointX * 256) / PositionZ ) + (EcranX / 2)
  • PointY = ( (PointY * 256) / PositoinZ ) + (EcranY / 2)
En réalité, cette équation est celle de la projection d'un objet 3D sous forme 2D. Parce qu'une écran ne possède pas de coordonnées Z, qui est en fait, la profondeur.
Explication :
Comment et qu'elle est l'utilité de cette équation citée ci-haut ? Voici une exemple utilisant cette équation :
  1. Sortez une feuille de papier.
  2. Une calculatrice.
Supposez que la valeur de EcranX est 640. et que la valeur de EcranY est 480. Je vais vous donner les coordonées d'un cube que voici :
Faces Coordonnées
Face 1 -10, -10, -10
Face 2 10, -10, -10
Face 3 -10, 10, -10
Face 4 -10, 10, -10
Face 5 10, -10, 10
Face 6 -10, -10, 10
Face 7 -10, 10, 10
Face 8 10, 10, 10

Pour donner un effet de profondeur à l'écran il nous suffit d'utiliser nos coordonnées et les projectionner à l'écran avec notre équation. Si vous ne faite pas de faux de calculs, vous devriez récupérer les coordonées d'un cube adapté pour un affichage en 2D. Si la coordonnée Z serait 20 à la place de 10 vous constateriez que le cube serait deux fois plus profond. Donc, imaginez maintenant que vous preniez des centaines de coordonées choisi aléatoirement par l'ordinateur mais possèdant toutes et chacune 256 comme valeur de départ. Ensuite vous vous serviez de l'équation pour chaque coordonée et cela à chaque mili-secondes toujours en décrémentant la valeur du Z de chaque coordonnée. Cela aurait l'effet en démarrant le programme d'afficher un paquet d'étoile se déplacant d'une profondeur 256 jusqu'a 0, ce qui donnerait l'effet de les faire avancer vers nous. Par contre il faut bien suivre les coordonées des étoiles de sorte qu'elle ne dépasse pas la largeur ou hauteur de l'écran. Si cela se produit, il faudra absolument créer une nouvelle étoile avec une coordonnée X et Y choisi aléatoirement par l'ordinateur et ayant une valeur Z égale à 256. Ah! le 3D, quel chose façinante!
Capture d'écran :
Voici une image captée au moment où le champ d'étoile est en action...

Programme relié
Un programme qui montre comment effectuer le champ d'étoile.   Source