導航:首頁 > 源碼編譯 > 節點共面的演算法

節點共面的演算法

發布時間:2022-08-01 11:41:16

⑴ 空間線段對求交演算法

下面先介紹一種空間線段對求交演算法:

圖6.5 界線相交特性

三維地質建模方法及程序實現

空間兩條線段的求交運算是三維地質建模中使用頻率最高、演算法最簡單,同時也是最容易出現計算誤差,並導致後續建模失敗的數值運算之一。導致計算失敗的主要原因是計算精度與浮點數問題。例如,有3條線段,兩兩之間的交點距離非常近但不重合,如果保持3個交點不變就會降低後續建模中曲面網格的質量;如果降低精度要求,將3個交點合並成一點,就會影響與其他線段的相交關系。另外,浮點數問題在線段平行判斷、三點共線判斷、四點共面判斷都會遇到。在處理這類問題時,可以採用一個原則,即先精後粗,也就是說在線段對求交時盡量精確,等所有線段對求交結束後可以對距離很近的點進行合並處理。

⑵  靈活約束的四面體化

研究幾何模型所固有的物理特性的基礎步驟是網格化。基於簡單形體(即二維的三角形和三維的四面體)的結構化網格對自然物體的建模非常有意義,因為它們對填充由簡單邊界(即二維情形中的邊和三維情形中的三角形)所定義的區域的物性非常靈活。

自從提出了三角剖分一個多邊形的O(n)最優演算法(Chazelle,1991)後,從計算幾何學觀點來看,二維情況現在已可以很好地處理了。二維情況的其他重要演算法有Chew(1987)的約束Delaunay三角剖分方法和Ruppert(1993)的限制縱橫比三角剖分方法,前者給出一種來考慮給定連接關系的點集的三角剖分方法,後者可提供一個具有「好」的元素的網格。

所以,給定一個可在其端點彼此相交的邊界集合定義的二維模型,便可能利用三角形來填充所定義的全部區域。圖2.13顯示一個二維三角剖分模型的例子。

圖2.13二維模型的三角形化(Joel Conraud,1995)

●輸入角點;——輸入邊界

如果所有給定的邊界都在剖分結果中出現,這樣一個模型的三角剖分被稱作約束三角剖分;而如果一些邊界被分割後出現在剖分結果中,則被稱為匹配三角剖分(即在這些邊界上增加稱為「Steiner點」的一些點,用來分割它們)。為了考慮特定的連接,Chew修改了對Delaunay三角剖分的「空球標准」的定義,在文獻(Nackman and Srinivason,1991)中提出了一種在輸入的邊界上增加一些點,用來實現一種保持Delaunay特點的匹配三角剖分方法。

三維情況。三維情況要難得多,所有在二維中的一系列命題不再有效:

●有n條邊的多邊形的三角剖分有(n-2)個三角形;但一個多面體的四面體剖分具有不同數目的剖分結果。

●所有的多邊形都能被三角剖分;但有些多面體,如果其邊界拓撲不改變就不能被四面體填充;換句話說,不能對它們進行約束三維三角剖分,而只能進行匹配三維三角剖分的計算。

●二維點集的Delaunay三角剖分對所有可能的三角剖分的最小角最大化;但三維點集的Delaunay三角剖分做不到。

文獻(Ruppert and Seidel,1992)對非凸多面體的四面體化所涉及的困難有一個更詳細的描述。因此,如果有人想對一個涉及節點、邊和三角形的幾何結構四面體化,一般情況下需要增加Steiner點,它們的數目可能是很大的,導致一個復雜得多的四面體化。本節給出一個類似於匹配三維三角剖分的方法,稱為靈活約束的四面體化方法,這將大大減少增加點的數目。

問題。首先給出一些定義,然後描述我們感興趣的問題。

定義1:我們定義一個基於簡單邊界的模型M為三維空間中三角剖分定義的曲面的集合。曲面之一是閉合的,並且確定了我們研究的區域,而其他曲面有的確定了子區域,有的確定了不連續體(即面具有不閉合的邊界)。它們可以沿著三角形邊界彼此相交。

