首页 > 解决方案 > Three.js Curve.getPoint() 返回世界坐标

问题描述

我正在尝试通过使用以下函数在 Three.js 中的世界坐标上获取椭圆曲线上的点的位置:

pt = ellipse.getPoint(t[i]);

但是,它返回一个 Vector2 对象,其局部坐标由椭圆定义。有什么方法可以将其转移到全局坐标?

标签: three.jscurve

解决方案


这个问题是有问题的,因为EllipseCurve它是一条 2D 曲线,这意味着它位于概念平面上。

如果您想在 3D 空间中采样曲线点,您当然可以将 x 和 y 坐标复制到 的实例,Vector3然后将z组件设置为0.

另请注意,与 不同THREE.Object3D的是,THREE.Curve该类不支持分层转换。因此,术语本地和全局范围在这种情况下没有意义。您将不得不使用您的采样点,例如创建THREE.Points(点云)的一个实例,以便您可以将其添加到场景图中并在对象级别对其进行转换。


推荐阅读