直线延长线的算法有关问题
直线延长线的算法问题
现在有2个点,第一个点位A,第二个点B,顺序是从A到B。
A和B连成一条直线,如果沿着A到B延长这根直线,一直到屏幕边界。
现在需要计算出延长到屏幕边界的坐标位置。
这是个数学算法问题,一直没弄明白怎么弄,有简单的办法计算出坐标没?
------解决方案--------------------
初中数学题啊,明天把解法和函写上来,今天太晚了
------解决方案--------------------
cos、sin的神马都不知道了吗?
斜率不知道了吗?
直线方程不知道了吗?
------解决方案--------------------
两点式
y=(y2-y1)/(x2-x1)*(x-x1)-y1
------解决方案--------------------
你要是用数学方法求坐标位置那就是直线方程 Y=a*X + b
求算直线像素位置还有Bresonham算法等。
------解决方案--------------------
我来回帖了,首先你要知道一个直线方程:y = kx + b;
k表示斜率,b表示Y轴交点(不要问我从哪里来的)
我们再分析下入参,2个点,2个(X,Y),那么二元一次方程解出k和b的值啊,那么线性方程就确定了。
有了直线方程,接着就是确定交互点的问题了。
我们可以通过GetClientRect获得整个屏幕的范围,SetViewportOrg()变换坐标原点到屏幕中心。
由于屏幕的范围知道,我们就可以知道
左边交互点的X坐标(如果交互的话),得出Y,看看超出绝对值Y的值么,如果超过就废弃此点
上边交互点的Y坐标,同上 得出X
下边交互点的Y坐标,同上 得出X
右边交互点的X坐标,同上 得出Y
4点经过分析后必定得出2点,这2点就是我们要的交互点了
------解决方案--------------------
就是 屏幕4条边与直线相交的点,(有方向是2条,还可能平行)
现在有2个点,第一个点位A,第二个点B,顺序是从A到B。
A和B连成一条直线,如果沿着A到B延长这根直线,一直到屏幕边界。
现在需要计算出延长到屏幕边界的坐标位置。
这是个数学算法问题,一直没弄明白怎么弄,有简单的办法计算出坐标没?
------解决方案--------------------
初中数学题啊,明天把解法和函写上来,今天太晚了
------解决方案--------------------
cos、sin的神马都不知道了吗?
斜率不知道了吗?
直线方程不知道了吗?
------解决方案--------------------
两点式
y=(y2-y1)/(x2-x1)*(x-x1)-y1
------解决方案--------------------
你要是用数学方法求坐标位置那就是直线方程 Y=a*X + b
求算直线像素位置还有Bresonham算法等。
------解决方案--------------------
我来回帖了,首先你要知道一个直线方程:y = kx + b;
k表示斜率,b表示Y轴交点(不要问我从哪里来的)
我们再分析下入参,2个点,2个(X,Y),那么二元一次方程解出k和b的值啊,那么线性方程就确定了。
有了直线方程,接着就是确定交互点的问题了。
我们可以通过GetClientRect获得整个屏幕的范围,SetViewportOrg()变换坐标原点到屏幕中心。
由于屏幕的范围知道,我们就可以知道
左边交互点的X坐标(如果交互的话),得出Y,看看超出绝对值Y的值么,如果超过就废弃此点
上边交互点的Y坐标,同上 得出X
下边交互点的Y坐标,同上 得出X
右边交互点的X坐标,同上 得出Y
4点经过分析后必定得出2点,这2点就是我们要的交互点了
------解决方案--------------------
就是 屏幕4条边与直线相交的点,(有方向是2条,还可能平行)