問題タブ [polyhedra]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
fortran - 任意の六面体の各面の表面積と法線を計算する
立方体の各面の表面積と、対応する外側の単位法線を調べようとしています。この操作は有限要素メッシュで行われるため、立方体の各面を shape(basis) 関数を使用してアイソパラメトリック形式に変換してから、領域と法線を抽出しようとしました。
コードは次のとおりです。
ローカル ヤコビアンと法線を計算するサブルーチンは次のとおりです。
ローカル ガウス ポイントは、次のサブルーチンから取得されます。
この場合、各サーフェスの面積は 1 単位である必要がありますが、このコードではそうではありません。法線も正しくありません。出力は
注: これは常に立方体であるとは限らず、不規則な六面体である可能性があるため、面積は常に等しくなるとは限らないため、それぞれを計算する必要があります。b. 面はさまざまな方向に向いている可能性があるため、アイソパラメトリック変換が必要です。
これは、この問題にアプローチする正しい方法ですか? 誰かがこれを理解するのを手伝ってくれたらうれしいです。また、各面の対角線のベクトル積を使用して面積と単位法線を計算しようとしましたが、構造が不規則な場合は機能しません。これは、不規則な六面体の写真の例です1。通常のルーブは大体立方体でこんな感じ。2
mesh - 非凸多面体の凹面の決定
メッシュとして表現された非凸 3D 多面体Pがあるとします。すべての凹面のセットを決定するための最適なアルゴリズムは何ですか?
私が考えた最初の、おそらく些細な答えは、多面体Pの凸包Cを計算し、次に非同義的差C - Pを連結成分に分割することです。私は正しい方向に進むことができますか?はいの場合、メッシュ間の「差」をどのように計算しますか? メッシュを「減算」し、接続されたコンポーネントを取得するために使用できる CGAL 関数がいくつかあります。