最近在做空間三維管線(xiàn)建模,結(jié)果狠狠地吃了一虧,到現(xiàn)在我也不明白錯(cuò)誤出了什么地方,現(xiàn)在把我的思路拿出來(lái)與大家分享討論,歡迎有識(shí)之士多加批評(píng)。
1 什么三維管線(xiàn)建模
三維管線(xiàn)就是這樣一類(lèi)空間實(shí)體:由一個(gè)固定的截面形狀沿中軸線(xiàn)運(yùn)動(dòng)所形成實(shí)體,比如水管等。其中軸線(xiàn)可以由一連串空間折線(xiàn)描述。
2 主要問(wèn)題
該問(wèn)題的主要方面在中軸線(xiàn)轉(zhuǎn)彎的地方按給定的半徑進(jìn)行圓弧插補(bǔ)。插補(bǔ)圓弧要位于拐點(diǎn)前一條直線(xiàn)與后一條直線(xiàn)所確定的平面內(nèi)。
3 起始條件
已知空間三維直角坐標(biāo)系中有三個(gè)點(diǎn),其坐標(biāo)分別記為A(i-1)=(x(i-1),y(i-1)), A(i)=(x(i),y(i)),A(i+1)=(x(i+1),y(i+1)),在A(i)處的插補(bǔ)半徑為R
4 解決思路
(1)計(jì)算A(i-1)A(i)與A(i)A(i+1)的向量V1V2與A(i-1)A(i)、A(i)A(i+1)的直線(xiàn)方程
(2)計(jì)算-V1與V2的角平分線(xiàn)向量VL3,根據(jù)V3與A(i)點(diǎn)求出A(i-1)A(i)A(i+1)的角平分線(xiàn)方程L
(3)在L上確定插補(bǔ)圓心的坐標(biāo)O
(4)根據(jù)插補(bǔ)圓心O的坐標(biāo)與A(i-1)A(i)、A(i)A(i+1)的直線(xiàn)方程求出直線(xiàn)段與插補(bǔ)圓弧的交接點(diǎn)B1與B2
(4)設(shè)定向量VX=OB1 VY=OB2為插補(bǔ)圓局部坐標(biāo)系的X軸與Y軸
(5)由VZ與V1 V2都垂直,可求出局部坐標(biāo)系的Z軸向量
(6)由VX VY VZ可求出插補(bǔ)圓局部坐標(biāo)系到全局坐標(biāo)系的基底變換矩陣T
(7)在局部坐標(biāo)系令x=Rcos(a) y=Rsin(a) z=0再通過(guò)基底坐標(biāo)變換公式,可以求插補(bǔ)點(diǎn)的全局從標(biāo)
(8)根據(jù)插補(bǔ)點(diǎn)坐標(biāo)求出每點(diǎn)處的圓弧切向量,做為截面法向量
(9)將截面置于XOY平面內(nèi),切向量為Z軸,通過(guò)坐標(biāo)變換可求出截面的空間坐標(biāo)
(10)建立頂點(diǎn)索引,生成三角網(wǎng)并顯示
不知道我這個(gè)思路哪兒有問(wèn)題。反正是有時(shí)候很準(zhǔn)確,有的時(shí)候就不準(zhǔn)確。郁悶ing