91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 10KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-09
  • 語(yǔ)言: 其他
  • 標(biāo)簽:

資源簡(jiǎn)介

鼠標(biāo)選取關(guān)鍵點(diǎn)繪制曲線,可以鼠標(biāo)對(duì)關(guān)鍵點(diǎn)進(jìn)行拖拽,實(shí)現(xiàn)平移,旋轉(zhuǎn)操作。

資源截圖

代碼片段和文件信息

//?curve.cpp?:?Defines?the?entry?point?for?the?console?application.
//

#include?“stdafx.h“

#include?“GL/glut.h“

void?init();
void?keyboard(unsigned?char?key?int?x?int?y);
void?drawCurves(void);
void?curve_menu(int?id);
void?display(void);
void?points_mouse(int?button?int?state?int?x?int?y);
void?reshape(int?w?int?h);
void?initLight(void);

#define?MAX_CPTS??25???/*?fixed?maximum?number?of?control?points?*/
#define?Bezier??1
#define?Bspline?2
#define?Bez3d???3

GLfloat?cpts[MAX_CPTS][3];
int?ncpts?=?0;
static?int?width?=?500?height?=?500;???/*?window?width?and?height?*/

GLint?type=0;
GLfloat?newcpts[MAX_CPTS][3];
static?GLfloat?xx=0.0;
static?GLfloat?yy=0.0;
static?GLfloat?zz=1.0;
static?GLfloat?theta[]={0.00.00.0};
static?GLint?axis=2;

//添加變量
double?object_x?=?0object_y?=?0object_z?=?0;?????//3D坐標(biāo)
GLdouble?winx?winy?winz; //2D坐標(biāo)
int?m_drawPos?=?-1;
bool?isPro?=?false;
bool?isRun?=?false;

/*?Bez3d‘s?control?points*/
GLfloat?points[4][4][3]={

{{-0.5-0.50.6}{-0.2-0.50.6}
{0.3-0.5-0.4}{0.5-0.50.6}}

{{-0.5-0.30.4}{-0.30.50.6}
{0.30.30.4}{0.5-0.3-0.5}}

{{-0.50.30.6}{-0.30.30.5}
{0.30.30.8}{0.5-0.50.5}}

{{-0.50.5-0.6}{-0.30.5-0.6}
{0.30.30.4}{0.50.5-0.5}}

};

void?vmult(float?m[4][4]?float?v[4][3]?float?r[4][3]){
int?ijk;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
{
r[i][j]=0;
for(k=0;k<4;k++)??
r[i][j]+=m[i][k]*v[k][j];
}

}

static?float?mbspline[4][4]=
{
{1.0/6.0?4.0/6.0?1.0/6.0?0.0}
????{0.0?4.0/6.0?2.0/6.0?0.0}
{0.0?2.0/6.0?4.0/6.00.0}
{0.0?1.0/6.0?4.0/6.0?1.0/6.0}
};

static?float?midentity[4][4]=
{
{1.0?0.0?0.0?0.0}
????{0.0?1.0?0.0?0.0}
{0.0?0.0?1.0?0.0}
{0.0?0.0?0.0?1.0}
};


void?computeMatrix(float?m[][4])
{
for(int?i?=?0;i<4;i++)
for(int?j?=?0;?j<4;j++)
{
m[i][j]?=?mbspline[i][j];
}
}

void?init()
{
glClearColor(1.0?1.0?1.0?1.0);
????glColor3f(0.0?0.0?0.0);
????glPointSize(5.0);
????glEnable(GL_MAP1_VERTEX_3);

????glutAddMenuEntry(“Bezier“1);
????glutAddMenuEntry(“Bspline“2);
????glutAddMenuEntry(“Bez3d“3);
????glutAddMenuEntry(“clear?“4);
????glutAddMenuEntry(“quit“5);
glutAttachMenu(GLUT_RIGHT_BUTTON);


glEnable(GL_POINT_SMOOTH);??
glEnable(GL_LINE_SMOOTH);??
glHint(GL_POINT_SMOOTH_HINT?GL_NICEST);?//?Make?round?points?not?square?points??
glHint(GL_LINE_SMOOTH_HINT?GL_NICEST);??//?Antialias?the?lines??
glEnable(GL_BLEND);??
glBlendFunc(GL_SRC_ALPHA?GL_ONE_MINUS_SRC_ALPHA);??

}


/*?draw?the?three?kinds?of?curves*/
void?draw_Bezier()
{
??int?i;
????for(i=0;?i????{
????????/*?draw?the?curve?using?OpenGL?evaluators?*/

????????glMap1f(GL_MAP1_VERTEX_3?0.0?1.0?3?4?cpts[i]);
????????glMapGrid1f(30?0.0?1.0);
????????glEvalMesh1(GL_LINE?0?30);
????}
}

void?DrawBspline()
{
int?i=0;
int?step;

flo

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件??????10782??2010-01-31?22:09??curve\curve.cpp

?????文件????????874??2010-01-19?21:52??curve\curve.sln

????..A..H.?????15360??2010-01-31?22:15??curve\curve.suo

?????文件???????5855??2010-01-19?22:08??curve\curve.vcproj

?????文件???????1427??2010-01-31?22:15??curve\curve.vcproj.CHINA-CC7F7FBC2.Administrator.user

?????文件???????1202??2010-01-15?20:56??curve\ReadMe.txt

?????文件????????292??2010-01-15?20:56??curve\StdAfx.cpp

?????文件????????769??2010-01-15?20:56??curve\StdAfx.h

?????目錄??????????0??2010-01-31?22:15??curve

-----------?---------??----------?-----??----

????????????????36561????????????????????9


評(píng)論

共有 條評(píng)論

相關(guān)資源