Un champ d'astéroïde

Création d'un champ d'astéroïde.

Il y a qu'elle que temps de cela, je me suis lancer sur le moteur 3D irrlicht, dans la créations d'un champ d'astéroïde (chose qui va me servire dans la création de mon jeu). Pour généré un champ d'astéroïde il faut un calcule, un calcule mathématique pour placer tous les astéroïdes à des positions aléatoires avec une certaine organisaition. Aujourd'hui j'ai enfin trouver le calcul qui me manquer ! Le problème était de lui donner un forme ronde ... come un vrais quoi ! Qu'elle que jour après m'avoir lancer dans ce minis outils je m'était rapidement rendue compte que moi et la trigonométrie (oui oui la trigonométrie) sa fessais deux, j'ai essaye des dixaines de chose différente, des calculs hasardeux ... aucun ne fonctionner ! ... Très vite j'ai demander l'aide d'internet et c'est la que j'ai rencontré de long en larme les meirveilles de la trigonométrie. Plusieur personne sont venue avec leur calcul et je n'y comprenais rien ! J'essaye tous de même des les traduires en c++ mais ce n'était pas tache facile. Alors j'ai eu envie d'apprendre ! J'ai lu est relu de nombreu tutoriel sur les mathétiques jusqu'à que la chose qui me sert de cerveau généra ces lignes :
 

alpha = (rand() % (360 - 0));
Position.X = cos(alpha) * (rand() % (R - r + 1) + r);
Position.Z = sin(alpha) * (rand() % (R - r + 1) + r);

Position.Y = (rand() % (8 - -39));

C'était la pièce maitraise du puzzel ! Pour ceux qui ne connaisent rien à la programmation Rand est une fonction qui permet de généré un chiffre au hasard entre deux chiffres, un maximum et un minimum. Dans ce morcau de code que j'ai donner plus haut (rand() % (R - r + 1) + r); génére un nombre aléatoire compris entre R et r.

Avec qu'elle que modifiquation est amélioration mon générateur cera près, pour l'instant je ne montre rien, ce n'est pas merveilleussement beau mais sa marche ce qui est le principal ! Niveaux performence pour afficher 800 astéroïde je tourne à prés d'une trentaine d'image par secondes ce qui es pas mal.

Ajouter un commentaire

Vous utilisez un logiciel de type AdBlock, qui bloque le service de captchas publicitaires utilisé sur ce site. Pour pouvoir envoyer votre message, désactivez Adblock.

Créer un site gratuit avec e-monsite - Signaler un contenu illicite sur ce site

×