处理中

时间:2016-06-14 02:05:25

标签: processing simulation microcontroller

我正在使用四轮直升机并且为了测试目的,我决定使用Processing给我一个关于微控制器正在处理和计算的可视化示例(以及稍后可能的一些控制算法模拟) 。所以我制作了一个四轮直升机的简单模型,并将其显示在屏幕的右上角。在"休息位置,"我想要一个完美的四轮直升机侧视图,如下所示:

enter image description here

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

enter image description here

第二张图片是当我在右上方渲染Quad时,第一张是在窗口中将其渲染为死角时。

我理解这里发生了什么,但我不知道如何解决它。渲染系统假设我的视角在屏幕上是死点,因此从我的下方和前方看到的任何东西都在我的视角的右边。我在他们网站上的参考选项卡上探讨了一下,似乎没有什么能完全符合我的要求。我认为会有一个解决方案,但我目前找不到一个。有谁知道如何解决这个问题?感谢。

1 个答案:

答案 0 :(得分:1)

听起来您可能正在寻找ortho()功能。您可以在参考here中阅读相关内容。

  

设置正交投影并定义平行剪裁体积。无论相近还是远离相机,所有具有相同尺寸的对象都会显示相同的尺寸。

在不调用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);
}

你现在不再看到广场的“深度”了。您可以向ortho()函数添加参数,使其完全符合您的要求,但这些是基础知识。

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