Est-ce que quelqu'un sait comment créer un algorithme capable de faire la figure comme dans l'image, quand on lui donne un ensemble de points spécifiques (tableau 3D)
algorithms
user88794
la source
la source
Réponses:
Venir ici après la bataille, mais comme il n'y a pas encore de réponse acceptée et voyant que @Luke refuse d'obtenir le représentant qu'il mérite, voici un bref résumé du lien qu'il a fourni.
Donc, l'algorithme complet est disponible ici:
http://blog.andreaskahler.com/2009/06/creating-icosphere-mesh-in-code.html
L'idée est d'amorcer votre maillage avec une méthode simple qui vous donne une sphère à 20 faces, puis de l'affiner jusqu'à ce que vous soyez satisfait.
Bootstrapping la forme
Vous commencez avec un icosaèdre . Comme le dit l'article de wikipedia, vous pouvez obtenir les sommets en dessinant trois rectangles identiques et orthogonaux. Vous avez 3 rectangles avec 4 coins chacun -> 12 sommets.
Illustration Wikipédia:
Par exemple, les points du plan Z sont (a, b sont les longueurs du rectangle):
Maintenant, vous devez encore trouver les 20 visages. Ceci est laissé comme exercice au lecteur: p
Affiner la forme
Maintenant que vous avez une sphère de base, vous pouvez ajouter des polygones. Vous le faites avec cet algorithme simple:
Pour trouver le point médian, nous supposons que nous souhaitons créer la sphère unitaire (centre (0, 0, 0), rayon 1).
À chaque itération, nous devrons peut-être reconstruire les visages, mais c'est assez facile. Chaque visage est divisé en quatre:
la source