我正在寻找一种直接的方法来绘制一个标准平面方程式所指定的平面:
ax + by + cz + d = 0
我有平面参数(a
,b
,c
和d
),但我很难找到一个简单的方法来绘制此平面了openFrameworks。
我最接近的是使用lookAt
来设定平面来定位飞机:
ofPlanePrimative plane;
plane.lookAt(ofVec3f(a, b, c));
plane.draw();
这会正确定位飞机,但不会定位。当我尝试使用plane.setPosition
进行定位时,它似乎会重置方向;我不能把这些行动联系起来吗?
我确信这是相对简单的3D矢量数学,但出于某种原因,我正在努力解决这个问题。也许我不应该使用ofPlanePrimative
?我应该构建一个网格吗?理想情况下,我想绘制一个无限平面(也许是of3dUtils::drawGridPlane
)。
此时任何方向都会有所帮助。
答案 0 :(得分:0)
在lookAt:
之后,您可以使用 d 来移动您的飞机ofPlanePrimative plane;
plane.lookAt(ofVec3f(a, b, c));
plane.dolly(d);
plane.draw();