1

この質問は、長ったらしい質問をしてはいけないという規則に違反する可能性があります。しかし、私の答えは次のとおりです。誰かがこの質問をすることができる場所を教えてくれますか... (または質問を適切に組み立てます)?

まず、これを文脈で説明すると、私は力学を専門とする機械工学の教授です。だから私はジンバル ロックの問題を知っており、四分位数、オイラー角、そして必要に応じてテイト ブライアン角を理解しています。

私は 3D ダイナミクスへの新しいアプローチを開発しました。この方法は、リー代数、移動フレーム、および新しい表記法に基づいています。3D ダイナミクスが簡単になります。特異点を解決する可能性がありますが、クォータニオンの複雑さはありません。

この方法でコンピュータ グラフィックスの問題を解決できることを示したいと思います。

今は OpenGL、SGI Inventor、そして今は webGL でコーディングしています。私は proEngineer と Blender を使用しました。したがって、あなたがそのように説明したい場合は、それらに関連する議論に従うことができます.

ここで質問です…。

ジンバル ロックは webGL でどのように解決されますか? それでも、「解決する」とはどういう意味ですか?これはすべて私には明らかではありません。

はい、内側のフレームを特異点に近づける特定のモーションを回避できます。それはそれを解決するでしょう。または、特異点に近づくと、クォータニオンに切り替えることができます。または、別のモーション ディグリーを追加することもできます。これらはすべて、ソリューションの異なる「分類」です。ユーザー レベルのものもあれば、コーダー レベルのものもあります。

それで、私がメソッドを持っているとしましょう (C++ の意味ではありませんが、誰が知っているでしょう) ... ユーザーが 3D 回転をより簡単な方法で実装できるようにするメソッドです。

WebGL の開発者に新しいメソッドを実装するように依頼することになりますか? webGL_クォータニオン webGL_euler_angle webGL_new_method_in_moving frame

新しい方法は古い方法でコーディングされますか? たとえば、クォータニオン呼び出しは、オイラー角メソッドを呼び出しますか?

私は、この新しい方法がコンピューター グラフィックス プログラマーやユーザー (例: Blender ユーザー) にとってより便利であることを実証する方法を見つけようとしています。

4

1 に答える 1

0

WebGL は、ローテーションを管理するために特定の方法を一切使用しません。そのように見える場合は、WebGL の基盤を隠している高レベルのライブラリを使用していたに違いありません。WebGL は、画面空間の描画に加えて、作成したシェーダーで変換を構築するための高速な 4×4 行列演算を提供します。これは、オイラー角、四元数、純粋な回転行列、またはその他の発明したいものから導出できます。

回転を管理するためのより優れた数学をお持ちの場合は、先に進んで、それを計算する頂点シェーダーを作成することをお勧めします。WebGL への拡張は必要ありません。

于 2013-03-08T16:31:40.373 に答える