我正在尝试以螺旋模式平移 OpenGl 对象。我无法弄清楚这一点。问题是我知道我需要增加 x、y 和 z 坐标的角度,但是我使用的平移函数仅将对象移动了特定于对象的平移量。我使用的轴是 Y 向上,Z 朝向屏幕,X 朝向右侧。
public override void Move(Figure fig)
{
double angle = 0;
double x = RADIUS * Math.Cos(angle);
double y = (angle / RADIUS);
double z = RADIUS * Math.Sin(angle);
fig.Translate(x, y, z);
angle += .5;
}
public void Translate(double fx, double fy, double fz)
{
translateAmt[0] += fx;
translateAmt[1] += fy;
translateAmt[2] += fz;
}