利用matlab求点C到向量AB的垂直距离以及垂足E点坐标

A、B两点构成向量AB;C为任一点。求C点到向量AB的垂直距离与C点到AB的垂足坐标。

结果说明:C2ABJvLi--C点到向量AB的垂直距离;D--垂足坐标

代码如下:

clc
clear
close all;
%%%%%%%%%%%%%%%%%%%%%以下为主程序%%%%%%%%%%%%%A、B点构成向量AB;C为任一点
A = [8*rand(1,1);8*rand(1,1)];%向量1A 点
B = [8*rand(1,1);8*rand(1,1)];%向量1B 点
C = [8*rand(1,1);8*rand(1,1)];
%%%%%%%%%%%%%A、B点构成向量AB;C为任一点AngBAC = acosd((norm(A-B)^2+norm(A-C)^2-norm(B-C)^2)/(2*(norm(A-B)*norm(A-C))));%角A
AngABC = acosd((norm(B-A)^2+norm(B-C)^2-norm(A-C)^2)/(2*(norm(B-A)*norm(B-C))));%角B
if AngBAC>AngABC || AngBAC==AngABCAA = B; BB = A; C2ABJvLi = norm(AA-C) * sind(AngABC);D = [cosd(0),sind(0); -sind(0),cosd(0)]...*((BB - AA).* ((norm(AA-C) * cosd(AngABC)) / norm(A-B))) + AA;
elseC2ABJvLi = norm(A-C) * sind(AngBAC);D = [cosd(0),sind(0); -sind(0),cosd(0)]...*((B - A).* ((norm(A-C) * cosd(AngBAC)) / norm(A-B))) + A;
end
clear AA BB AngBAC AngABC ;
%%%%%%%%%%%%%%%%%%%%%以上为主程序(结果为:C2ABJvLi--C点到向量AB的垂直距离;D--垂足坐标)%%%%%%%%%%%%%%%%%%%%%画图
hold on;
plot([A(1),B(1)],[A(2),B(2)],'k');
plot([C(1),D(1)],[C(2),D(2)],'r');
plot(D(1),D(2),'*');
axis([-2,8,-2,8]);

结果图片(看上去有点不垂直,但实际计算CD垂直AB):

说明:更改A、B、C坐标即可(坐标以列向量表示,第一行为x坐标,第二行为y)

利用matlab求点到直线距离和垂足坐标(开源,易使用修改)相关推荐

  1. matlab两点间的球面距离,用MATLAB求点到椭球面距离已知如图a、b和点的位置,求点到球面的距离。最好是用MATLAB的。谢谢~...

    这个应当不难:可以采用参数方程画出椭圆,然后利用点坐标到参数方程的距离解决:问题是楼主的表达有问题,如果是点到线的距离就有多个值,(准确的说是个函数),例如,原点(0,0)到椭圆右端点距离是a/2,到 ...

  2. Matlab中点到直线距离计算

    P-点坐标:Q1, Q2线上两点坐标 三维空间复制内容到剪贴板代码: d = norm(cross(Q2-Q1,P-Q1))/norm(Q2-Q1); 二维空间 d = abs(det([Q2-Q1, ...

  3. c#垂直投影法_c#求点到直线的投影点坐标

    点在指定直线的投影点,即过点作一垂直于指定直线的直线,与指定直线的交点即为所求.这个问题其实回归到两条垂直直线的交点问题,回到最原始的初中几何知识,复习下 如图示 首先我们明确下已知条件,指定直线上任 ...

  4. c#垂直投影法_C#教程之c#求点到直线的投影点坐标

    点在指定直线的投影点,即过点作一垂直于指定直线的直线,与指定直线的交点即为所求.这个问题其实回归到两条垂直直线的交点问题,回到最原始的初中几何知识,复习下 如图示 首先我们明确下已知条件,指定直线上任 ...

  5. 牛客小白月赛2-B小马过河(求点到直线的垂足)

    题目链接 求点到直线的垂足分为 空间 .平面 原理: 空间: #include<iostream> #include<cmath> using namespace std; c ...

  6. 叉积求点到平面距离_OpenCV计算点到直线的距离 数学法

    我们在检测图像的边缘图时,有时需要检测出直线目标,hough变换检测出直线后怎么能更进一步的缩小区域呢?其中,可以根据距离来再做一判断,就涉及到了点与直线的距离问题. 点到直线距离代码如下: //== ...

  7. matlab中 点到线的距离,用matlab求解点到直线的距离

    满意答案 cith4gbai 2013.12.31 采纳率:59%    等级:12 已帮助:46219人 用matlab求解点到直线的距离,可自定义函数,方法如下: 先用直线上的一点和代表直线方向的 ...

  8. 已知两点求直线一般方程、点到直线距离、点是否在线上方/下方

    struct Point {double x = 0.0;double y = 0.0; }//直线方程 Ax + By + C = 0: Point pt1; Point pt2; double A ...

  9. python输入两点坐标求距离_大一Python课的习题,输入两点,建立起直线方程y=kx+b。输入第3点,求点到直线的距离。这怎...

    展开全部 # -*- coding:utf-8 -*- import math point_a=raw_input('please input point A coordinates: For Exa ...

最新文章

  1. 闲鱼同城第三方对接架构设计
  2. 谈吉日嘎拉的《白话反射技术》及其他(吵架篇)
  3. Java语言语法语义分析器设计与实现
  4. 【已解决】scanf语句中%d后面多加一个空格,为什么数据需要多输入一个?
  5. iptables详解(13):iptables动作总结之二
  6. jpa和hibernate_JPA和Hibernate级联类型的初学者指南
  7. 贪心——区间选点问题(用最少数量的箭引爆气球 Leetcode 452)
  8. HTML5 canvas 模拟事件
  9. POJ1604 UVA568 UVALive5499 Just the Facts【模除+打表】
  10. Jmeter(十九) 后置处理器JSON Extractor 提取json的多个值
  11. jquery :eq选择器和eq()方法的用法与比较
  12. Excel图表数跨行选择数据
  13. Python网络爬虫之数据解析(一)
  14. keystone创建服务实体HTTP500,An unexpected error prevented the server from fulfilling your request. HTTP500
  15. python练手经典100例项目-Python 的练手项目有哪些值得推荐?
  16. 友盟推送 php,laravel5.4+umeng(友盟)集成app消息推送功能
  17. SQL Server 2005 高速下载
  18. 安装wxpython for Python3.5
  19. std::upper_bound与std::lower_bound
  20. [行为识别论文详解]TSN(Temporal Segment Networks)

热门文章

  1. 使用AZ3166(MXChip IoT DevKit)开发translator
  2. [新华三java岗]笔试
  3. 松下FPXH自动螺丝机程序 昆仑通态触摸屏控触摸,松 下FPXH数据表定位模式,写法新颖
  4. Android 字符串资源(strings.xml)
  5. 河南工业大学计算机科学与技术全国排名,2019河南工业大学专业排名
  6. IFE斌斌学院-JS总结(2)
  7. 小智CF刷枪软件 V1.3 免费版
  8. adb命令从手机端复制文件到PC
  9. Relying upon circular references is discouraged and they are prohibited by default.
  10. Android4.2.2的Stagefright中编解码器数据流的维护