求glutMotionFunc函数应用实例 一个简单的小程序即可

求glutMotionFunc函数应用实例 一个简单的小程序即可,第1张

//鼠标 *** 作的旋转立方体

#include <mathh>

#include <GL/gluth>

#include <stdlibh>

int winWidth, winHeight;

float angle = 00, axis[3], trans[3];

bool trackingMouse = false;

bool redrawContinue = false;

bool trackballMove = false;

GLfloat vertices[][3] = {

{-10,-10,-10}, {10,-10,-10}, {10,10,-10}, {-10,10,-10},

{-10,-10,10}, {10,-10,10}, {10,10,10}, {-10,10,10}

};

GLfloat colors[][3] = {

{00,00,00}, {10,00,00}, {10,10,00}, {00,10,00},

{00,00,10}, {10,00,10}, {10,10,10}, {00,10,10}

};

void polygon(int a, int b, int c , int d, int face)

{

glBegin(GL_POLYGON);

glColor3fv(colors[a]);

glVertex3fv(vertices[a]);

glColor3fv(colors[b]);

glVertex3fv(vertices[b]);

glColor3fv(colors[c]);

glVertex3fv(vertices[c]);

glColor3fv(colors[d]);

glVertex3fv(vertices[d]);

glEnd();

}

void colorcube(void)

{

polygon(1,0,3,2,0);

polygon(3,7,6,2,1);

polygon(7,3,0,4,2);

polygon(2,6,5,1,3);

polygon(4,5,6,7,4);

polygon(5,4,0,1,5);

}

float lastPos[3] = {00F, 00F, 00F};

int curx, cury;

int startX, startY;

void trackball_ptov(int x, int y, int width, int height, float v[3])

{

float d, a;

v[0] = (20Fx - width) / width;

v[1] = (height - 20Fy) / height;

d = (float) sqrt(v[0]v[0] + v[1]v[1]);

v[2] = (float) cos((31415926/20F) ((d < 10F) d : 10F));

a = 10F / (float) sqrt(v[0]v[0] + v[1]v[1] + v[2]v[2]);

v[0] = a;

v[1] = a;

v[2] = a;

}

void mouseMotion(int x, int y)

{

float curPos[3], dx, dy, dz;

trackball_ptov(x, y, winWidth, winHeight, curPos);

if(trackingMouse)

{

dx = curPos[0] - lastPos[0];

dy = curPos[1] - lastPos[1];

dz = curPos[2] - lastPos[2];

if (dx || dy || dz) {

angle = 900F sqrt(dxdx + dydy + dzdz);

axis[0] = lastPos[1]curPos[2] - lastPos[2]curPos[1];

axis[1] = lastPos[2]curPos[0] - lastPos[0]curPos[2];

axis[2] = lastPos[0]curPos[1] - lastPos[1]curPos[0];

lastPos[0] = curPos[0];

lastPos[1] = curPos[1];

lastPos[2] = curPos[2];

}

}

glutPostRedisplay();

}

void startMotion(int x, int y)

{

trackingMouse = true;

redrawContinue = false;

startX = x; startY = y;

curx = x; cury = y;

trackball_ptov(x, y, winWidth, winHeight, lastPos);

trackballMove=true;

}

void stopMotion(int x, int y)

{

trackingMouse = false;

if (startX != x || startY != y) {

redrawContinue = true;

} else {

angle = 00F;

redrawContinue = false;

trackballMove = false;

}

}

void display(void)

{

glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);

if (trackballMove)

{

glRotatef(angle, axis[0], axis[1], axis[2]);

}

colorcube();

glutSwapBuffers();

}

void mouseButton(int button, int state, int x, int y)

{

if(button==GLUT_RIGHT_BUTTON) exit(0);

if(button==GLUT_LEFT_BUTTON) switch(state)

{

case GLUT_DOWN:

y=winHeight-y;

startMotion(x,y);

break;

case GLUT_UP:

stopMotion(x,y);

break;

}

}

void myReshape(int w, int h)

{

glViewport(0, 0, w, h);

winWidth = w;

winHeight = h;glViewport(0, 0, w, h);

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

if (w <= h)

glOrtho(-20, 20, -20 (GLfloat) h / (GLfloat) w,

20 (GLfloat) h / (GLfloat) w, -100, 100);

else

glOrtho(-20 (GLfloat) w / (GLfloat) h,

20 (GLfloat) w / (GLfloat) h, -20, 20, -100, 100);

glMatrixMode(GL_MODELVIEW);

}

void spinCube()

{

if (redrawContinue) glutPostRedisplay();

}

int main(int argc, char argv)

{

glutInit(&argc, argv);

glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);

glutInitWindowSize(500, 500);

glutCreateWindow("colorcube");

glutReshapeFunc(myReshape);

glutDisplayFunc(display);

glutIdleFunc(spinCube);

glutMouseFunc(mouseButton);

glutMotionFunc(mouseMotion);

glEnable(GL_DEPTH_TEST);

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

glOrtho(-20, 20, -20, 20, -20, 20);

glMatrixMode(GL_MODELVIEW);

glutMainLoop();

}

根据相关规章制度,企业环评公示可以在政府网站、行业网站或者地方门户网站、报纸、媒体上进行公示。当前在政府网站、报纸和媒体公信力是较强,但是公示流程复杂,报纸和媒体还会收取高额的费用。在不影响公示的情况下,可以到行业网站上公示,自行注册、自行发布,几分钟就可以完成公示,和其他官方的网站或者媒体有同样的效力。国内公示比较多的网站如,环评爱好者、环评论坛、易环评、第一环评等网站,前两者为论坛,后两者为行业网站登报可以直接在手机支付宝或者微信小程序上 *** 作,在支付宝首页搜:跑政通,里面省级市级报纸都有价格很详细,可以根据自己的情况选报纸。价格从几十元到几百元不等。可以加速办理有很多相关信息。。

《万族之劫》百度网盘txt最新全集下载:

链接:>   提取码:zmkq

简介:作者:老鹰吃小鸡,安平历350年。大夏府,南元城。苏家。苏宇一进家门便闻到了菜香味,丢下书包,走到餐桌前,随手拣起一块红烧肉扔进嘴里。一边咀嚼着,苏宇一边看向厨房含糊道:“爸,明天换个汤,天天吃肉也不腻得慌。

返回的是个json,

给你个思路,自己解决下,做不了在追们问:

1、需要用eval函数将返回的串转化成可用的strig串,eval(data),但是因为原串里面是以{}开始和结束的,会被认为是可执行方法,因此需要加上()包围起来,var jsonobj=eval("("+data+")"),然后再alert("ID:" + jsonobjid + "\nName:" + jsonobjtime);就能正常显示了

2、获取的时候就直接表示返回的是json格式,用$getJSON代替$get,其他代码不变,也能正常获取。

以上就是关于求glutMotionFunc函数应用实例 一个简单的小程序即可全部的内容,包括:求glutMotionFunc函数应用实例 一个简单的小程序即可、公路改线段工程出完环评公告是不是就快开工建设了、求 万族之劫 小说 百度云资源,谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9427791.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存