p点到(a,b)点两所在直线的垂点坐标及p点是否在(a,b)两点所在直线上
/// p点到(a,b)点两所在直线的垂点坐标
/// </summary>
/// <param name="a">直线上a点</param>
/// <param name="b">直线上b点</param>
/// <param name="p">点</param>
/// <returns>垂点坐标</returns>
public static Vector2D GetVerticalPosition(Vector2D a, Vector2D b, Vector2D p)
{
double fa = b.Y - a.Y;
double fb = a.X - b.X;
double fc = a.Y * b.X - a.X * b.Y;
Vector2D vpt = new Vector2D();//垂足
vpt.X = (fb * fb * p.X - fa * fb * p.Y - fa * fc) / (fa * fa + fb * fb);
vpt.Y = (fa * fa * p.Y - fa * fb * p.X - fb * fc) / (fa * fa + fb * fb);
return vpt;
}
/// <summary>
/// p点是否在(a,b)两点所在直线上
/// </summary>
/// <param name="a"></param>
/// <param name="b"></param>
/// <param name="foot"></param>
/// <returns></returns>
public static bool DotIsOnLine(Vector2D a, Vector2D b, Vector2D foot)
{
return Math.Min(a.X, b.X) <= foot.X && foot.X <= Math.Max(a.X, b.X) && Math.Min(a.Y, b.Y) <= foot.Y && foot.Y <= Math.Max(a.Y, b.Y);
}
转载于:https://www.cnblogs.com/94cool/p/4654287.html
p点到(a,b)点两所在直线的垂点坐标及p点是否在(a,b)两点所在直线上相关推荐
- 计算点到直线的垂点坐标
第一种: 设直线方程为ax+by+c=0,点坐标为(m,n) 则垂足为((b*b*m-a*b*n-a*c)/(a*a+b*b),(a*a*n-a*b*m-b*c)/(a*a+b*b)) 第二种 ...
- 点到直线的垂直交点坐标 和 距离计算
越来越发现自己数学之差了,连简单的数学运算忘记了,,写下实现点到直线交点坐标的计算方法 原理是两点确定一条直线,利用公式 y = ax+b 去计算 然后根据与直线方程Ax+By+C=0(A≠0,B≠0 ...
- 点到直线的垂直交点坐标(斜率必须存在)
直线公式 y = ax+b 两条直线垂直的各自方程式 1.Ax+By+C=0(A≠0,B≠0) 2.Bx-Ay+m = 0, (m是参变量) 其中p1和p2为已知的两个在直线上的点, p3为垂线上的点 ...
- 如何计算空间一条直线外一点到这条直线的垂足点坐标
如何计算空间一条直线外一点到这条直线的垂足点坐标 示例代码: /计算空间一条直线外一点到这条直线的垂足点坐标. Point3f CoreAlgorithm::GetFootOfPerpendicul ...
- html5 直线的两头弯曲,html5教程 (二)(canvas绘制简单的直线)
Html5_convas var elem = document.getElementById("myConvas"); if (elem && elem.getC ...
- 求经过两点的直线的表达式(Leetcode.149)
在刷Leetcode的时候,第149题需要求经过两点的直线的表达式,所以总结一下如何用代码求出经过两点的直线的表达式 注:只考虑 x, y 为整数的情况,且不考虑计算中整型溢出的情况 求直线表达式需要 ...
- java 获取两条经纬度线段的交点坐标工具类
java 获取两条经纬度线段的交点坐标工具类 网上有线段是否相交的判断方法,但是很少有获取线段交点的坐标的方法 我在这里整合了网上的一些相交的方法,通过相交的xy轴点返推出了经纬度. 拾取坐标系统 可 ...
- Java黑皮书课后题第8章:*8.7(距离最近的两个点)程序清单8-3给出了找到二维空间中距离最近的两个点的程序。修改该程序,让程序能找出在三维空间上距离最近的两个点
*8.7(距离最近的两个点)程序清单8-3给出了找到二维空间中距离最近的两个点的程序.修改该程序,让程序能找出在三维空间上距离最近的两个点 题目 题目描述 代码 结果 题目 题目描述 *8.7(距离最 ...
- Java黑皮书课后题第3章:**3.28(几何:两个矩形)编写一个程序,提示用户输入两个矩形中心的x坐标和y坐标以及矩形的宽度和高度,然后判断第二个矩形是在第一个矩形内,还是和第一个矩形重叠
**3.28(几何:两个矩形)编写一个程序,提示用户输入两个矩形中心的x坐标和y坐标以及矩形的宽度和高度,然后判断第二个矩形是在第一个矩形内,还是和第一个矩形重叠 题目 题目概述 运行示例 破题 代码 ...
最新文章
- 从源码的角度分析MapReduce的map-input流程
- caxa电子图板2018中文版
- Python数据预处理之异常值的处理——【自定义的three_sigma()函数、boxplot()方法】
- c3p0-config.xml文件简单说明与备忘
- Doc2Bow简介与实践Demo
- mysql+根密码是什么意思,重设MySQL根密码
- Linux入门学习(六)
- 渗透测试流程信息收集
- udp recvfrom阻塞吗_网络编程原理与UDP实现
- loss函数之MultiLabelSoftMarginLoss
- 如何更好地刷题?谈谈我的一点看法
- Findbugs错误总结
- Python究竟是一门什么样的编程语言?
- 春晚红包花落拼多多 巨头们为何前赴后继抢春晚?
- Java实现FTP文件上传和下载
- 文件下载,搞懂这9种场景就够了
- 汇编程序——根据开关状态在7段数码管上显示数字或者字符
- 我的世界基岩版种子和java版种子_我的世界:基岩版种子榜单,7个刷怪笼扎堆,还有美丽的花海!...
- 语音识别笔记(二)计算音系学
- 如何实现RTS游戏中鼠标在屏幕边缘时移动视角
热门文章
- 恶意软件伪装成系统更新,通杀Win Mac Linux三大系统,隐藏半年才被发现
- 用八块腹肌调戏智能屏是一种什么体验?
- 告别学术论文恐慌!休斯顿大学教授的这个建议,让学术写作更简单
- 谷歌量子计算突破登Nature封面,200秒顶超算10000年,川普之女:美国实现量子霸权...
- Python之流程控制
- 双十一电商江湖:唯品会与天猫发力“天团“
- new Function()
- MediaWiki 1.19.2 发布 - 开源 Wiki 系统
- 为栈实现高效的max操作
- linux wine 中文乱码,Linux下使用Wine出现中文乱码的解决方法