在搞砸Panda3D以查看我是否可以使用它来解决一些简单的几何问题时,我已经完成了这个小测试:def def_planes_intersect(): """Intersects the plane defined by the xy and xz axis'.""" xy = Plane() xz = Plane((LPoint3f(1, 0, 1), LPoint3f(2, 0, 1), LPoint3f(1, 0, 2))) if xy.intersectsPlane((0, 10, 0), (1, 0, 0), xz) is True: print("works") else: print("doesn't")它按预期工作,但我不明白的是我如何采用定义交集的LPoint3f和LVector3f。在Panda3D文档中,它说:相交平面(来自: LPoint3f, delta: LVector3f, 其他: LPlanef) → bool如果两个平面相交,则返回 true;如果它们不相交,则返回 false。如果它们相交,则 from 和 delta 将使用相交线的参数表示进行填充:也就是说,from 是该线上的一个点,delta 是显示直线方向的向量。它们是什么意思 from 和 delta 被填充?
1 回答
白衣非少年
TA贡献1155条经验 获得超0个赞
因此,在编写我的问题时,我意识到我必须初始化LPoint3f和LVector3f的实例,并且该方法将用相关数据填充它们。我决定发布这个,因为可能有人会像我一样迷路
from panda3d.core import LPoint3f, Plane, LVector3f
def def_planes_intersect():
"""Intersects the plane defined by the xy and xz axis'."""
xy = Plane()
xz = Plane((LPoint3f(1, 0, 1), LPoint3f(2, 0, 1), LPoint3f(1, 0, 2)))
a = LPoint3f()
av = LVector3f()
if xy.intersectsPlane(a, av, xz) is True:
print("works")
print(f"{a}\n{av}")
else:
print("doesn't")
这打印了以下明显的结果:
LPoint3f(0, 0, 0)
LVector3f(1, 0, 0)
添加回答
举报
0/150
提交
取消