3d - 检查点是否在 3d 线上?

标签 3d geometry points angle

我知道如何检查一个点是否在 2d 线上,但我想在 3D 中执行此操作。有任何想法吗?

        // slope from point 1 to point 3
        var p13:Number = (Math.atan2 (end.x - start.x, end.y - start.y)) * toDegrees;

        // slope from point 1 to point 2 -- matches?
        var p12:Number = (Math.atan2 (point.x - start.x, point.y - start.y)) * toDegrees;

        return Math.round(p12) == Math.round(p13);

最佳答案

对向量进行归一化。检查法线是否匹配。

找到最大值,将所有其他值除以该值,从而得到向量法线。

一条线上的任何点都应该具有相同的向量法线。

关于3d - 检查点是否在 3d 线上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5043745/

相关文章:

python - 在 Julia 中使用点绘制球体

java - 如何在圆内画圆?

algorithm - 线段交叉实现

bezier - 查找穿过N点的曲线的贝塞尔曲线控制点

javascript - Three.js 将对象补间到相机前面

image-processing - 如何确定(倾斜的)矩形目标与相机的距离

matlab - 将 3d 坐标存储在点列表中 Matlab

opengl - 基于四元数的相机

r - 在 R 中绘制 3D 数据

c++ - 跟踪对象局部坐标空间