找到一条线上的点

时间:2011-10-24 01:49:18

标签: image algorithm math

(这个问题在数学方面可能会更好,但我不确定)

http://i.imgur.com/TVINP.png

这可能很简单,但我想这样做的方式似乎并不容易,必须有一个更简单的方法。我有一个图像,我想找到一些落在一条线上的点所以在这个例子中,我的线的起点下方的图像是(39,75),结束点是(75,142),我想要找到5个点(或任何数字,真正的5只是一个例子)线。

是否有一些我可以使用的等式,在给定任何起点和终点坐标的情况下会得到一定数量的点?

3 个答案:

答案 0 :(得分:3)

假设(x0,y0)和(x1,y1)是该行的起点和终点。

t *(x0,y0)+(t-1)*(x1,y1)也将成为该行的点,其中t的范围为0到1.

注意:

如果t = 0,则得到(x0,y0)

如果t = 1,则得到(x1,y1)

如果t是(0,1)内的任何值,则得到从(x0,y0)到(x1,y1)的路径的“百分比”

(如果t = 0.5,你就在这两点之间)

这就是计算机图形学中经常被称为“补间”的东西

答案 1 :(得分:2)

是。您的线段可以用以下公式描述:

x = 39 + t * (75 - 39)
y = 75 + t * (142 - 75)

其中,t可以取0到1之间的任何值。

因此,要获得线上的随机点,只需为t选择一个随机值(0到1之间),然后计算x,y是什么。

这个想法是,x从39到75,而y从75到142,t表示已经完成的旅行分数。

答案 2 :(得分:0)

一条线可以由函数y = mx + b定义,其中x和y是笛卡尔平面上的坐标,m是由(y2 - y1)/(x2 - x1)定义的线的斜率,b是该线的点与y轴相交。

鉴于信息和线上的两个点,您可以用一些基本代数填充空白以确定定义线的函数。请注意,如果图像的坐标平面位于左上角(0,0),则可能需要翻转y坐标的符号。

相关问题