直线方程公式

此处总结常见的算法,尽可能的记住..

1.两点式直线方程:a * x + b * y + c = 0;

float a1= centerPostionToUse.y - point1ToUse.y;
float b1= point1ToUse.x - centerPostionToUse.x;
float c1 = point1ToUse.x*(point1ToUse.y - centerPostionToUse.y) - point1ToUse.y*(point1ToUse.x - centerPostionToUse.x);

已知两点p1,p2
a = p2.y - p1.y;
b = p1.x - p2.x;
c = p1.x * (p1.y - p2.y) - p1.y * (p1.x - p2.x);

2.已知顶点p(x,y),计算点到直线的距离:
dis = abs(a * x + b * y + c)/sqrt(a * a + b * b);

垂足czPoint求算:
czPoint.x = (b * b * curpoint.x - a * b * curpoint.y - a * c)/(a * a + b * b);
czPoint.y = (a * a * curpoint.y - a * b * curpoint.x - b * c)/(a * a + b * b);

3.已知直线l方程a * x + b * y + c = 0;和点p(x1,y1)
计算过p1点且与直线l垂直的直线方程为a2 * x + b2 * y + c2 = 0;
则a2 = b;
b2 = -a;
c2 = a * (y1 - b/a * x1);

后续更新中....

时间: 2024-11-11 21:23:29

直线方程公式的相关文章

Android 自定义view 折线翻页

看了Aige的 Android翻页效果原理实现之引入折线 有些计算原理 在此留个笔记 x.y 为 折出的三角形的 短边与长边; O(a,b)点即为触摸点 设K = w - a, L = h - b ?OMA中,由勾股定理,得出 ?OMA与 ?AOB.?APB三者之面积和 等于 梯形 MOBP的面积 代入x,解得 再代入触摸点(a,b) 即可求出当前对应的x.y了 有x.y现在就可以求出A点和B点的坐标了 A点(w - x, h) B点(w, h - y) 折线出的三角形即是:以Path的move

cv1.1

分水岭算法实现分割 分水岭分割方法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭.分水岭的概念和形成可以通过模拟浸入过程来说明.在每一个局部极小值表面,刺穿一个小孔,然后把整个模型慢慢浸入水中,随着浸入的加深,每一个局部极小值的影响域慢慢向外扩展,在两个集水盆汇合处构筑大坝,即形成分水岭. 分水岭算法一般和区域生长法或聚类分析法相结合. 分水岭算

求解点关于直线的距离、垂足、对称点公式

下面通过两种直线方程的形式,求解点关于直线的距离.垂足.对称点公式. 问题描述1: 已知点的坐标(x0,y0),直线的方程为Ax+By+C = 0: 求点到直线上的距离d.点在直线上的垂足(x, y).点关于直线的对称点(x’, y’). 解决方法: (1)距离: d = ( Ax0 + By0 + C ) / sqrt ( A*A + B*B ); 这个“距离”有符号,表示点在直线的上方或者下方,取绝对值表示欧式距离. (2)垂足: 求解两个方程: (a) Ax + By + C = 0; (

点到直线方程的距离、垂足、对称点

问题描述1: 已知点的坐标(x0,y0),直线的方程为Ax+By+C = 0:求点到直线上的距离d.点在直线上的垂足(x, y).点关于直线的对称点(x’, y‘). 解决方法: (1)距离: d = ( Ax0 + By0 + C ) / sqrt ( A*A + B*B ); 这个“距离”有符号,表示点在直线的上方或者下方,取绝对值表示欧式距离. (2)垂足: 求解两个方程:(a).Ax + By + C = 0;(b).(y - y0) / (x - x0) = B / A; 解得,x =

用python实现计算1-2*((60-30+(-40/5)*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2))类似的公式计算

作业需求: 开发一个简单的python计算器 1.实现加减乘除及拓号优先级解析 2.用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )等类似公式后,必须自己解析里面的(),+,-,*,/符号和公式(不能调用eval等类似功能偷懒实现),运算后得出结果,结果必须与真实的计算器所得出的结果一致 上图是实现的逻辑思路图,下面是对上图的分析: 整体的思想就是先匹配最

去除MathType内联公式后自动生成的空格

使用MathType公式编辑器在Microsoft Word 2016 中输入的内联公式后会自动产生一个空格,每次都需要手动删除.以下是解决办法,不再需要每次输入公式以后都要点键盘上的backspace去删空格. 1. 打开注册表: 开始-运行-regedit 2. 找到 HKEY_CURRENT_USER\Software\Design Science\DSMT6\WordCommands\ 3. 在该目录里增加字符串NoSpaceAfterInline,并将值设置为1. 退出注册表,运行of

latex:公式环境

1.单行公式环境 equation 单行公式环境equation可将一个公式,不管多长都可排版为一行,并给出一个序号.而由系统提供的displaymath环境等效于公式宏包提供的equation*环境. equation和displaymath都只能用于编排单行公式,期间,换行命令无效,而换段命令为非法,它将造成编译终端,引发系统给出错误信息. 代码: \begin{equation} f(x)=3x^{2}+6(x-2)-1 \end{equation} 2.1 使用align共十足环境将公式

HDU 5175 Misaki's Kiss again (异或运算,公式变形)

Misaki's Kiss again Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 201    Accepted Submission(s): 57 Problem Description After the Ferries Wheel, many friends hope to receive the Misaki's kiss

hdu 1799 (循环多少次?)(排列组合公式)

循环多少次? Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3051    Accepted Submission(s): 1117 Problem Description 我们知道,在编程中,我们时常需要考虑到时间复杂度,特别是对于循环的部分.例如, 如果代码中出现 for(i=1;i<=n;i++) OP ; 那么做了n次OP运算