【发布时间】:2017-09-14 01:57:50
【问题描述】:
在下面的小提琴中,我在递归树结构的某些点绘制了圆圈。
https://jsfiddle.net/ypbprzzv/4/
树形结构本身是此处的简化版本:
https://processing.org/examples/tree.html
如果不是在 (0, -h) 处在变换和旋转的网格上绘制圆圈,也就是在小提琴中绘制它们的位置,我想挂在未旋转的 y 方向(向下)悬挂的钟摆怎么办? .如果钟摆是对象类的实例,那么添加一个新实例而不是(或除此之外)绘制圆会很容易。
void branch(float h) {
h *= 0.6;
if (h > 10) {
pushMatrix();
rotate(a);
line(0, 0, 0, -h);
fill(0, 175, 0, 100);
if (h < 50) {
// I could add a new pendulum here, at (0, -h)
ellipse(0, -h, 5, 5);
}
translate(0, -h);
branch(h);
popMatrix();
} // closing the if statement
} // closing branch function
我已经尝试过了,但是因为我想保持代码非常简短,所以我没有包含它。钟摆确实挂了,但是方向很奇怪,因为当我创建这些实例时,整个网格是 xformed 和旋转的(这需要简化绘制树或其他有趣结构的情况)。
假设我想让这些钟摆对用户交互敏感。对象的参照系与用户不同。
所以我试着总结一下这个问题:
是否可以在经过变换和旋转的网格上创建对象实例,但该对象是否以相对于未旋转网格的规定方式运行?
提供包括钟摆在内的小提琴会有所帮助吗?
【问题讨论】: