最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c#求點(diǎn)到直線的投影點(diǎn)坐標(biāo)

 更新時(shí)間:2013年12月09日 11:24:57   作者:  
這篇文章主要介紹了c#求直線外一點(diǎn)到該直線的投影點(diǎn),大家參考使用吧

點(diǎn)在指定直線的投影點(diǎn),即過(guò)點(diǎn)作一垂直于指定直線的直線,與指定直線的交點(diǎn)即為所求。這個(gè)問(wèn)題其實(shí)回歸到兩條垂直直線的交點(diǎn)問(wèn)題,回到最原始的初中幾何知識(shí),復(fù)習(xí)下
如圖示

首先我們明確下已知條件,指定直線上任一點(diǎn)A,直線斜率k,點(diǎn)C,求點(diǎn)B

說(shuō)到斜率,就有不存在的情況,如圖(2),顯然這種情況B的橫坐標(biāo)=A的橫坐標(biāo),B的縱坐標(biāo)=C的縱坐標(biāo)
本文重點(diǎn)討論第一種情況,其實(shí)也很簡(jiǎn)單,聯(lián)立兩條直線求解即可

直線AB方程式即y-yA=k*(x-xA)
∵兩條垂直直線的斜率乘積 = -1
∴由AB線斜率為k可知BC線斜率為-1/k,可知直線BC方程式為
y-yC=-1/k*(x-xC)
聯(lián)立方程組解得
xB = (k * xA+ xC / k + yC - yA) / (1 / k + k)
由xB代入BC方程即可得yB

復(fù)制代碼 代碼如下:

        /// <summary>
        /// 求直線外一點(diǎn)到該直線的投影點(diǎn)
        /// </summary>
        /// <param name="pLine">線上任一點(diǎn)</param>
        /// <param name="k">直線斜率</param>
        /// <param name="pOut">線外指定點(diǎn)</param>
        /// <param name="pProject">投影點(diǎn)</param>
        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);
            }
        }

相關(guān)文章

  • C# byte轉(zhuǎn)為有符號(hào)整數(shù)實(shí)例

    C# byte轉(zhuǎn)為有符號(hào)整數(shù)實(shí)例

    這篇文章主要介紹了C# byte轉(zhuǎn)為有符號(hào)整數(shù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • C#鍵值對(duì)容器的介紹

    C#鍵值對(duì)容器的介紹

    C#鍵值對(duì)容器的介紹,需要的朋友可以參考一下
    2013-05-05
  • WPF自動(dòng)隱藏的消息框的實(shí)例代碼

    WPF自動(dòng)隱藏的消息框的實(shí)例代碼

    本文給大家介紹WPF自動(dòng)隱藏的消息框?qū)嵗a,當(dāng)鼠標(biāo)放上去將一直顯示,移開(kāi)動(dòng)畫(huà)繼續(xù),提供normal和error兩種邊框。非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看下吧
    2016-07-07
  • WinForm實(shí)現(xiàn)讀取Resource中文件的方法

    WinForm實(shí)現(xiàn)讀取Resource中文件的方法

    這篇文章主要介紹了WinForm實(shí)現(xiàn)讀取Resource中文件的方法,很實(shí)用的一個(gè)功能,需要的朋友可以參考下
    2014-08-08
  • 關(guān)于finalize機(jī)制和引用、引用隊(duì)列的用法詳解

    關(guān)于finalize機(jī)制和引用、引用隊(duì)列的用法詳解

    下面小編就為大家?guī)?lái)一篇關(guān)于finalize機(jī)制和引用、引用隊(duì)列的用法詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-09-09
  • C#中參數(shù)個(gè)數(shù)可變的方法實(shí)例分析

    C#中參數(shù)個(gè)數(shù)可變的方法實(shí)例分析

    這篇文章主要介紹了C#中參數(shù)個(gè)數(shù)可變的方法,以一個(gè)簡(jiǎn)單實(shí)例分析了C#中參數(shù)個(gè)數(shù)可變的方法,主要是使用params關(guān)鍵字來(lái)實(shí)現(xiàn)的,是C#編程中比較實(shí)用的技巧,需要的朋友可以參考下
    2014-11-11
  • C#中Dictionary類(lèi)使用實(shí)例

    C#中Dictionary類(lèi)使用實(shí)例

    這篇文章主要介紹了C#中Dictionary類(lèi)使用實(shí)例,本文直接給出一個(gè)使用實(shí)例,包含一些Dictionary的基本用法,需要的朋友可以參考下
    2015-06-06
  • C# 多線程更新界面的錯(cuò)誤的解決方法

    C# 多線程更新界面的錯(cuò)誤的解決方法

    這篇文章主要介紹了C# 多線程更新界面的錯(cuò)誤方法,由于一個(gè)線程的程序,如果調(diào)用一個(gè)功能是阻塞的,那么就會(huì)影響到界面的更新,導(dǎo)致使用人員操作不便。所以往往會(huì)引入雙線程的工作的方式,主線程負(fù)責(zé)更新界面和調(diào)度,而次線程負(fù)責(zé)做一些阻塞的工作,便有了下面春雨里方法
    2021-10-10
  • C#程序調(diào)用C++動(dòng)態(tài)庫(kù)(dll文件)遇到的坑及解決

    C#程序調(diào)用C++動(dòng)態(tài)庫(kù)(dll文件)遇到的坑及解決

    這篇文章主要介紹了C#程序調(diào)用C++動(dòng)態(tài)庫(kù)(dll文件)遇到的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 采用C#實(shí)現(xiàn)軟件自動(dòng)更新的方法

    采用C#實(shí)現(xiàn)軟件自動(dòng)更新的方法

    這篇文章主要介紹了采用C#實(shí)現(xiàn)軟件自動(dòng)更新的方法,非常實(shí)用的功能,需要的朋友可以參考下
    2014-08-08

最新評(píng)論

尚义县| 铜鼓县| 泸定县| 上虞市| 永寿县| 丹棱县| 通渭县| 怀宁县| 荆州市| 宝兴县| 酒泉市| 宁安市| 淳安县| 旌德县| 阜新市| 绍兴市| 涿鹿县| 平乡县| 六安市| 奈曼旗| 定州市| 水城县| 金塔县| 贵港市| 稻城县| 厦门市| 历史| 六枝特区| 二手房| 雅江县| 明光市| 扶风县| 错那县| 五大连池市| 连南| 常熟市| 韩城市| 绥棱县| 来凤县| 洛浦县| 永吉县|