專利名稱:一種在一般坐標(biāo)系中對(duì)三維構(gòu)造進(jìn)行坐標(biāo)變換并裝配組合的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)三維圖像軟件技術(shù)領(lǐng)域。
背景技術(shù):
坐標(biāo)變換包括轉(zhuǎn)動(dòng)和平移兩種操作。平移是一種比較容易實(shí)現(xiàn)的坐標(biāo) 變換;轉(zhuǎn)動(dòng)則較難用數(shù)學(xué)公式來表達(dá),特別是在非直角坐標(biāo)系中。在直角坐標(biāo)系中,繞通過 某點(diǎn)(xO,y0, z0)且方向余弦為(a,b,c)的某一軸逆時(shí)針旋轉(zhuǎn)α角的坐標(biāo)變換操作可以 由下列矩陣來完成。
上面公式中(xl,yl,zl)為旋轉(zhuǎn)前的坐標(biāo),(x,y,ζ)為旋轉(zhuǎn)后的坐標(biāo)。在一般坐 標(biāo)系中,繞通過某點(diǎn)(x0,y0,z0)且方向余弦為(a,b,c)的某一軸逆時(shí)針旋轉(zhuǎn)α角的坐標(biāo) 變換操作無法或者很難用數(shù)學(xué)公式來表達(dá)。本發(fā)明提出一種在一般坐標(biāo)系中進(jìn)行旋轉(zhuǎn)的方 法,并把它應(yīng)用于三維構(gòu)造的坐標(biāo)變換和裝配組合中。發(fā)明內(nèi)容本發(fā)明是通過建立一個(gè)參照的直角坐標(biāo)系,把描述三維構(gòu)造的一般坐 標(biāo)系里面的坐標(biāo)變換到參照的直角坐標(biāo)系中,在參照的直角坐標(biāo)系里面把三維構(gòu)造進(jìn)行各 種旋轉(zhuǎn)以后,再把坐標(biāo)變換回原來的一般坐標(biāo)系中而達(dá)到把一般坐標(biāo)系中三維構(gòu)造進(jìn)行旋 轉(zhuǎn)的方法。該方法被進(jìn)一步應(yīng)用于三維構(gòu)造的裝配組合中。參照的直角坐標(biāo)系可以選取在計(jì)算機(jī)三維圖像軟件中常用的窗口直角坐標(biāo)系。該 直角坐標(biāo)系以窗口平面作為XOY面,相對(duì)于用戶而言,向右為X方向,向上為Y方向,垂直于 窗口平面指向用戶為Z方向,原點(diǎn)可以位于窗口中央或者左下角。在描述三維構(gòu)造的一般 坐標(biāo)系里面進(jìn)行繞通過某點(diǎn)(xO,y0, z0)且方向余弦為(a,b,c)的某一軸逆時(shí)針旋轉(zhuǎn)a 角的坐標(biāo)變換操作時(shí),首先把三維構(gòu)造和旋轉(zhuǎn)軸變換到參照的直角坐標(biāo)系中,這種變換以 及其逆變換可以通過從兩個(gè)坐標(biāo)系的幾何關(guān)系計(jì)算得出來的矩陣來完成;然后在直角坐標(biāo) 系中按上面背景技術(shù)中列出的公式進(jìn)行旋轉(zhuǎn);旋轉(zhuǎn)之后再把三維構(gòu)造的坐標(biāo)從直角坐標(biāo)系 變換回原來描述三維構(gòu)造的一般坐標(biāo)系中。平移可以很容易在一般坐標(biāo)系中進(jìn)行。上述在一般坐標(biāo)系中繞某軸進(jìn)行旋轉(zhuǎn)的方法可以應(yīng)用于三維構(gòu)造的裝配組合中。 下面闡述兩種情形下的裝配組合方法。第一種情形是把其中一個(gè)三維構(gòu)造經(jīng)過指定的坐標(biāo)變換即繞若干軸做若干旋轉(zhuǎn) 并平移以后裝配到另一個(gè)三維構(gòu)造上。圖1是這種情形的一個(gè)例子的示意圖。這種情形裝 配方法如下首先把三維構(gòu)造二變換到參照的直角坐標(biāo)系中;在直角坐標(biāo)系中,把三維構(gòu) 造二按要求繞若干指定軸作若干指定旋轉(zhuǎn)后;再把它變換到三維構(gòu)造一的原來的坐標(biāo)系中并按要求平移后裝配到三維構(gòu)造一上。參見圖1。第二種情形是兩個(gè)三維構(gòu)造按照指定的條件進(jìn)行裝配。圖2是這種情形的一個(gè)例 子的示意圖。其裝配條件是三維構(gòu)造二里面的平面二平行于三維構(gòu)造一里面的平面一,并 且三維構(gòu)造二中平面二上的方向二平行于三維構(gòu)造一中平面一上的方向一。這種情形裝 配方法如下首先把兩個(gè)三維構(gòu)造變換到參照的直角坐標(biāo)系中,涉及裝配條件的三維構(gòu)造 上的幾何元素也同時(shí)變換到參照的直角坐標(biāo)系中,根據(jù)裝配條件計(jì)算出在參照直角坐標(biāo)系 中的旋轉(zhuǎn)軸以及旋轉(zhuǎn)角度,按裝配條件要求對(duì)其中一個(gè)三維構(gòu)造進(jìn)行若干旋轉(zhuǎn)后;再把該 三維構(gòu)造的坐標(biāo)變換到描述另一個(gè)三維構(gòu)造的坐標(biāo)系中,并平移后裝配到另一個(gè)三維構(gòu)造 上。本發(fā)明可以在各種通用或者專用的計(jì)算環(huán)境或者配置中使用。適用于本發(fā)明的 公知的計(jì)算系統(tǒng)、環(huán)境和/或配置的示例包括,但不限于,個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手提 式或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)電子設(shè)備、網(wǎng)絡(luò) PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)以及包括以上任何系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。本發(fā)明提出一種在一般坐標(biāo)系中繞任意軸進(jìn)行旋轉(zhuǎn)的方法,并把它應(yīng)用于三維構(gòu) 造的裝配組合中。本方法對(duì)在計(jì)算機(jī)三維圖像軟件中實(shí)現(xiàn)三維構(gòu)造的裝配與組合具有重要
眉、ο
圖1是三維構(gòu)造經(jīng)過指定的坐標(biāo)變換以后裝配到另一個(gè)三維構(gòu)造上的一個(gè)例子 的示意圖。圖2是三維構(gòu)造按照指定裝配條件裝配到另一個(gè)三維構(gòu)造上的一個(gè)例子的示意 圖。
具體實(shí)施方式
下面針對(duì)三維構(gòu)造裝配組合的兩種情形各舉一個(gè)實(shí)施例來進(jìn)一 步闡述本發(fā)明在一般坐標(biāo)系中繞任意軸進(jìn)行旋轉(zhuǎn)的方法。兩個(gè)例子都要用到描述三維構(gòu)造 的一般坐標(biāo)系與參照的直角坐標(biāo)系之間的變換與逆變換。描述三維構(gòu)造的一般坐標(biāo)系與參 照的直角坐標(biāo)系之間的坐標(biāo)變換可以通過選擇描述三維構(gòu)造的一般坐標(biāo)系與參照的直角 坐標(biāo)系共原點(diǎn)并共XOY面來比較容易地計(jì)算其變換矩陣以及其逆變換矩陣。圖1是上述第一種裝配組合情形的一個(gè)例子的示意圖。三維構(gòu)造二經(jīng)過繞垂直于 紙面而指向用戶的軸(軸一)逆時(shí)針旋轉(zhuǎn)90度角,再繞向上平行于紙面的軸(軸二)逆時(shí) 針旋轉(zhuǎn)45度角之后被裝配組合到三維構(gòu)造一中。其具體實(shí)施方式
如下把三維構(gòu)造二的坐 標(biāo)變換到參照的直角坐標(biāo)系中,同時(shí)兩個(gè)旋轉(zhuǎn)軸方向余弦以及它們經(jīng)過的點(diǎn)的坐標(biāo)也變換 到參照的直角坐標(biāo)系中,在參照的直角坐標(biāo)系中,按照上面背景技術(shù)中描述的旋轉(zhuǎn)數(shù)學(xué)公 式,首先繞軸一逆時(shí)針旋轉(zhuǎn)90度角,然后繞軸二逆時(shí)針旋轉(zhuǎn)45度角,最后把三維構(gòu)造二在 直角坐標(biāo)系中的坐標(biāo)逆變換到描述三維構(gòu)造一的坐標(biāo)系中,經(jīng)指定平移后裝配到三維構(gòu)造 一上。圖2是上面第二種情形兩個(gè)三維構(gòu)造按照指定的條件進(jìn)行裝配的一個(gè)例子的示 意圖。其裝配條件是三維構(gòu)造二里面的平面二平行于三維構(gòu)造一里面的平面一并且三維構(gòu) 造二中平面二上的方向二平行于三維構(gòu)造一中平面一上的方向一。該例子把其中一個(gè)三維 構(gòu)造經(jīng)過坐標(biāo)變換以后使其里面的一個(gè)平面平行于另一個(gè)三維構(gòu)造里面的一個(gè)指定平面
4并且該平面上的一個(gè)方向平行于另一個(gè)三維構(gòu)造里面的平行平面上的一個(gè)指定方向而裝 配到另一個(gè)三維構(gòu)造上。這種情形裝配方法如下首先把兩個(gè)三維構(gòu)造變換到參照的直角 坐標(biāo)系中,兩個(gè)平面或/和其法線以及兩個(gè)方向也一同變換到參照直角坐標(biāo)系中;在直角 坐標(biāo)系中,求出兩個(gè)平面的夾角及交線,此夾角和交線也可通過其法線來求得,把三維構(gòu)造 二繞兩個(gè)平面的交線旋轉(zhuǎn)兩個(gè)平面的夾角使兩平面平行,方向二也同時(shí)旋轉(zhuǎn);然后求出方 向二和方向一的交角,并由其交積求出兩個(gè)方向構(gòu)成平面的法線,把三維構(gòu)造二繞該法線 旋轉(zhuǎn)兩方向的交角使方向二與方向一平行;最后把三維構(gòu)造二再變換到三維構(gòu)造一的原來 的坐標(biāo)系中并按要求平移而裝配到三維構(gòu)造一上。參見圖2。 上述實(shí)施例是提供給本領(lǐng)域普通技術(shù)人員來實(shí)現(xiàn)本發(fā)明的一個(gè)實(shí)施例。本領(lǐng)域普 通技術(shù)人員可以在遵循本發(fā)明創(chuàng)新思想的情況下,對(duì)上述實(shí)施例做出種種修改或變化,因 此本發(fā)明的保護(hù)范圍并不被上述實(shí)施例所限,而應(yīng)該是符合權(quán)利要求書提到的創(chuàng)新性特征 的最大范圍。
權(quán)利要求
一種在一般坐標(biāo)系中對(duì)三維構(gòu)造進(jìn)行旋轉(zhuǎn)的方法,其特征是通過建立一個(gè)參照的直角坐標(biāo)系,把描述三維構(gòu)造的一般坐標(biāo)系里面的坐標(biāo)變換到參照的直角坐標(biāo)系中,在參照的直角坐標(biāo)系里面把三維構(gòu)造進(jìn)行各種旋轉(zhuǎn)以后,再把坐標(biāo)變換回原來的一般坐標(biāo)系中,從而達(dá)到在一般坐標(biāo)系中對(duì)三維構(gòu)造進(jìn)行旋轉(zhuǎn)的功效。
2.一種在一般坐標(biāo)系中把一個(gè)三維構(gòu)造經(jīng)過若干旋轉(zhuǎn)和平移后裝配到另一個(gè)三維構(gòu) 造上的方法,其特征是通過建立一個(gè)參照的直角坐標(biāo)系,把待旋轉(zhuǎn)的三維構(gòu)造以及旋轉(zhuǎn)軸 先變換到參照的直角坐標(biāo)系中,在參照的直角坐標(biāo)系里面把該三維構(gòu)造進(jìn)行各種旋轉(zhuǎn)以 后,再把其坐標(biāo)從參照的直角坐標(biāo)系變換到描述另一個(gè)三維構(gòu)造的一般坐標(biāo)系中,經(jīng)過指 定平移以后裝配到這另一個(gè)三維構(gòu)造上。
3.—種在一般坐標(biāo)系中把三維構(gòu)造二按照指定裝配條件裝配到三維構(gòu)造一上的方法, 其特征是通過建立一個(gè)參照的直角坐標(biāo)系,把三維構(gòu)造一及三維構(gòu)造二先變換到參照的直 角坐標(biāo)系中,涉及裝配條件的三維構(gòu)造上的幾何元素也同時(shí)變換到參照的直角坐標(biāo)系中, 在參照的直角坐標(biāo)系中,計(jì)算出裝配條件所涉及的旋轉(zhuǎn)軸與旋轉(zhuǎn)角度,并在參照的直角坐 標(biāo)系中把三維構(gòu)造二進(jìn)行相應(yīng)的旋轉(zhuǎn)以后,再把其坐標(biāo)從參照的直角坐標(biāo)系變換到描述三 維構(gòu)造一的一般坐標(biāo)系中,經(jīng)過適當(dāng)平移以后裝配到三維構(gòu)造一上。
全文摘要
一種在一般坐標(biāo)系中對(duì)三維構(gòu)造進(jìn)行坐標(biāo)變換并裝配組合的方法,所屬計(jì)算機(jī)三維圖像軟件技術(shù)領(lǐng)域。本發(fā)明是通過建立一個(gè)參照的直角坐標(biāo)系,把描述三維構(gòu)造的一般坐標(biāo)系里面的坐標(biāo)變換到參照的直角坐標(biāo)系中,在參照的直角坐標(biāo)系里面把三維構(gòu)造進(jìn)行各種旋轉(zhuǎn)以后,再把坐標(biāo)變換回原來的一般坐標(biāo)系中而達(dá)到把一般坐標(biāo)系中三維構(gòu)造進(jìn)行旋轉(zhuǎn)的方法。該方法被進(jìn)一步應(yīng)用于三維構(gòu)造的裝配組合中。本方法對(duì)在計(jì)算機(jī)三維圖像軟件中實(shí)現(xiàn)三維構(gòu)造的裝配與組合具有重要意義。
文檔編號(hào)G06T3/60GK101923705SQ20091004013
公開日2010年12月22日 申請日期2009年6月10日 優(yōu)先權(quán)日2009年6月10日
發(fā)明者張學(xué)志 申請人:曹莉