2011-11-21 40 views
6

Mathematicaで生成されたサーフェスメッシュ(ほとんどが三角形)から四角形メッシュを作成しようとしています。私は高品質のメッシャーを探しているのではなく、単純なアルゴリズムを取り入れています。私はGMSHを外部で使っています。 MathematicaのCADインポート機能を利用して、Mathematicaカーネルが理解できる3Dジオメトリを生成することができます。Mathematicaサーフェスメッシュから四角形メッシュを生成

インポートされたGeometry3Dオブジェクトと、それらが構成する各ポリゴンの辺の数のプロットが表示されます。メッシュを形成するポリゴンが必ずしも三角形であるとは見えなくなります。

Name3D=RandomChoice[ExampleData["Geometry3D"][[All,2]],6]; 
AllPic= 
    Table[ 
    Vertex=ExampleData[{"Geometry3D",Name3D[[i]]},"VertexData"]; 
    Polygons=ExampleData[{"Geometry3D",Name3D[[i]]},"PolygonData"]; 
    GraphicsGrid[ 
    {{ListPlot[#,Frame-> True,PlotLabel->Name3D[[i]] ]&@(Length[#]&/@Polygons), 
    Graphics3D[GraphicsComplex[Vertex,Polygon[Polygons]],Boxed-> False]}} 
    ,ImageSize-> 300,Spacings-> {0,0}], 
    {i,1,[email protected]}]; 
GraphicsGrid[Partition[AllPic,2],Spacings-> {0,0}] 

enter image description here

今私が探しています何がMMAに利用できることポリゴン情報から四角形メッシュを形成するためのアルゴリズムです。簡単な解決策は大歓迎です。簡単な解決策は、非常に一般的な設定(メッシュが5または6以上の辺を持つポリゴンを構成する)で動作しないことを意味し、市販のソフトウェアに比べて非常に非効率的である可能性があります。しかし、数少ない高価な市販のもの以外に、四面体メッシュジェネレータが多くないことがわかります。

これは関係なく、入力されたトポロジーのクワッドを生成する

+2

フルメッシュ(六面体/レンガ)またはサーフェスメッシュ(四角形)? Graphics3D [ GraphicsComplex [{{{0、0、0.5}、{1,0,0}、{1,1,0}、{0,1,0}のような三角形をどのように処理したいのですか? }、 ポリゴン[{{1,2,3}、{3,4、1}}]]] - 通常のテストが必要です。また、http://reference.wolfram.com/mathematica/TetGenLink/tutorial/UsingTetGenLink.htmlの下部にあるような、交差する三角形の処理方法についても説明します。 「SpaceShuttle」は水密です。たとえば、牛のGMSHで行われた結果の写真をアップロードできますか? –

+0

クワッドサーフェスが必要な場合は、qmorphアルゴリズムが基礎になります:pages.cs.wisc.edu/~csverma/CS899_09/qmorph.pdf –

+0

2面三角形の集合から共有面を削除するなどのソリューションを検討していますか? –

答えて

0

BRは:

  • 各エッジ
  • インサートの中間点で一つの頂点を挿入し、各顔の中心に一つの頂点を挿入します各フェースの中央頂点とそのエッジの中点頂点を結ぶエッジ
関連する問題