定義2:T是M四面體化的點集,當且僅當M的每個頂點是T的四面體頂點。

定義3:T是M的一個約束四面體化,當且僅當每個三角形(邊和頂點)是T的四面體表面(邊和頂點)。正如上面所寫的,不總是有一個與模型相聯系的四面體化。

定義4:T是M的一個匹配四面體化,當且僅當M的每個三角形:

●可以是T的四面體的表面;

●或者與T中四面體的表面有一個相關部分,這種情況意味著已增加了Steiner點。

從一個四面體化點集開始,怎樣修改使它成為M的一個可接受的四面體網格呢?

初步觀察。這個工作從以下觀察開始:

我們想對圖2.14所示的錐體作四面體化,在這個棱錐的表面,有三角形ABD、ABC。如果我們使用Delaunay三維點集三角剖分演算法(例如文獻Watson,1981中的方法)產生一個初始解,則由於d(C,D)<d(A,B)(在一個Delaunay三角剖分中,對於存在4個共面點的情況,生成的兩個三角形遵循對角線最短原則),在點A和B之間連接的情況不會出現在棱錐的表面拓撲中,因此也就不會出現在四面體剖分網格中。

圖2.14錐體的Delaunay四面體化(Joel Conraud,1995)

如果我們忽略在共面區域這兩種三角剖分的不同之處,則生成的兩個四面體的邊界定義了由六個輸入三角形描述的同一個多面體。所以,即使拓撲結構不同,幾何形態是相同的。在一個靈活約束的四面體化方法中,上面的四面體網可被視作輸入的可接受的近似。

有時,一個僅基於模型節點剖分而成的四面體網格中的三角形,與一個基於邊界剖分而成的三角形網格不匹配。在研究這種情況時,則可發現兩種另外的方案:

(1)雖然,邊界三角形與四面體網格邊界不相交,但幾何形狀不相似。如果圖2.15中的點D沿ACB面的垂線向遠離E的方向移動,這個錐體被變形為一個凹多面體。按以前的情形生成兩個四面體,但這時在輸入三角形和四面體形成的多面體表面之間出現一個間隙。在圖2.15中的截面上可看出問題。

圖2.15(a)改變D的位置(Joel Conraud,1995)

圖2.15(b)(E,D,C)被兩個四面體共用(Joel Conraud,1995)

(2)邊界三角形與一個四面體邊界相交。在圖2.16的例子中,三角形(C,B,E)與四面體的邊(A,D)相交。要麼在交點處插入一個點,要麼進行網格的局部更新:可用四面體(A,B,C,E)和(D,E,B,C)代替四面體(A,D,C,E)、(A,D,E,B)、(A,D,B,C),產生一個具有8個輸入三角形的網格作為四面體的表面,但該表面不再是Delaunay的了。

圖2.16(a)由8個三角形確定的多面體(Joel Conraud,1995)

圖2.16(b)(A,B,C,D,E,F)的Delaunay四面體化(Joel Conraud,1995)

靈活約束四面體化的目標是僅當上述的第二種情況出現時,去組合測試模型的四面體化的點集並局部修改它。對付第一種情況(不論移不移D點),則用前面的方法,通過局部網格修改或增加點來處理(George等,1991)。

下面,我們給出靈活約束四面體化的如下定義:

定義5:T是一個靈活約束四面體化,當且僅當M的每個三角形:

●可以是T的一個四面體表面;

●或者與T中四面體的表面有一個重合部分;

●或者屬於一組n個相連的三角形GTgr1,通過它我們可以聯系一組n個四面體表面GTetra,這組四面體與相互連接的三角形組有相同的表面。

也就是說,靈活約束的四面體化只要求約束面與四面體表面的一部分幾何上重合,拓撲可以不同。

下面描述從一個模型的四面體化點集來構建一個靈活約束四面體化的演算法。

演算法。從一個簡單邊界的模型M和一個用M中的點通過無約束四面體剖分形成的四面體集TPoint Set(M)開始,演算法分為四步:

