-
两直线的交点的计算公式
2020-05-11 10:36:49bool find_crossPoint(Point p1, Point p2, Point p3, Point p4, Point &crossPoint){ //*************************... // 求二条直线的交点的公式 // 有如下方程 (x-x1)/(y-y1) = (x2-x1)/(y2-y1) ==> a1*...bool find_crossPoint(Point p1, Point p2, Point p3, Point p4, Point &crossPoint){
//****************************************************************************************
// 求二条直线的交点的公式
// 有如下方程 (x-x1)/(y-y1) = (x2-x1)/(y2-y1) ==> a1*x+b1*y=c1
// (x-x3)/(y-y3) = (x4-x3)/(y4-y3) ==> a2*x+b2*y=c2
// 则交点为
// x= | c1 b1| / | a1 b1 | y= | a1 c1| / | a1 b1 |
// | c2 b2| / | a2 b2 | | a2 c2| / | a2 b2 |
//
// a1= y2-y1
// b1= x1-x2
// c1= x1*y2-x2*y1
// a2= y4-y3
// b2= x3-x4
// c2= x3*y4-x4*y3float a1 = p2.y - p1.y;
float b1 = p1.x - p2.x;
float c1 = p1.x*p2.y - p2.x*p1.y;
float a2 = p4.y - p3.y;
float b2 = p3.x - p4.x;
float c2 = p3.x*p4.y - p4.x*p3.y;
float det= a1*b2 - a2*b1;if(det == 0) return false;
crossPoint.x = (c1*b2 - c2*b1)/det;
crossPoint.y = (a1*c2 - a2*c1)/det;// Now this is cross point of lines
// Do we need the cross Point of segments(need to judge x,y within 4 endpoints)
// 是否要判断线段相交
if((abs(crossPoint.x -(p1.x+p2.x)/2) <= abs(p2.x-p1.x)/2) &&
(abs(crossPoint.y -(p1.y+p2.y)/2) <= abs(p2.y-p1.y)/2) &&
(abs(crossPoint.x -(p3.x+p4.x)/2) <= abs(p4.x-p3.x)/2) &&
(abs(crossPoint.y -(p3.y+p4.y)/2) <= abs(p4.y-p3.y)/2))
{
return true;
}return false;
}
————————————————
版权声明:本文为CSDN博主「hjk61314」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hjk61314/article/details/82254381 -
向量交点坐标公式_直线的交点坐标与距离公式
2020-12-24 15:25:45直线的交点坐标与距离公式一:两条直线的交点坐标:1、设两条直线分别为1l:1110AxByC,2l:2220AxByC则1l与2l是否有交点,只需看方程组11122200AxByCAxByC是否有唯一解若方程组有...直线的交点坐标与距离公式
一:两条直线的交点坐标:
1
、
设两条直线分别为
1
l
:
1
1
1
0
A
x
B
y
C
,
2
l
:
2
2
2
0
A
x
B
y
C
则
1
l
与
2
l
是否有交点,
只需看方程组
1
1
1
2
2
2
0
0
A
x
B
y
C
A
x
B
y
C
是否有唯一解
若方程组有唯一解,则这两条直线相交,此解就是交点的坐标;
若方程组无解,则两条直线无公共点,此时两条直线平行;
若方程组有无穷多解,则两直线重合
例
1
、
求经过两直线
2
3
3
0
x
y
和
2
0
x
y
的交点且与直线
3
1
0
x
y
平行的直线方程。
经过两直线
1
1
1
1
:
0
l
A
x
B
y
C
与
2
2
2
2
:
0
l
A
x
B
y
C
交点的直线系
方程为
1
1
1
2
2
2
0
A
x
B
y
C
A
x
B
y
C
,其中
是待定系数,在这个
方程中,
无论
取什么实数,
都得到
2
2
2
0
A
x
B
y
C
,
因此,
它不能表示直线
2
l
。
2
、对称问题
(
1
)点关于点的对称,点
A(a
,
b)
关于
0
0
0
,
P
x
y
的对称点
B
(
m
,
n
)
,则由中点坐标公
式
0
0
2
,
2
m
x
a
n
y
b
,即
B
(
0
0
2
,
2
x
a
y
b
)
。
(
2
)点关于直线的对称,点
0
0
,
A
x
y
关于直线
:
0
l
Ax
By
C
(
A
、
B
不同时
为
0
)的对称点
'
1
1
,
A
x
y
,则有
AA
’的中点在
l
上且直线
AA
’与已知直线
l
垂直。
(
3
)直线关于直线的对称,一般转化为点关于直线的对称解决,若已知直线
1
l
与对称轴
l
相交,
则交点必在与
1
l
对称的直线
2
l
上,
然后再求出
1
l
上任意不同于交点的已知点
1
P
关
于对称轴对称的点
2
P
,那么经过交点及点
2
P
的直线就是
2
l
;若直线
1
l
与对称轴
l
平行,则在
1
l
上任取两不同点
1
P
、
2
P
,求
其关于对称轴
l
的对称点
'
1
P
、
'
2
P
,过
'
1
P
、
'
2
P
的直线就是
2
l
。
例题
2
、已知直线
:
1
0
l
x
y
,试求①点
P(4,5)
关于
l
的对称坐标;②直线
1
:
2
3
l
y
x
关于直线
l
的对称的直线方程。
例题
3
-
数学公式——两直线的交点
2012-09-24 14:21:19 -
求两条直线的交点和抛物线的极值点 Python
2020-04-20 13:32:391. 求两条直线的交点,联立方程即可,公式如下: 计算两条直线交点代码: #计算两条直线的交点 #y = a1*x + b1 #y = a2*x + b2 #如果没有交点 抛出异常并返回None def cal_intersection(a1,b1,a2,b2): try: x = ...1. 求两条直线的交点,联立方程即可,公式如下:
计算两条直线交点代码:#计算两条直线的交点 #y = a1*x + b1 #y = a2*x + b2 #如果没有交点 抛出异常并返回None def cal_intersection(a1,b1,a2,b2): try: x = (b2-b1)/(a1-a2) y = a1*(b2-b1)/(a1-a2) + b1 return (x,y) except Exception as e: print(str(e)) return None
2. 求抛物线的极值点,计算导数等于0时x的值,再带入公式求出y,公式如下:
计算抛物线极值点代码:
# 抛物线:y = a*x**2 + b*x + c # 若a为0 抛出异常并返回None def getExtremePoint(a,b,c): try: x = -(b/2/a) y = (4*a*c - b**2)/4/a return (x,y) except Exception as e: print(str(e)) return None
验证求直线交点代码:
import numpy as np import matplotlib.pyplot as plt a1,b1,a2,b2 = np.random.rand(4) input_x = np.arange(-5,5,0.1) y_predict2 = a1 * input_x + b1 y_predict1 = a2 * input_x + b2 #求交点 intersection = cal_intersection(a1,b1,a2,b2) #画图 plt.plot(input_x,y_predict1,color='r',linestyle='-',marker='.',label=u"predict") plt.plot(input_x,y_predict2,color='g',linestyle='-',marker='.',label=u"predict") plt.scatter(intersection[0],intersection[1],color='b',linestyle='-',marker='.',label=u"intersection",linewidth=11) plt.legend(loc='upper left') plt.show()
验证求抛物线极值点代码:
import numpy as np import matplotlib.pyplot as plt a,b,c = (-1) ** np.random.randint(0,2)*np.random.rand(3) input_x = np.arange(-5,5,0.1) y_predict = a * input_x **2 + b * input_x + c #求极值点 extreme = getExtremePoint(a,b,c) #画图 plt.plot(input_x,y_predict,color='r',linestyle='-',marker='.',label=u"predict") plt.scatter(extreme[0],extreme[1],color='b',linestyle='-',marker='.',label=u"extreme",linewidth=11) plt.legend(loc='upper left') plt.show()
-
两相交的直线段夹角平分的直线上过交点距离为d的另一点求解公式
2020-08-12 14:05:10两相交的直线段夹角平分的直线上过交点距离为d的另一点求解公式 问题描述: 已知p0,p1,pN三个点,p0到p1走向直线段,pN到p0走向直线段,相交于p0点, 则pN到p0到p1夹角为a,平分夹角为a/2,求经过p0点方向角为平分线上... -
向量交点坐标公式_计算机图形学-高效的空间直线求交点算法(附解析和源码)
2021-01-10 09:00:251、前言直线求交点看似很简单的问题,初中数学中就已经学过,对于二维的两个直线 和 联立很容易求解出交点坐标 ,如果是两个三维直线怎么办呢?三维直线方程为 ,这种表示方法对于 有很大的问题,计算机中可不是这么... -
两条直线的交点(叉积)
2014-04-27 16:06:32方法2:使用叉积公式求交点,即高效又简便。 介绍方法2: 设mul(p1,p2,p0)为p1p0与p0p1的叉积,即mul(p1,p2,p0)=(p1-p0)^(p2-p0)。 该叉积可以看做由点p0,p1,p2和p1+p2四个点围成的平行四边形的阴影面积, 即... -
求空间中两条直线的交点
2013-01-07 10:57:00求交点坐标的问题完全可以用数学的方法求得结果的表达公式来解决啊设P1(x1,y1,z1),P2(x2,y2,z2) L2:P3(x3,y3,z3),P4(x4,y4,z4)记xi-xj=xij,ij是下标 (或xij,yij,zij表示该直线的方向向量)利用参数式,设: ... -
zoj 1560 Hansel and Grethel(求两条直线的交点)
2015-04-23 11:19:09题目大意:给出2个点及其各自夹角,求2条直线的交点 解题思路:数学公式推导,用tan()求斜率时要将角度转换成弧度 #include #include #include #include #include #include #include #include #include #... -
2014 辽宁 ACM 省赛 ( kuangbin oj 1020)|| Distance(两点式直线公式或直线求交点
2015-03-29 13:21:23少了一个等于号wa了数十发一直没有检查出来,我的内心几乎是崩溃的。 1020: Distance 时间限制: 1 Sec 内存限制: 32 MB 提交: 88 解决: 19 [提交][状态][讨论版] 题目描述 There is a battle field. It is ... -
一种在程序中求两直线交点的简单数学方法
2019-08-11 17:28:40若有两点确定一条直线:...然后想确定这两条直线的交点。 不必用解二元一次方程的方法,有一种方法可以直接算出。 设两直线交点为 ( Px , Py ) ,则: 即: 这个公式似乎是与一个叫贝塞尔参数的理论有关。 ... -
两点确定一条直线,已知四个点确定的两条直线,求这两条直线的交点
2009-10-09 17:15:00如上图,已知四个点(x0,y0)、(x1,y1)、(x2,y2)、(x3,y3),其中(x0,y0)、(x1,y1)确定直线1,(x2,y2)、(x3,y3)确定直线2,求直线1、直线2的交点(x,y),公式如下: y = ( (y0-y1)*(y3-y2)*x0 + (y3-y2)*(x1-x0)*y0 + ... -
lisp取两直线交点画圆_高中数学:直线方程中的对称问题
2020-12-20 15:43:53在高中数学必修二的第三章“直线方程”中,可以有一个小专题为直线中的“对称问题”。这主要有:点关于点对称;点关于直线对称;直线关于点对称;直线关于直线对称。一、对称问题的求解方法1、点关于点的对称【例1】... -
直线交点
2015-04-25 11:27:14两条直线交点,有直接公式求解的。 坐标公式:(b1c2-b2c1)/(a1b2-a2b1), (a1c2-a2c1)/(b1a2-b2a1) -
两条线段是否相交,计算交点公式
2017-11-30 09:31:00A本身无限长,假设B也无限长,直接求得AB的交点坐标,然后再判断该坐标是否在定长线段B的内部就可以了啊 AB本身就是两条直线,知道两端点就可以知道其直线方程,B也是一样,两个方程联立, 得到一个坐标,再看该坐标... -
hdu 1466 计算直线的交点数
2013-09-22 20:55:59这个题,我做练习的时候没推出来,然后网上看了一些解题报告,感觉也没说清楚,都是在说一个公式,(i-j)*j+k,我分析得也不清楚,类似找规律推出来的,只解释下公式就行了:i条直线,可以分成两部分,j条互相平行的... -
求两条直线(线段)的交点
2019-10-04 19:45:58如图,如何求得直线 AB与直线 CD的交点P? 以上内容摘自《算法艺术与信息学竞赛》。 思路就是利用叉积求得点P分线段DC的比,然后利用高中学习的定比分点坐标公式求得分点P的坐标。 看不懂... -
zoj 1280 Intersecting Lines(两直线交点)
2015-06-03 18:11:00思路:利用叉积跨立实验判断重合与平行,交点公式求交点;zoj过了,可是poj1269一样的题,poj上把%lf都改为%.f才能AC。 #include<cstdio> #include<cstring> #include<cmath> #include<... -
两条线段是否相交,计算交点公式。
2013-06-13 21:27:16A本身无限长,假设B也无限长,直接求得AB的交点坐标,然后再判断该坐标是否在定长线段B的内部就可以了啊 AB本身就是两条直线,知道两端点就可以知道其直线方程,B也是一样,两个方程联立, 得到一个坐标,... -
poj 1269 Intersecting Lines (求两直线交点)
2018-10-30 12:22:09题解:模板题,注意一点的是,判断两直线平行时用叉积去判断,不要简单的直接用斜率公式去判断,可能会出现误差。 代码如下: #include<cstdio> #include<algorithm> #include&... -
向量叉乘求三维空间中两直线(或线段)的交点
2019-01-11 20:58:44在二维空间中,利用两个直线方程y = kx + b我们可以直接计算出交点,但是这种方法麻烦了些,并且套用到三维空间用公式就更麻烦了,接下来介绍的是如何利用向量叉乘求出直线交点。并且由于利用叉乘最后可以的到一个... -
【转载】向量叉乘求三维空间中两直线(或线段)的交点
2020-08-31 15:23:10在二维空间中,利用两个直线方程 y = kx + b 我们可以直接计算出交点,但是这种方法麻烦了些,并且套用到三维空间用公式就更麻烦了,接下来介绍的是如何利用向量叉乘求出直线交点。并且由于利用叉乘最后可以的到一个... -
如何求直线与平面的交点(两种方式)
2015-02-21 10:41:48一:代数方式 我们假设它们的交点为P,既然我们有一个平面,那么平面上面的...对于这条直线,我们肯定知道直线上面的某一点L0和直线的方向L,那么 P = L0 + dL(公式二),d是距离。 把公式二代入公式一,我们可以得
-
Thread类中join()、sleep()和、yield()方法详解
-
jQuery与Ajax
-
吴恩达深度学习
-
HP服务器SmartStart CD使用详解.doc
-
转行做IT-第15章 Collection、泛型、Iterator
-
10.3 国际化站点
-
Webpack 常用知识储备及优化
-
MySQL 高可用工具 heartbeat 实战部署详解
-
PCL-1.8.0-AllInOne-msvc2013-win64.exe
-
Spring3.2中文版.docx
-
测试代码 test.war
-
MySQL 数据类型和运算符
-
MySQL 设计基础(数据库概论、初探)
-
python 中关于无法导入自己写的类
-
java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64.rpm
-
数学建模之常用模型.rar
-
keil_project_ucos3.rar
-
2021-03-04
-
mysql8备份-centos8.zip
-
一套价值8800元的excel教程.zip