Math 使用坡度从另一个位置获取新位置x距离

Math 使用坡度从另一个位置获取新位置x距离,math,plot,lua,Math,Plot,Lua,对不起,如果我把标题写错了,我对数学不是很在行,也不知道正确的术语,但我想有人会正确地编辑它 我正在用Lua创建一个脚本,我有一个目标位置和我的位置。我找到了它的斜率,所以现在我有X1,X2,Y1,Y2和M(斜率)。 我不知道用x距离添加新点的数学方法 有点像这个糟糕的MS绘制示例,其中2个黑点是最右边的目标,我的位置在左边,然后绿点就是我想要的 你必须把两个公式结合起来 1. (y3-y2)^2 + (x3-x2)^2 = d 2. (y2-y1)/(x2-x1) = (y3-y2)/(x3-

对不起,如果我把标题写错了,我对数学不是很在行,也不知道正确的术语,但我想有人会正确地编辑它

我正在用Lua创建一个脚本,我有一个目标位置和我的位置。我找到了它的斜率,所以现在我有X1,X2,Y1,Y2和M(斜率)。 我不知道用x距离添加新点的数学方法

有点像这个糟糕的MS绘制示例,其中2个黑点是最右边的目标,我的位置在左边,然后绿点就是我想要的


你必须把两个公式结合起来

1. (y3-y2)^2 + (x3-x2)^2 = d
2. (y2-y1)/(x2-x1) = (y3-y2)/(x3-x2)
这是你问题的haskell代码。这也许有用

foo x1 y1 x2 y2 d =
    [(x3,y3) |
    x3 <- [-100..100], y3 <- [-100..100],
    (y3-y2)^2 + (x3-x2)^2 == d,
    (y2-y1)/(x2-x1) == (y3-y2)/(x3-x2)]

你必须结合两个公式

1. (y3-y2)^2 + (x3-x2)^2 = d
2. (y2-y1)/(x2-x1) = (y3-y2)/(x3-x2)
这是你问题的haskell代码。这也许有用

foo x1 y1 x2 y2 d =
    [(x3,y3) |
    x3 <- [-100..100], y3 <- [-100..100],
    (y3-y2)^2 + (x3-x2)^2 == d,
    (y2-y1)/(x2-x1) == (y3-y2)/(x3-x2)]
我假设左边的黑点是(X1,Y1)右边的黑点是(X2,Y2)斜率m=(Y2-Y1)/(X2-X1)这意味着(X1,Y1)和(X2,Y2)之间的直线是所有点(X,Y),其中

定义(X1,Y1)和(X2,Y2)之间的距离D,由下式给出

D = Math.sqrt((X2 - X1)² + (Y2 – Y1)²)
其中
Math.sqrt(…)
是平方根函数。如果您希望该直线上的一点距离(X1,Y1)为
d
,则有两个这样的点,一个在(X1,Y1)的左侧,一个在(X1,Y1)的右侧。这两点的坐标是

(X1 + (X2 - X1) d/D, Y1 + (Y2 - Y1) d/D)

带有
+
符号的第一个点是距离(X1,Y1)在(X2,Y2)方向的
d
的点。带有
-
符号的第二个点是距离(X1,Y1)但远离(X2,Y2)方向
d
的点。如果你想要的情况总是如图所示,那么答案总是用
-
符号取第二个点。

我将假设
  • 左侧的黑点是(X1,Y1)
  • 右侧的黑点是(X2,Y2)
  • 斜率m=(Y2-Y1)/(X2-X1)
  • 这意味着(X1,Y1)和(X2,Y2)之间的直线是所有点(X,Y),其中

    定义(X1,Y1)和(X2,Y2)之间的距离D,由下式给出

    D = Math.sqrt((X2 - X1)² + (Y2 – Y1)²)
    
    其中
    Math.sqrt(…)
    是平方根函数。如果您希望该直线上的一点距离(X1,Y1)为
    d
    ,则有两个这样的点,一个在(X1,Y1)的左侧,一个在(X1,Y1)的右侧。这两点的坐标是

    (X1 + (X2 - X1) d/D, Y1 + (Y2 - Y1) d/D)
    


    带有
    +
    符号的第一个点是距离(X1,Y1)在(X2,Y2)方向的
    d
    的点。带有
    -
    符号的第二个点是距离(X1,Y1)但远离(X2,Y2)方向
    d
    的点。如果你想要的例子总是如图所示,那么答案总是用
    -
    符号取第二个点。

    x距离一个点是一个圆。x距离一个点是一个圆。如果这确实回答了问题,那么我不清楚你想说什么。距离
    x
    呢?这个答案中有很多1和2,区分它们是非常依赖于上下文的。如果这确实回答了这个问题,那么就太不清楚了,我无法理解你想说什么。距离
    x
    呢?这个答案中有很多1和2,区分它们非常依赖于上下文。