Java 寻找与另一点平行的点

Java 寻找与另一点平行的点,java,graphics,3d,point,jogl,Java,Graphics,3d,Point,Jogl,我试图找出如何制作一条4个单位宽的赛道,我想我需要找到一个与另一个点平行的点,我已经阅读了以下内容: 但我对此没有多大意义,这就是我目前的观点(方法的一部分): 我提议的解决办法: Vector vDelta = getPointPerTrackNr(trackNr, (t + (1d / SEGMENTS)) % 1.00d).subtract(pIn); Vector vWidth = new Vector( (

我试图找出如何制作一条4个单位宽的赛道,我想我需要找到一个与另一个点平行的点,我已经阅读了以下内容:

但我对此没有多大意义,这就是我目前的观点(方法的一部分):

我提议的解决办法:

        Vector vDelta = getPointPerTrackNr(trackNr, (t + (1d / SEGMENTS)) % 1.00d).subtract(pIn);
        Vector vWidth = new Vector(
                        (vDelta.x() * Math.cos(Math.toRadians(270))) - (vDelta.y() * Math.sin(Math.toRadians(270))),
                        (vDelta.x() * Math.sin(Math.toRadians(270))) + (vDelta.y() * Math.cos(Math.toRadians(270))),
                        vDelta.z()
                ).normalized().scale(RobotRace.NUM_ROBOTS * 1d);
首先,我计算
vDelta
,它是
t
处当前轨道段与下一轨道段之间的距离,例如
t+0.01d


然后我计算
vWidth
,方法是取
vDelta
,将其旋转270度,然后对其进行规格化,然后根据宽度进行缩放,在本例中为
RobotRace.NUM_ROBOTS*1d

您的问题是否意味着您需要找到一条曲线(或多边形链)到给定曲线(多边形链)的距离是一样的吗?@divanov是的,我现在将用我的一个工作示例更新OP,尽管我确信有更好的方法。点不能平行,只有直线(曲线)和线段可以-这非常混乱。
/**
 * Returns the position of the curve at 0 <= {@code t} <= 1.
 */
public Vector getPoint(double t) {
    return new Vector(
            10 * Math.cos(2 * Math.PI * t),
            14 * Math.sin(2 * Math.PI * t),
            1d
            );
}

public Vector getOuterPoint(double t) {
    return new Vector(
            (10 + 4) * Math.cos(2 * Math.PI * t),
            (14 + 4) * Math.sin(2 * Math.PI * t),
            1d
            );
}
        Vector vDelta = getPointPerTrackNr(trackNr, (t + (1d / SEGMENTS)) % 1.00d).subtract(pIn);
        Vector vWidth = new Vector(
                        (vDelta.x() * Math.cos(Math.toRadians(270))) - (vDelta.y() * Math.sin(Math.toRadians(270))),
                        (vDelta.x() * Math.sin(Math.toRadians(270))) + (vDelta.y() * Math.cos(Math.toRadians(270))),
                        vDelta.z()
                ).normalized().scale(RobotRace.NUM_ROBOTS * 1d);