58 votes

Pourquoi y a-t-il toujours des triangles utilisés dans un moteur 3D?

Pourquoi y a-t-il toujours des triangles utilisés pour dessiner des surfaces en 3D? Et pas de carrés ou d'autres formes?

85voto

Jarrod Roberson Points 32263

Les Triangles ne peut jamais être non-planaire; quelque chose avec plus de 3 points peut être non-plane et donc non restituable à moins convertis en triangles.

Par exemple: Un carré est de deux triangles qui sont sur le même plan, si tous les points de la place de la co-planaires. Il faut beaucoup de calculs pour s'assurer que tous les points sont coplanaires, donc tous les polygones qui sont plus que 3 points sont pré-calculés par la décimation dans des triangles et testé afin de s'assurer que tous les points sont coplanaires une fois, au lieu de sur chaque image qui est rendu.

Ici est la bonne référence sur des maillages polygonaux.

Planaire De Maille

Non-Planaire De Maille

et un exemple de plus qui pourrait le rendre plus clair

Le non-planaire de maille est corrompu et ne peut pas être triés ou rendus correctement , en toute sane manière. Les Triangles n'ont pas ce problème.

L'efficacité

Les Triangles sont également très efficace en terme de mémoire et peuvent être triées, et rendu extrêmement rapide lors de l'utilisation du Triangle de Bandes qui besoin que de 1 point à être stocké pour chaque triangle après la première.

et le Triangle des Fans qui est un cas particulier d'un Triangle Strip.

16voto

Geoff Points 7754

Étant donné que 3 points sont le minimum nécessaire pour définir une surface plane, toute forme peut être simulée à l'aide de nombreux triangles. De plus, des algorithmes efficaces permettent de peindre rapidement des triangles sur l'écran.

12voto

Hyperboreus Points 15985

Fondamentalement, toute structure complexe (de surface) peut être représentée par un groupe de triangles. Le triangle est la géométrie la plus atomique et primitive. Par conséquent, il est utilisé comme base pour presque tout. Néanmoins, la plupart des moteurs 3D vous fournissent des primitives plus complexes comme des sphères, des cônes, des cylindres, des beignets, etc. Consultez la documentation de votre bibliothèque.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X