[计算几何]知两点坐标求过两点的直线解析式-创新互联
我们设已知点为 A ( X 1 , Y 1 ) A(X_1,Y_1) A(X1,Y1), B ( X 2 , Y 2 ) B(X_2,Y_2) B(X2,Y2)
你所需要的网站建设服务,我们均能行业靠前的水平为你提供.标准是产品质量的保证,主要从事成都做网站、成都网站建设、成都外贸网站建设、企业网站建设、手机网站制作设计、网页设计、品牌网站制作、网页制作、做网站、建网站。创新互联公司拥有实力坚强的技术研发团队及素养的视觉设计专才。它们的 X X X坐标差为 X = X 2 − X 1 X=X_2-X_1 X=X2−X1 它们的 Y Y Y坐标差为 Y = Y 2 − Y 1 Y=Y_2-Y_1 Y=Y2−Y1
那么我们目前可以得出这样的解析式: y = Y X x + c y=\frac{Y}{X}x+c y=XYx+c
y y y 轴与直线的交点(如上图点 C C C)的 y y y坐标与 c c c相等
A ( X 1 , Y 1 ) ⇒ C ( 0 , Y 1 − Y X X 1 ) A(X_1,Y_1)\Rarr C(0,Y_1-\frac{Y}{X}X_1) A(X1,Y1)⇒C(0,Y1−XYX1)
Y 1 − Y X X 1 Y_1-\frac{Y}{X}X_1 Y1−XYX1
⇒ Y 1 − Y 2 − Y 1 X 2 − X 1 X 1 \Rarr Y_1-\frac{Y_2-Y_1}{X_2-X_1}X_1 ⇒Y1−X2−X1Y2−Y1X1
⇒ ( X 2 − X 1 ) Y 1 − ( Y 2 − Y 1 ) X 1 X 2 − X 1 \Rarr \frac{(X_2-X_1)Y_1-(Y_2-Y_1)X_1}{X_2-X_1} ⇒X2−X1(X2−X1)Y1−(Y2−Y1)X1
⇒ X 2 ∗ Y 1 − X 1 ∗ Y 1 − Y 2 ∗ X 1 + Y 1 ∗ X 1 X 2 − X 1 \Rarr \frac{X_2*Y_1-X_1*Y_1-Y_2*X_1+Y_1*X_1}{X_2-X_1} ⇒X2−X1X2∗Y1−X1∗Y1−Y2∗X1+Y1∗X1
⇒ X 2 ∗ Y 1 − Y 2 ∗ X 1 X 2 − X 1 \Rarr \frac{X_2*Y_1-Y_2*X_1}{X_2-X_1} ⇒X2−X1X2∗Y1−Y2∗X1
⇒ X 2 ∗ Y 1 − Y 2 ∗ X 1 X \Rarr \frac{X_2*Y_1-Y_2*X_1}{X} ⇒XX2∗Y1−Y2∗X1
c = X 2 ∗ Y 1 − Y 2 ∗ X 1 X c=\frac{X_2*Y_1-Y_2*X_1}{X} c=XX2∗Y1−Y2∗X1
直线解析式: y = Y X x + X 2 ∗ Y 1 − Y 2 ∗ X 1 X y=\frac{Y}{X}x+\frac{X_2*Y_1-Y_2*X_1}{X} y=XYx+XX2∗Y1−Y2∗X1
直线解析式两种常见的表达方式: y = k x + b y=kx+b y=kx+b 和 a x + b y + c = 0 ax+by+c=0 ax+by+c=0
我们将刚才推出来的解析式用另外一种方式表示
y = Y X x + X 2 ∗ Y 1 − Y 2 ∗ X 1 X y=\frac{Y}{X}x+\frac{X_2*Y_1-Y_2*X_1}{X} y=XYx+XX2∗Y1−Y2∗X1
y − Y X x − X 2 ∗ Y 1 − Y 2 ∗ X 1 X = 0 y-\frac{Y}{X}x-\frac{X_2*Y_1-Y_2*X_1}{X}=0 y−XYx−XX2∗Y1−Y2∗X1=0
X y − Y x − ( X 2 ∗ Y 1 − Y 2 ∗ X 1 ) = 0 Xy-Yx-(X_2*Y_1-Y_2*X_1)=0 Xy−Yx−(X2∗Y1−Y2∗X1)=0 等式两边同时乘 X X X
( X 2 − X 1 ) y − ( Y 2 − Y 1 ) x − ( X 2 ∗ Y 1 − Y 2 ∗ X 1 ) = 0 (X_2-X_1)y-(Y_2-Y_1)x-(X_2*Y_1-Y_2*X_1)=0 (X2−X1)y−(Y2−Y1)x−(X2∗Y1−Y2∗X1)=0
( X 2 − X 1 ) y + ( Y 1 − Y 2 ) x + ( X 1 ∗ Y 2 − Y 1 ∗ X 2 ) = 0 (X_2-X_1)y+(Y_1-Y_2)x+(X_1*Y_2-Y_1*X_2)=0 (X2−X1)y+(Y1−Y2)x+(X1∗Y2−Y1∗X2)=0
( Y 1 − Y 2 ) x + ( X 2 − X 1 ) y + ( X 1 ∗ Y 2 − Y 1 ∗ X 2 ) = 0 (Y_1-Y_2)x+(X_2-X_1)y+(X_1*Y_2-Y_1*X_2)=0 (Y1−Y2)x+(X2−X1)y+(X1∗Y2−Y1∗X2)=0
a = ( Y 1 − Y 2 ) , b = ( X 2 − X 1 ) , c = ( X 1 ∗ Y 2 − Y 1 ∗ X 2 ) a=(Y_1-Y_2),b=(X_2-X_1) ,c=(X_1*Y_2-Y_1*X_2) a=(Y1−Y2),b=(X2−X1),c=(X1∗Y2−Y1∗X2)
我们可以用几何面积法验证其正确性
同样的我们设已知点为 A ( X 1 , Y 1 ) A(X_1,Y_1) A(X1,Y1), B ( X 2 , Y 2 ) B(X_2,Y_2) B(X2,Y2)
同时我们设在这条直线上的一点 C ( X 0 , Y 0 ) C(X_0,Y_0) C(X0,Y0)
那么把等式表示为 ( Y 1 − Y 2 ) X 0 + ( X 2 − X 1 ) Y 0 + ( X 1 ∗ Y 2 − Y 1 ∗ X 2 ) = 0 (Y_1-Y_2)X_0+(X_2-X_1)Y_0+(X_1*Y_2-Y_1*X_2)=0 (Y1−Y2)X0+(X2−X1)Y0+(X1∗Y2−Y1∗X2)=0
Y 1 ∗ X 0 − Y 2 ∗ X 0 + X 2 ∗ Y 0 − X 1 ∗ Y 0 + X 1 ∗ Y 2 − Y 1 ∗ X 2 = 0 Y_1*X_0-Y_2*X_0+X_2*Y_0-X_1*Y_0+X_1*Y_2-Y_1*X_2=0 Y1∗X0−Y2∗X0+X2∗Y0−X1∗Y0+X1∗Y2−Y1∗X2=0
X
1
∗
Y
2
−
Y
1
∗
X
2
X_1*Y_2-Y_1*X_2
X1∗Y2−Y1∗X2 面积为下图
Y 1 ∗ X 0 − X 1 ∗ Y 0 Y_1*X_0-X_1*Y_0 Y1∗X0−X1∗Y0 面积为下图
X 2 ∗ Y 0 − Y 2 ∗ X 0 X_2*Y_0-Y_2*X_0 X2∗Y0−Y2∗X0 面积为下图
通过面积的加减最后得到的如下图
即 ( X 2 − X 0 ) ( Y 0 − Y 1 ) − ( Y 2 − Y 0 ) ( X 0 − X 1 ) (X_2-X_0)(Y_0-Y_1)-(Y_2-Y_0)(X_0-X_1) (X2−X0)(Y0−Y1)−(Y2−Y0)(X0−X1)
我们设 K = ( Y 2 − Y 1 ) / ( X 2 − X 1 ) K=(Y_2-Y_1)/(X_2-X_1) K=(Y2−Y1)/(X2−X1)
( X 2 − X 0 ) ( Y 0 − Y 1 ) − ( Y 2 − Y 0 ) ( X 0 − X 1 ) = K ( X 2 − X 0 ) ( X 0 − X 1 ) − K ( X 2 − X 0 ) ( X 0 − X 1 ) = 0 (X_2-X_0)(Y_0-Y_1)-(Y_2-Y_0)(X_0-X_1)=K(X_2-X_0)(X_0-X_1)-K(X_2-X_0)(X_0-X_1)=0 (X2−X0)(Y0−Y1)−(Y2−Y0)(X0−X1)=K(X2−X0)(X0−X1)−K(X2−X0)(X0−X1)=0
得证
c++代码计算
void ASL(Line t){//Analytic straight line
double a=t.a.Y-t.b.Y,b=t.b.X-t.a.X,c=t.a.X*t1.b.Y-t.b.X*t.a.Y;
return;
}
应用- 知一直线和一个在直线上点的 x x x坐标求该点坐标的 y y y坐标
a x + b y + c = 0 ax+by+c=0 ax+by+c=0
b y = − a x − c by=-ax-c by=−ax−c
y = − a x − c b y=\frac{-ax-c}{b} y=b−ax−c
c++代码计算
double FYC(Line t,double x){//Find the Y coordinate
double a=t.a.Y-t.b.Y,b=t.b.X-t.a.X,c=t.a.X*t1.b.Y-t.b.X*t.a.Y;
return (-a*x-c)/b;
}
- 知一直线和一个在直线上点的 y y y坐标求该点坐标的 x x x坐标
a x + b y + c = 0 ax+by+c=0 ax+by+c=0
a x = − b y − c ax=-by-c ax=−by−c
x = − b y − c a x=\frac{-by-c}{a} x=a−by−c
c++代码计算
double FXC(Line t,double x){//Find the X coordinate
double a=t.a.Y-t.b.Y,b=t.b.X-t.a.X,c=t.a.X*t1.b.Y-t.b.X*t.a.Y;
return (-b*y-c)/a;
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
新闻标题:[计算几何]知两点坐标求过两点的直线解析式-创新互联
网站地址:http://ybzwz.com/article/djpdio.html