OPENGL的NURBS曲面製作

2021-08-23 12:51:10 字數 1359 閱讀 9295

環境vc下控制台程式設計

link:

glut32.lib glu32.lib opengl32.lib

事先要搞好glut32環境

#include

#include

glunurbsobj *thenurb1;

glunurbsobj *thenurb2;

glfloat ctrlpoints[5][5][3] = ,,,,},

,,,,},

,,,,},

,,,,},

,,,,}};//控制點

glfloat mat_diffuse = ;

glfloat mat_specular = ;

glfloat mat_shininess = ;

glfloat light_position = ;

void myinit(void)

int spin = 0;

/*接收鍵盤指令*/

static void mykey(unsigned char key,int x,int y)}

/*繪製曲面*/

void mydisplay(void);

glclear(gl_color_buffer_bit|gl_depth_buffer_bit);

glrotatef(50.0,1.0,1.0,0.0);

/*第乙個曲面*/

glpushmatrix();

gltranslatef(1.0,0.0,0.0);

glubeginsu***ce(thenurb1);

/*定義曲面形狀*/

glunurbssu***ce(thenurb1,10,knots,10,knots,5*3,3,&ctrlpoints[0][0][0],5,5,gl_map2_vertex_3);

gluendsu***ce(thenurb1);

glpopmatrix();

/*第二個曲面*/

glpushmatrix();

gltranslatef(7.0,0.0,0.0);

glubeginsu***ce(thenurb2);

/*定義曲面形狀*/

glunurbssu***ce(thenurb2,10,knots,10,knots,5*3,3,&ctrlpoints[0][0][0],5,5,gl_map2_vertex_3);

gluendsu***ce(thenurb2);

glpopmatrix();

glutswapbuffers();}

void myreshape(glsizei w,glsizei h)

int main(int argc,char ** argv)

用VC OpenGL繪製NURBS曲面

本文回顧了nurbs曲面基本性質,研究了nurbs曲面的繪製,並給出了任意nurbs曲面的繪製 及示例資料。1.nurbs曲面 1.1 nurbs的兩種表示 這裡只介紹nurbs繪製中需要用到的一些基本知識。通常,乙個nurbs曲面f s,t 包含三個要素 控制頂點 x,y,z 節點序列 s,t 和...

iges格式 平面轉128nurbs曲面

最近通過同學介紹在一家公司幹了兩個星期活,掙了1000 塊生活費。公司不大,是乙個外包公司,現在在做乙個類似 autocad 的軟體,我負責其中乙個功能的開發,這個功能是將三維立體圖形 例如橋梁的立體模型圖 匯出成 iges 格式的檔案。昨天剛結束這個任務,在部落格留個腳印。先說一下iges 格式。...

第十二講 繪製NURBS曲線和曲面

上一節講了一般的曲線與曲面的繪製,本節講nurbs曲線和曲面的繪製。例11 此例繪製兩個相同形狀的nurbs曲面,不同之處是乙個為線框式,乙個是由實多邊形組成。執行後可以看到其中的區別,如圖十三所示。include include glunurbsobj thenurb1 glunurbsobj t...