如果我不能很好地解释标题,我很抱歉。
我进行了研究,但找不到有关此主题的任何答案。
Point Start;
Point End;
float Distance;
这就是我需要帮助的地方,我需要将开始点移向结束点,仅距离长。
假设开始位于(0, 0),结束位于(11, 17) strong>,距离为2.5。
斜率将是17/11,又名17/11。但两点之间的距离是多少呢?假设两点之间的距离是 20f。我想将开始点向结束点移动距离,即2.5f。
因此,最后,点 Start 和点 End 之间的距离将为 17.5(20-2.5)。
但是,正如我之前提到的,我在互联网或这些论坛上找不到任何与此相关的内容。 如何获取两点之间的距离(不是坡度)?如何沿着距离移动一个点一定的距离?
希望我能解释一下自己。谢谢
最佳答案
很抱歉回答旧问题,但所选答案并不完全正确。
yDiff = Math.Abs(Start.Y - End.Y);
xDiff = Math.Abs(Start.X - End.X);
distance = Math.Sqrt(yDiff * yDiff + xDiff * xDiff)
请注意两个 xDiff 之间有一个乘法 * 运算符,而不是 + 号。
如果您输入 + 号而不是 * 号,则 X 距离将看起来比实际距离短。我花了一段时间才找到这个错误,我已经搜索了错误的地方有一段时间了......-.-
关于c# - 将一个点向另一个点移动一定的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15016296/