OpenGL提供了十幾個三維實(shí)體模型的輔助庫函數(shù),這些函數(shù)在aux庫中。常見的簡單模型如球體、立方體、圓柱體等都可以直接使用這些函數(shù)繪制。但是,在雕銑機(jī)的應(yīng)用中出現(xiàn)的圖形一般比較復(fù)雜,因此本軟件中所有的模型都是通過組織一些小三角形和小矩形來形成的。
確定實(shí)體的位置和尺寸
雕銑機(jī)加工中對實(shí)體要求有很強(qiáng)的位置關(guān)系,而且在仿真的動畫過程中這些關(guān)系在不斷變化。OpenGL提供了一些可對物體進(jìn)行平移、旋轉(zhuǎn)和縮放的函數(shù),如平移函數(shù)voidg-lTranslatef(GLfloatx,GLfloaty,GLfloatz),可以使物體沿X、Y、Z軸任意平移。采用正交投影變換,由函數(shù)voidglOrtho(GLdoubleleft,GLdoubleright,GLdoublebottom,GLdoubletop,GLdoublenear,GLdoublefar)來定義一個各面都為矩形的六面體。在程序中判斷加工坐標(biāo)的最大和最小值,根據(jù)視圖區(qū)的大小適當(dāng)縮放這些坐標(biāo)值。