点在指定直线的投影点,即过点作一垂直于指定直线的直线,与指定直线的交点即为所求。这个问题其实回归到两条垂直直线的交点问题,回到最原始的初中几何知识,复习下

如图示

首先我们明确下已知条件,指定直线上任一点A,直线斜率k,点C,求点B

说到斜率,就有不存在的情况,如图(2),显然这种情况B的横坐标=A的横坐标,B的纵坐标=C的纵坐标

本文重点讨论第一种情况,其实也很简单,联立两条直线求解即可

直线AB方程式即y-yA=k*(x-xA)

∵两条垂直直线的斜率乘积 = -1

∴由AB线斜率为k可知BC线斜率为-1/k,可知直线BC方程式为

y-yC=-1/k*(x-xC)

联立方程组解得

xB = (k * xA+ xC / k + yC - yA) / (1 / k + k)

由xB代入BC方程即可得yB

复制代码 代码如下:

///

/// 求直线外一点到该直线的投影点

///

/// 线上任一点

/// 直线斜率

/// 线外指定点

/// 投影点

protected void GetProjectivePoint(PointF pLine, double k, PointF pOut, ref PointF pProject)

{

if (k == 0) //垂线斜率不存在情况

{

pProject.X = pOut.X;

pProject.Y = pLine.Y;

}

else

{

pProject.X = (float)((k * pLine.X + pOut.X / k + pOut.Y - pLine.Y) / (1 / k + k));

pProject.Y = (float)(-1 / k * (pProject.X - pOut.X) + pOut.Y);

}

}

c#垂直投影法_C#教程之c#求点到直线的投影点坐标相关推荐

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

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

  2. python中geometry用法_pythongdal教程之:几何形状geometry与投影projection

    建立空的geometry对象:ogr.Geometry 定义各种不同的geometry使用的方法是不一样的(point, line, polygon, etc) 新建点point,使用方法AddPoi ...

  3. python 几何教学_python gdal教程之:几何形状geometry与投影projection

    建立空的geometry对象:ogr.Geometry 定义各种不同的geometry使用的方法是不一样的(point, line, polygon, etc) 新建点point,使用方法AddPoi ...

  4. java点到直线的投影点到经纬度_12分高考答题必刷题型,“空间向量分析点到线的距离问题”...

    12分高考答题必刷题型,"空间向量分析点到线的距离问题" 立体几何大题 立体几何在各地高考中,基本都占据20分以上的比例,在解答方法上,小题技巧相对比较丰富,但大题解答上有明显的规 ...

  5. 点到直线的投影公式_12分高考答题必刷题型,“空间向量分析点到线的距离问题”...

    12分高考答题必刷题型,"空间向量分析点到线的距离问题" 立体几何大题 立体几何在各地高考中,基本都占据20分以上的比例,在解答方法上,小题技巧相对比较丰富,但大题解答上有明显的规 ...

  6. 点到直线的投影公式_2021高考复习资料:高中数学必备公式与知识点汇总

    向学霸进军整理出2021高考复习资料之高中数学必备公式与知识点,希望给2021高考生和家长带来帮助. 1 函数的单调性 2 函数的奇偶性 3 函数在某处的导数的几何意义 4 几种常见函数的导数 5 导 ...

  7. Python实现三维点到直线的投影

    首先要知道原理 ,今天机器学习作业要将三维的点投影到三维直线上,以下记录方法 方法借鉴:3D空间点到直线的距离 - 知乎 (zhihu.com)第一种方法 x1.x2存的是数据集,d.t是直线的参数 ...

  8. python定义一个类savingaccount表示银行账户_c#教程之c#模拟银行atm机示例分享

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ATM ...

  9. python惰性求值的特点_C#教程之C#函数式编程中的惰性求值详解

    https://www.xin3721.com/eschool/python.html 惰性求值 在开始介绍今天要讲的知识之前,我们想要理解严格求值策略和非严格求值策略之间的区别,这样我们才能够深有体 ...

最新文章

  1. Math类(工具类)
  2. javascript函数练习1
  3. 作业 20181016-10 每周例行报告
  4. 用php写京东抢购,关于抢京东券高并发的问题?
  5. ASP调用带参数存储过程的几种方式
  6. Android系统自带样式(@android:style/)
  7. s28 LNMP架构服务搭建
  8. scala中def_def关键字以及Scala中的示例
  9. Mac计算器的计算过程怎么看?教你一键查看运算记录!
  10. html canvas toblob 和下载图片
  11. VB 全局Hook鼠标消息
  12. 数据操纵:SELECT, INSERT, UPDATE, DELETE
  13. 教你手写Java层handler机制
  14. 产品需求分析神器:KANO模型分析法
  15. solidworks曲面圆角与特征圆角区别与误用
  16. Linux下PHP使用selenium、chrome、chromedriver模拟无界面浏览器
  17. 空气污染气体卫星数据的下载教程
  18. Linux系统调用七、与文件权限有关的系统API串讲
  19. RoboMaster视觉教程(4)装甲板识别算法
  20. 支付宝无障碍体验提升之路

热门文章

  1. 【OS xv6】1 万字详解shell源码解析命令(内含wsl+vscode调试xv6教程 文档第一章助读)
  2. java接听电话freeswitch_FreeSWITCH--配置代接电话
  3. 优酷坚持创新 深耕细作 网台合作见成效
  4. 第7章 性能和可靠性模式 Load-Balanced Cluster(负载平衡群集)
  5. linux mint 桌面区别,mint linux mate 界面和cinnamon界面的区别
  6. asio(八)、异步TCP服务器
  7. “AMD Software提示和驱动程序版本不匹配?” ——Win10自动更新降级覆盖AMD驱动的解决方法
  8. 微信开发者工具下载与简单使用
  9. opencv 去除孤立点以及findContours()和connectedComponentsWithStats()详解
  10. CAD梦想画图中“绘制批注命令”