鉴于输入:
double x1,y1,x2,y2;
Run Code Online (Sandbox Code Playgroud)
如何找到一般形式方程(双a,b,c,其中ax + by + c = 0)?
注意:我希望能够以计算方式完成此操作.所以斜率截距形式的等价物将是这样的:
double dx, dy;
double m, b;
dx = x2 - x1;
dy = y2 - y1;
m = dy/dx;
b = y1;
Run Code Online (Sandbox Code Playgroud)
显然,这很简单,但我还没有找到通用方程式的解决方案(因为它可以做垂直线,所以更有用).我已经查看了我的线性代数书和两本关于计算几何的书(两者都很先进,无法解释这一点).
ple*_*siv 39
如果从等式开始y-y1 = (y2-y1)/(x2-x1) * (x-x1)(这是由两点定义的线的等式),通过一些操作就可以得到(y1-y2) * x + (x2-x1) * y + (x1-x2)*y1 + (y2-y1)*x1 = 0,你可以认识到:
a = y1-y2,b = x2-x1,c = (x1-x2)*y1 + (y2-y1)*x1.| 归档时间: |
|
| 查看次数: |
15336 次 |
| 最近记录: |