2016 電腦圖學 Computer Graphics 授課教師: 葉正聖 銘傳大學資訊傳播工程系 每週主題: 程式環境、點線面顏色、移動/旋轉/縮放與矩陣(Matrix)、階層性關節轉動(T-R-T)、做出機器人、打光、貼圖、glu/glut函式、鍵盤、滑鼠、計時器(timer)、讀入3D模型、粒子系統、聲音、特效、投影矩陣、攝影機與運鏡、機器人2.0、期末作品
2016年5月30日 星期一
week15和鋼鐵人一起拯救世界a柏廷
TODO:用EXCEL作內插
TODO :在OPENGL/GLUT作動作內插
TODO :10個ROT 去內插播放(TIMER)計時器
程式碼: 可以存入每個位置的數值 利用TIMER函式將兩個數值內插多個數值,可以讓動作變得更平滑流暢
#include <stdio.h>
#include <GL/glut.h>
float pos=0, oldX=0.7, newX=0.1;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glTranslatef(pos, 0,0);
glutSolidTeapot(0.2);
glPopMatrix();
glutSwapBuffers();
}
void timer (int t)
{
float alpha=t/100.0;
pos = newX*alpha+oldX*(1-alpha);
printf("%d %f %f \n",t,alpha,pos);
glutTimerFunc(100,timer,t+1);
glutPostRedisplay();
}
int main (int argc, char**argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("123");
glutDisplayFunc(display);
glutTimerFunc(100,timer,0);
glutMainLoop();
}
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言