(1)計算無約束四面體剖分TPoint Set(M)中與M中的三角形不匹配的三角形集合SUnMatched

for每個M中的t

if non-matched(t,M,TPoint Set)/*用判斷函數判斷*/

then SUnMatched←SUnMatched∪{t}

endif

endfor

這里non-matched()函數定義如下:

(t是基於三個頂點:v1,v2和v3的三角形)

TetraFaces←φ

If edge(v1,v2)不存在於TPoint Set中Retur false

else TetraFaces←TetraFaces U tetrafaces(edge(v1,v2))

If edge(v2,v3)不存在於TPoint Set中Return false

else TetraFaces←TetraFaces U tetrafaces(edge(v2,v3

If edge(v3,v1)不存在於TPoint Set中Return false

else TetraFaces←TetraFaces U tetrafaces(edge(v3,v1))

Return#TetraFaces=1

(2)將SUnMatched分為相連的三角形子集

SConnex←φ

for SUnMatched中的每個三角形t

Connex←{t和M中的鄰近t的三角形以及SUnMatched的成員}

SUnMatched←SUnMatchedConnex/*把找到的三角形從SUnMatched中去掉*/

SConnex←SConnex∪{Connex}/*把找到的三角形合並到SConnex中去*/

endfor

(3)將每個SConnex的子集分為由邊界既存在於M又存在於TPoint Set約束的三角形的子集

SBoundedConnex←φ

for SConnex中的三角形Connex的每一個集合

for Connex的每個三角形t

BoundedConnex←{t和Connex中鄰近t的三角形以及既在M中又在TPoint Set沒有共享邊界的三角形}

Connex←ConnexBoundedConnex/*把找到的三角形從Connex中去掉*/

SBoundedConnex←SBoundedConnex∪{BoundedConnex}

/*把找到的三角形合並到SBoundedConnex中去*/

endfor

endfor

(4)對於每個子集BoundedConnex,其數據項的個數與基於同一邊界的四面體表面集合的數據項個數進行對比

for SBoundedConnex的每一個三角形集合BoundedConnex do

① 計算集合edges(BoundedConnex,M)和edges(BoundedConnex,TPoint Set

edges(BoundedConnex,M)←φ

edges(BoundedConnex,TPoint Set)←φ

BoundedConnexVertices←Vertices(BoundedConnex)

for BoundedConnexVertices的每一個頂點vdo

for基於v的TPoint Set的每一條邊e do

opposite=opposite(e,v)

if opposite是BoundedConnexVertices的成員

then edges(BoundedConnex,TPoint Set)←

edges(BoundedConnex,TPoint Set)Ue

ifM中在e和opposite之間存在邊

then edges(BoundedConnex,M)←

edges(BoundedConnex,M)Ue

endif

endif

endfor

endfor

② 計算共享edges(BoundedConnex,M)的四面體表面集合TetraFaces

TetraFaces←φ

for edges(BoundedConnex,M)的每一個邊e do

for基於e的TPoint Set的每一個四面體表面tfdo

for i from 1 to 3 do

neighber_edge←edge(tf,i)

if neighber_edge≠e

and member of edges(BoundedConnex,M)

then TetraFaces←TetraFaceUtf

endif

endfor

endfor

endfor

③ 計算在BoundedConnex的邊界上的邊集合BorderEdges

BorderEdges←φ

for BoundedConnex的每一個三角形t do

for i from 1 to 3 do

edge←edge(t,i)

trgl←neighber(t,i)

if trgl不是BoundedConnex的成員(或不存在)

then BorderEdges←BorderEdgesUedge

endif

endfor

endfor

④ BorderEdges定義一條閉合曲線,TetraFaces的某些元素在其外部,刪除它們

for TetraFaces的每一個四面體表面tf do

for i from 1 to 3 do

e←edge(tf,i)

if e不是BorderEdges的成員

then

for基於e的每一個四面體表面tf′ do

iftf′≠tf並且tf′為TetraFaces成員

then TetraFaces

←TetraFaces

{tf′以及TetraFaces中tf′的鄰接面

直到遇到BorderEdges的邊界)

endif

endfor

endif

endfor

endfor

⑤ 對比#TetraFaces和#BoundedConnex

if#TetraFaces=BoundedConnex

then OK

else局部網格修改(或增加Stiener點或同時進行)

endif

endfor

下一節我們將給出上述實現的結果。

實驗結果。上面所述演算法的一個C++版本已被結合到GOCAD軟體中,GOCAD軟體是一個自然物體的三維建模工具,特別適用於石油工業中地下情況的建模。

從模型點集的一個Delaunay三維三角剖分(在浮點運算中使用Watson的演算法。由Schroeder等,1990和George等,1992中所提到了同類型檢查方法使得數據結構的有效性在增加點後保持不變)開始,上一節的組合演算法使我們可以鑒別在TPoint Set和M之間的間隙。此時,還未應用上一節後面所講的局部網格修改。在後處理過程中,通過在區域內增加一些點來使最終的網格可用。

基本的例子。如果M被簡化為定義一個立方體的閉合三角剖分曲面,立方體的每個面分成兩個三角形,我們可得到以下結果(圖2.17)。

圖2.17正方體的四面體化(Joel Conraud,1995)

小窗口中顯示的四面體化的網格,元素在其中心周圍收縮,以便讓用戶看到結構內部。這個立方體的三個可見面的三角剖分,在約束面上和四面體邊界上是不同的。但兩個對象定義的幾何形體是一樣的。

實例。彩色圖版1.1是一個描繪具有超過8000個節點和17000個三角形的地質體的簡單三角剖分曲面。如果這個面的網格質量好的話,是不需要對四面體網格進行修改的。

彩圖版1.2中,M定義一個閉合的曲面(下面沒顯示),它和另外三個曲面定義四個地質層位。

彩色圖版2.1表示四面體網格的一個切片,我們可以看到三個曲面定義的界面的「傷疤」。

在具有256M的HP9000/800 K200上實現第二、第三個例子需要10min和12min的CPU時間,Delaunay三維三角剖分和M的三角形與四面體表面相比較花費的時間不及總時間的1/4。

討論。靈活約束的四面體化方法對地下情況建模的目的來說,提供了一個可接受的基於邊界模型的近似:在某些情況下,以用盡可能少的元素得到四面體化網格比考慮全部的三角形更重要。如果有人想在表面三角形和四面體TPoint Set的邊界表面之間得到1對1的關聯,則有必要從TPoint Set中提取約束和「靈活約束」的元素,從而得到一個新的基於邊界的模型M′,它與M幾何形狀相同,但拓撲不同。第二類型靈活約束改造的TPoint Set是一個M′約束的四面體化。

下一步工作將包括比較靈活約束四面體化方法與在TPoint Set中與M不匹配的每個三角形增加Steiner點的方法的計算效率比較。

⑶ 怎樣證明3個向量共面

設A向量(X1,Y1,Z1),B向量(X2,Y2,Z2),C向量(X3,Y3,Z3)。如果你能證明:X1:Y1:Z1=X2:Y2:Z2=X3:Y3:Z3,那麼這三個向量就是共面的。

或者證其中一個可以由另外兩個線性表示,例如:證存在實數x、y使得a=x·b+y·c。

或者需證其三個向量的混合積為0,即可。

(3)節點共面的演算法擴展閱讀:

定理:如果兩個向量a.b不共線,則向量p與向量a.b共面的充要條件是存在有序實數對(x.y),使p=xa+yb。

推論:空間一點P位於平面MAB內的充要條件是存在有序實數對x.y,使MP=xMA+yMB {MP MA MB 都表示向量}或對空間任一定點O,有OP=OM+xMA+yMB {OP,OM,MA,MB表示向量}

⑷ 已知向量α=i+aj-3k,β=ai-3j+6k,γ=-2i+2j+6k,若α、β、γ共面,求a求演算法...

共面則行列式為0
行列式
1 a -3
a -3 6
-2 2 6
= -6 (1+a)(2+a)
所以 a=-1 或 a=-2

⑸ ansys軟體如何看出二個面是否共面了

顯示雲圖和節點。
1、在ansys軟體中如果兩個面共面的話會顯示雲圖以及共面的節點。
2、在ansys的面相加中只能對共面的圖元進行操作。

⑹ ansys 中兩個物體連接處的網格怎麼共節點

兩個體volume必須共面才是連通的,否則是互相獨立的兩個體。在熱分析中,熱流不能通過兩個獨立的體的界面。
要兩個體共面很簡單:vglue命令。vovlap也有類似作用,適用於不同場合。

⑺ pkpm示板結點不共面怎麼回事

摘要 網上找到的處理方法,希望能解決您的問題 ——

⑻ 關於三向量共面的計算例題

附上三階行列式的演算法,此題具體的計算過程就略了,這里行列式的結果是a的一元二次方程6a^2+18a+12.

⑼ 初中物理節點法

初中物理光的反射定律是重要的知識點之一,通過光的反射定律了解生活中常見的物理現象,根據光的反射定律作光路圖和光的反射實驗題是初中物理光的反射兩大應用題型。初中物理光的反射知識點一覽:初中物理光的反射概念和分類;初中物理光的反射定律極其四大特性和作光路圖步驟,光的反射練習題。
一、初中物理光的反射概念
光的反射定律概念:光在兩種物質分界面上改變傳播方向又返回原來物質中的現象,叫做光的反射。對人類來說,光的最大規模的反射現象,發生在月球上。人們知道,月球本身是不發光的,它只是反射太陽的光。因此光的反射無處不在並發生在人們身邊。
二、初中物理光的反射分類
1)鏡面反射:平行光線射到光滑表面上時反射光線也是平行的,這種反射叫做鏡面反射。
2)漫反射:平行光線射到凹凸不平的表面上,反射光線射向各個方向,這種反射叫做漫反射。
3)鏡面反射與漫反射物理現象:表面平滑的物體,易形成光的鏡面反射,形成刺目的強光,反而看不清楚物體。通常情況下可以辨別物體之形狀和存在,是由於光的漫射之故。日落後暫時能看見物體,乃是因為空氣中塵埃引起光的漫射之故。無論是鏡面反射或漫反射,都需遵守反射定律。
三、初中物理光的反射定律(重點):
1.反射角等於入射角,且入射光線與平面的夾角等於反射光線與平面的夾角。
2.反射光線與入射光線居於法線兩側且都在同一個平面內。
3.在光的反射現象中,光路是可逆的。 四、根據光的反射定律作光路圖(常考知識點):
先找出入射點,過入射點作垂直於界面的法線,則反射光線與入射光線的夾角的角平分線即為法線。若是確定某一條入射光線所對應的反射光線,則由入射光線、法線確定入射角的大小及反射光線所在的平面,再根據光的反射定律中反射光線位於法線的另一側,反射角等於入射角的特點,確定反射光線。
五、初中物理光的反射的四大特性(難點):
1.共面 法線是反射光線與入射光線的角平分線所在的直線。
2.異側 入射光線與反射面的夾角和入射角的和為90°
3.等角 反射角等於入射角。反射角隨入射角的增大而增大,減小而減小。
4.可逆 光路是可逆的
六、初中物理光的反射練習題(包含實驗題):
1、初中物理光的反射選擇題
1.電視機遙控器可以發射一種不可見光,叫做紅外線,用它來傳遞信息,實現對電視機的遙控。不把遙控器對准電視機的控制窗口,按一下按鈕,有時也可以控制電視機,這是利用( ) A.光的直線傳播 B.光沿曲線傳播 C.光的反射 D.光的可逆性
2.光污染已成為21世紀人們關注的問題。據測定,室內潔白、平滑的牆壁能將照射在牆壁上的太陽光的80%反射,長時間在這樣刺眼的環境中看書學習會感到很不舒服。如果將牆壁做成凹凸不平的面,其作用之一可以使照射到牆壁上的太陽光變成散射光,達到保護視力的目的,這是利用了光的( ) A.直線傳播 B.漫反射 C.鏡面反射 D.反射
3.如圖1所示,一束光線射向平面鏡,那麼這束光線的入射角和反射角的大小分別為( ) A.40° 40° B.40° 50° C.50° 40° D.50° 50° 4.下列說法中不正確的是( )
A.光線垂直照射在平面鏡上,入射角是90°
B.漫反射也遵守反射定律
C.反射光線跟入射光線的夾角為120°,則入射角為60°
D.太陽發出的光傳到地球約需500s,則太陽到地球的距離約為1.5×108km
5.小聰同學通過某種途徑看到了小明同學的眼睛,則小明同學( ) A.一定能看到小聰同學的眼睛 B.一定不能看到小聰同學的眼睛 C.可能看不到小聰同學的眼睛 D.一定能看到小聰同學的全身 2、初中物理光的反射應用題
1.(初中物理光的反射作圖題)錢包掉到沙發下.沒有手電筒,小明藉助平面鏡反射燈光找到了錢包.圖中已標示了反射與入射光線,請在圖中標出平面鏡,並畫出法線。
2.(初中物理光的反射實驗題)如圖所示,是陳濤同學探究光反射規律的實驗.他進行了下面的操作:
(1)如圖1甲,讓一束光貼著紙板沿某一個角度射到0點,經平面鏡的反射,沿另一個方向射出,改變光束的入射方向,使∠i減小,這時∠r跟著減小,使∠ i增大,∠r跟著增大,∠r總是_______∠i,說明__________
(2)如圖1乙,把半面紙板NOF向前折或向後折,這時,在NOF上看不到________-,說明
3、初中物理光的反射實驗題________。 參考答案: 1、選擇題:1.C 2.B 3.D 4.A 5.A
2、應用題:1.(如圖所示)
2.(1)影子的形成:光沿直線傳播;(2)水中倒影:光的反射 七、生活中的光的反射物理現象:
1、我們每天都照的鏡子。
2、路口放置的凸面鏡。
3、汽車的觀後鏡。
4、我們能看見物體,物體反射了光進入我們的眼睛。 5、太陽能加熱器(太陽灶)
6、潛望鏡。
7、反射式的望遠鏡。
上海市中考物理和化學合卷,物理分值為90分。光的折射對比光的直線傳播和光的反射來說,則有難度。同學們需要掌握光的折射作圖題和實驗題相關知識點。昂立新課程針對初中各個科開設如下課程:
以上特色課程與初中學科教材匹配,授課形式分為面授和網課,面授課程班型設置不同,有1對1,1對3,15人班,30人班等形式,上海市各區授課時間也不同,具體課程詳情請撥打官網熱線4008-770-970咨詢。

閱讀全文

與節點共面的演算法相關的資料

熱點內容
優信二手車解壓後過戶 瀏覽:61
Windows常用c編譯器 瀏覽:778
關於改善國家網路安全的行政命令 瀏覽:833
安卓如何下載網易荒野pc服 瀏覽:654
javainetaddress 瀏覽:104
蘋果4s固件下載完了怎麼解壓 瀏覽:1002
命令zpa 瀏覽:285
python編譯器小程序 瀏覽:944
在app上看視頻怎麼光線調暗 瀏覽:540
可以中文解壓的解壓軟體 瀏覽:591
安卓卸載組件應用怎麼安裝 瀏覽:912
使用面向對象編程的方式 瀏覽:339
程序員項目經理的年終總結範文 瀏覽:929
內衣的加密設計用來幹嘛的 瀏覽:432
淮安數據加密 瀏覽:292
魔高一丈指標源碼 瀏覽:982
松下php研究所 瀏覽:168
c回調java 瀏覽:399
夢幻端游長安地圖互通源碼 瀏覽:745
電腦本地文件如何上傳伺服器 瀏覽:312