web-dev-qa-db-ja.com

3Dエンジンが主に三角形を使用してサーフェスを描画するのはなぜですか?

3Dでのサーフェスの描画に三角形が常に使用されるのはなぜですか?なぜ正方形や他の形ではないのですか?

51
seymar

三角形が非平面になることはありません。 3点を超えるものはすべて非平面になり、三角形に変換しない限りレンダリングできなくなります。

たとえば、正方形を構成するすべての点が同一平面上にある場合、正方形は同じ平面上にある2つの三角形です。すべてのポイントが同一平面上にあることを確認するには多くの計算が必要です。したがって、3ポイントを超えるすべてのポリゴンは、三角形に間引くことによって事前に計算され、すべてのポイントが同一平面上にあることを確認するためにテストされます。レンダリングされるすべてのフレームでの。

これが良いリファレンスです ポリゴンメッシュについて

平面メッシュ


(ソース: softimage.com

非平面メッシュ


(ソース: softimage.com

そしてそれをより明確にするかもしれないもう一つの例


(ソース: autodesk.com

非平面メッシュは縮退しているため、どのような方法でも正しくソート(またはレンダリング)できません。三角形にはこの問題はありません。

効率

また、三角形はメモリ効率が非常に高く、並べ替えが可能で、 Triangle Strips を使用すると非常に高速にレンダリングされます。

http://upload.wikimedia.org/wikipedia/en/0/03/Triangle_Strip.png

および Triangle Fans は、Triangle Stripの特殊なケースです。


(ソース: codesampler.com

76
user177800

3点は平面サーフェスを定義するのに最低限必要なため、多くの三角形を使用して任意の形状をシミュレートでき、三角形を画面にすばやくペイントする効率的なアルゴリズムが存在します。

13
Geoff

基本的に、複雑な(表面)構造は、三角形の束として表すことができます。三角形は最もアトミックでプリミティブなジオメトリです。したがって、ほとんどすべてのベースとして使用されます。それにもかかわらず、ほとんどの3Dエンジンは、球、円錐、円柱、ドーナツなど、より複雑なプリミティブを提供します。ライブラリのドキュメントを確認してください。

11
Hyperboreus