三.js Curve.getPoint() 返回一个世界坐标

问题描述

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

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

然而,它返回一个 Vector2 对象,其局部坐标由椭圆定义。 有什么方法可以把它转成全局坐标吗?

解决方法

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

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

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