首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在给定距离的直线上查找点

在给定距离的直线上查找点
EN

Stack Overflow用户
提问于 2009-08-09 02:32:31
回答 3查看 21.6K关注 0票数 25

我有一个问题,我知道一条线,我只知道它的斜率(M)和它上面的点A(x,y),我如何计算这条线上的点(实际上是两个点),离点A的距离(D)?我问这个是为了找出通过A(x,y)的直线上的像素强度,在这种情况下,距离.Distance将是像素数。

EN

回答 3

Stack Overflow用户

发布于 2016-01-29 02:47:52

Let me explain the answer in a simple way

起点- (x0, y0)

端点- (x1, y1)

我们需要在从起点到终点的距离dt处找到一个点(xt, yt)

起点和终点之间的距离由d = sqrt((x1 - x0)^2 + (y1 - y0)^2)给出

让距离之比,t = dt / d

然后是(xt, yt) = (((1 - t) * x0 + t * x1), ((1 - t) * y0 + t * y1))

如果为0 < t < 1,则点在线上。

如果为t < 0,则该点位于(x0, y0)附近的线外。

如果为t > 1,则该点位于(x1, y1)附近的线外。

票数 11
EN

Stack Overflow用户

发布于 2009-08-09 02:46:21

让我们将你试图寻找的点称为P,坐标为px,py,而起点A的坐标为ax和ay。斜率m是Y的变化与X的变化的比率,所以如果你的点P到A的距离s,那么它的坐标是px = ax + s,py = ay +m*s。现在使用毕达哥拉斯,从A到P的距离d将是d= sqrt(s *s+ (m * s) * (m * s))。要使P是远离A的特定D单位,请找到s as s= D/sqrt(1 +m* m)。

票数 0
EN

Stack Overflow用户

发布于 2013-05-10 14:45:37

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1250419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档