【发布时间】:2015-03-04 01:08:06
【问题描述】:
struct Point{
float x;
float y;
};
使用这个结构,我得到了 4 个点,并为它们分配了值。然后使用Points 的实例来创建图片中显示的线条。
PO.x = -0.5f;
PO.y = 0.5f;
P1.x = -1.0f;
P1.y = -0.5f;
Q0.x = 0.5;
Q0.y = -1.0f;
Q1.x = 0.7f;
Q1.y = 0.1f;
glPushMatrix();
glLineWidth(2.5);
glColor3f(1.0, 0.0, 0.0);
glBegin(GL_LINES);
glVertex2f(PO.x, PO.y);//PO
glVertex2f(P1.x, P1.y);//P1
glVertex2f(Q0.x, Q0.y);//QO
glVertex2f(Q1.x, Q1.y);//Q1
glEnd();
glPopMatrix();
虚线应该是从点 P0 到 Q0 的过渡,所以是第四个。
我所理解的是 LERP 这种技术的概念,它在两条线(或关键帧)之间创建中间帧。我不明白它是如何工作的。
x = x_start + ((x_final - x_start) * time)// where time is a value between zero and one
以上是该技术的公式,但我将如何将其实现到我的 glut 应用程序中?
在网上找不到任何使用 GLUT 和 LERP 来演示动画的资源。
【问题讨论】:
标签: opengl animation vector glut linear-interpolation