Example: barber

8 自由曲線・曲面 - shonan-it.ac.jp

1. 2. 1. x,y,x xfy xgzxfy , 0, yxf 0,,,0,, zyxgzyxf tzztyytxx ,, B B B B NURBS NURBS OpenGL NURBS 3 3 = ax3+bx2+cx+d y

8.1 自由曲線と曲面の概要 陽関数 陰関数 パラメータ表現された3次元曲線 パラメータ表現は,x,y,x毎のパラメータによる陽関数表現 形状普遍性・座標独立性 曲線上の点を直接に計算可能 多価の曲線も表現可能 低次の多項式は,計算と操作が容易な関数

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of 8 自由曲線・曲面 - shonan-it.ac.jp

1 1. 2. 1. x,y,x xfy xgzxfy , 0, yxf 0,,,0,, zyxgzyxf tzztyytxx ,, B B B B NURBS NURBS OpenGL NURBS 3 3 = ax3+bx2+cx+d y

2 X P t P(t) = at3+bt2+ct+d (t=0 1)---[1] t QQQQ ttttP tppttXtpttXtpttXtpttXQQQQtXtXtXtXtPee ,0, tttjntBQtBtPjjnnjnjjnj t=0 B0,3(t) 0 Q0 t=1 B3,3(t) 0 Q4 ,,,00,,jjnnjiinmiminjijnjmivvjnvBuuimuBQ vBuBvuP ,,,1,0101111000100,,1,0 vBvBvBQQQQQQQQQuBuBuBvuPnnnnmnmmnnmmmm OpenGL 1. t glMap1f() 2. glEvalCoord1f() t glEvalCoord1f() glVertex() glEvalCoord1f() glVertex() glBegin() glEnd() OpenGL 1.

3 U,v glMap2f() 2. glEvalCoord2f() u,v glEvalCoord2f() glVertex() glEvalCoord2f() glVertex() glBegin() glEnd() 1. 2. 3. glMap2f() glEvalMesh2() /* Bezier curves generate and display 8-1 */GLfloatcontrolpoints[4][3]={{ , , }, { , , },{ , , },{ , , }};glMap1f(GL_MAP1_VERTEX_3, , , 3, 4, &controlpoints[0][0]);glEnable(GL_MAP1_V ERTEX_3);glBegin(GL_LINE_STROIP);for(i=0 ; i<=30; ++1){glEvalCood1f((GLfloat)( ));}glEnd(); 1. 2. 3.

4 GlMap2f() glEvalMesh2() /* Bezier curves generate and display 8-2 */glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4, &controlpoints[0][0][0]);glEnable(GL_MAP 2_VERTEX_3);glEnable(GL_AUTO_NORMAL);glM apGrid2f(8, , , 8, , );glEvalMesh2(FL_FILL, 0, 8, 0, 8);/* Bezier curves generate and display 8-3 */for(j=o; j<=8; j++){glBegin(GL_LINE_STRIP);for(i=0; i<=30; ++i){glEvalCood2f((GLfloat)( ), (GLfloat)( )));}glEnd();glBegin(GL_LINE_STRIP);for( i=0; i<=30; ++i){glEvalCood2f((GLfloat)( ), (GLfloat)( )));}glEnd(); B n+1 Q0,Q2, ,Qn B NJ,M(t) M, M-1 B P(t) n-M+2 B , njjMjQtNtP 000,0; ,110, tNttnoteotherwisettttNjjjjjj.}

5 11,111,1,tNtttttNtttttNMMjjMjMjMjjMjjMj B B m+1 Q0,Q2, Qm(m 3) m-2 m=3 P3 Q0 Q3 t3 t<t4 m 4 i ti Pi-1 Pi t3 tm+1 m-1 B Q00,Q01, ,Q0n, ,Qm0, ,Qmn K L B Ni,K(u),Nj,L(v) B P(u,v) B ,00,, minjijLjKiQvNuNvuP ,,,1,101111000100,,1,0 vNvNvNQQQQQQQQQuNuNuNvuPLnLLomnmmnnKmKK NURBA B B Qi wj B Qi wij ,0, MntwtNQwtNtPnjjMjnjjjMj 20, ,00,,00,, LnvKmuwvNuNQwvNuNvuPminjijLjKiminjijijLj Ki OpenGL GLU NURBA GLU () NURBS the NurbaCurve () NURBS knopts controlpoints gluNurbsCurve() 4.

6 GluNurbsCurve() gluBeginCurve() gluEndCurve()


Related search queries