我正在使用 openTk 进行我的第一个项目。我正在为 3D 模型旋转创建虚拟轨迹球。它工作正常,但我需要添加不会随模型旋转的圆圈。这个圆圈应该可视化轨迹球。我实现旋转的代码是:
private void SetCamera()
{
GL.MatrixMode(MatrixMode.Modelview);
Matrix4 scale = Matrix4.Scale(magnification / diameter);
Matrix4 translation1 = Matrix4.CreateTranslation(-center);
Matrix4 rotation = Matrix4.CreateFromAxisAngle(axisOfRotation, angleOfRotation*(float)numericSensitivity.Value);
Matrix4 translation2 = Matrix4.CreateTranslation(0.0f, 0.0f, -1.5f);
if (rotationChanged)
{
oldRotation *= rotation;
rotationChanged = false;
}
modelview = translation1 * scale * oldRotation * translation2;
GL.LoadMatrix(ref modelview);
}
所以我想问一下是否有某种方法可以画圆,它不会受到这种旋转的影响(将在屏幕上的同一位置)。