消除处理中的视角

Eliminating View Angles in Processing

我正在研究四轴飞行器,出于测试目的,我决定使用 Processing 给我一个微控制器正在处理和计算的可视化示例(稍后可能还有一些控制算法模拟) .所以我制作了一个简单的四轴飞行器模型,并将其显示在屏幕的右上角。在 "rest position," 我想要四轴飞行器的完美侧视图,就像这样:

相反,我得到这样的图像:

第二张图片是我在右上角渲染四边形的时候,第一张是我在 window.

中渲染它的死角的时候

我明白这里发生了什么,但我不知道如何解决它。渲染系统假定我的视点在屏幕的正中央,所以我的视点上方和右侧的任何东西都可以从下方和前方看到一点。我在他们网站上的“参考”选项卡上四处寻找,似乎没有什么能完全符合我的要求。我认为会有解决方案,但我目前找不到 one.Does 有人知道如何解决这个问题吗?谢谢

听起来您可能正在寻找 ortho() 函数。您可以在参考文献 here.

中阅读相关内容

Sets an orthographic projection and defines a parallel clipping volume. All objects with the same dimension appear the same size, regardless of whether they are near or far from the camera.

考虑这个不调用 ortho() 函数的小示例程序:

void setup(){
  size(500, 500, P3D);
}

void draw(){
  background(255);
  translate(300, 100);
  noFill();
  stroke(0);
  box(100, 100, 100);
}

现在让我们添加对 ortho() 函数的调用:

void setup(){
  size(500, 500, P3D);
}

void draw(){
  background(255);
  translate(300, 100);
  ortho();
  noFill();
  stroke(0);
  box(100, 100, 100);
}

您现在看不到正方形的 "depth"。您可以向 ortho() 函数添加参数,使其完全按照您的意愿运行,但这些是基础。

或者,您可以执行一些操作,例如设置一个您绘制到中间的视图,然后将该视图绘制在主视图的右上角。