使用MATLAB计算点到直线距离
来源:互联网 发布:寻找淘宝客 编辑:程序博客网 时间:2024/06/05 03:15
给定平面上 x1, x2, x3三个点,求x1到x2、x3之间的直线的距离。
我是用的是内积的方法求解,依据原理是使用内积求出直线x2x1 与 直线x3x1的夹角cos值,进而求出sin值,再求出x1到x2x3的距离。
这种方法的不足之处是,当三点之中有点重合时,需要特殊判断;而且使用到了除法与开根号,降低了速度。
代码如下:
x1=[1 ;0];
x2=[0 ;1];
x3=[1 ;0];
vx1x2 = x2 - x1;%向量x1到x2
vx1x3 = x3 - x1;%向量x1到x3
if 0 == vx1x2'* vx1x2 %如果x1与x2重合,注意,对浮点数采用等于0的判断不可靠
dis = 0
elseif 0 == vx1x3'*vx1x3%如果x1与x3重合,这种情况下距离是否为0需要自己定义
dis = 0
else
inner_product = vx1x2' * vx1x3;%两个向量内积
inner_product_2 = inner_product * inner_product;%内积平方
cos_2 = inner_product_2 / (vx1x2'* vx1x2) / (vx1x3'*vx1x3);%夹角cos值的平方
sin_2 = 1 - cos_2;%夹角sin的平方
dis_2 = (vx1x3'*vx1x3) * sin_2;
dis = sqrt(dis_2)%距离
end
0 0
- 使用MATLAB计算点到直线距离
- 计算点到直线距离
- 使用向量的方法计算点到直线的距离
- Matlab中点到直线距离计算
- 计算点到直线的距离
- Unity立体几何 点到直线距离计算
- 计算空间点到直线的距离
- 计算点到直线的距离
- 使用向量的方法来计算点到直线的距离
- 点到直线的垂直交点坐标 和 距离计算
- vtk基础编程(1)计算点到直线的距离
- 点到直线的距离
- 点到直线距离公式
- 点到直线的距离
- HDU1174-点到直线距离
- 点到直线的距离
- 点到直线的距离
- 点到直线平面距离
- Hadoop MapReduce进阶 使用分布式缓存进行replicated join
- 套接字文件传输
- 减肥(2014.6.28 22:48)
- 【数据结构】两个单循环链表的连接操作
- java 14:对象与类,构造函数,访问对象
- 使用MATLAB计算点到直线距离
- android中wifi原理及流程分析(很经典)
- adb下的tcpdump抓包方法
- 对计算机博士生的一点建议
- POJ2676 Sudoku [数独]
- 简单的NodeJS搭建JSON服务环境
- android之wifi开发
- Maven实战笔记
- XML、DTD、XSD、XSL、XSLT