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

objective-c實(shí)現(xiàn)點(diǎn)到直線的距離及與垂足的交點(diǎn)

 更新時(shí)間:2017年04月04日 10:08:46   作者:YoYong  
這篇文章主要給大家介紹了利用objective-c實(shí)現(xiàn)點(diǎn)到直線的距離及與垂足的交點(diǎn)的相關(guān)資料,文中給出了詳細(xì)的實(shí)現(xiàn)思路和實(shí)現(xiàn)代碼,對大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。

問題描述

點(diǎn)到直線或者線段的距離

實(shí)現(xiàn)思路

假設(shè)有一點(diǎn)坐標(biāo)P(x0,y0),有一線段AB,A坐標(biāo)(x1,y1),B坐標(biāo)(x2,y2),求P點(diǎn)到AB線段或所在直線的距離d以及P點(diǎn)在直線上的垂足C(x,y)。

這需要復(fù)習(xí)一下高中的數(shù)學(xué)知識。

首先需要將A,B兩點(diǎn)坐標(biāo)轉(zhuǎn)換為直線方程的一般式Ax+By+C = 0,過程就不推演了。

參數(shù)計(jì)算:

A=y2-y1;

B=x1-x2;

C=x2*y1-x1*y2;

1、點(diǎn)到直線的距離公式:

d= ( Ax0 + By0 + C ) / sqrt ( A*A + B*B );

2、垂足C(x,y)計(jì)算公式:

x = (  B*B*x0  -  A*B*y0  -  A*C  ) / ( A*A + B*B );

y  =  ( -A*B*x0 + A*A*y0 – B*C  ) / ( A*A + B*B );

程序的實(shí)現(xiàn):

-(CGPoint)pedalPoint: (CGPoint)p1 : (CGPoint )p2: (CGPoint)x0{

float A=p2.y-p1.y;
float B=p1.x-p2.x;
float C=p2.x*p1.y-p1.x*p2.y;

float x=(B*B*x0.x-A*B*x0.y-A*C)/(A*A+B*B);
float y=(-A*B*x0.x+A*A*x0.y-B*C)/(A*A+B*B);

//點(diǎn)到直線距離
float d=(A*x0.x+B*x0.y+C)/sqrt(A*A+B*B);

CGPoint ptCross=ccp(x,y);
NSLog(@”d======%f”,d);
NSLog(@”A=======%f,B=======%f,C=======%f”,A,B,C);
NSLog(@”垂足======x=%f,y=%f”,x,y);
return ptCross;
}

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • iOS設(shè)置圓角的三種方法

    iOS設(shè)置圓角的三種方法

    這篇文章主要為大家詳細(xì)介紹了iOS設(shè)置圓角的三種方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • ios實(shí)現(xiàn)文件對比的方法

    ios實(shí)現(xiàn)文件對比的方法

    這篇文章主要介紹了ios實(shí)現(xiàn)文件對比的方法,主要是用到了filemanager,有需要的小伙伴可以參考下。
    2015-05-05
  • 加載帶有手勢識別器的XIB文件需注意哪些問題

    加載帶有手勢識別器的XIB文件需注意哪些問題

    手勢識別在iOS上非常重要,手勢操作移動(dòng)設(shè)備的重要特征,極大的增加了移動(dòng)設(shè)備使用便捷性。通過本教程給大家介紹加載帶有手勢識別器的XIB文件需注意哪些問題,需要的朋友可以參考下
    2015-08-08
  • iOS二維碼的生成代碼

    iOS二維碼的生成代碼

    這篇文章主要為大家詳細(xì)介紹了iOS二維碼的生成代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • iOS模仿QQ側(cè)邊欄的實(shí)現(xiàn)方法實(shí)例

    iOS模仿QQ側(cè)邊欄的實(shí)現(xiàn)方法實(shí)例

    項(xiàng)目中要做側(cè)邊欄效果,網(wǎng)上諸多demo,都不是最理想的。最后決定自己來實(shí)現(xiàn)一個(gè),所以下面這篇文章主要給大家介紹了關(guān)于利用iOS模仿QQ側(cè)邊欄的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2017-12-12
  • iOS tableView實(shí)現(xiàn)單選和多選的實(shí)例代碼

    iOS tableView實(shí)現(xiàn)單選和多選的實(shí)例代碼

    本篇文章主要介紹了iOS tableView實(shí)現(xiàn)單選和多選的實(shí)例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • iOS實(shí)現(xiàn)帶動(dòng)畫的環(huán)形進(jìn)度條

    iOS實(shí)現(xiàn)帶動(dòng)畫的環(huán)形進(jìn)度條

    這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)帶動(dòng)畫的環(huán)形進(jìn)度條,同時(shí)帶數(shù)字同步效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • iOS使用自帶的UIViewController實(shí)現(xiàn)qq加號下拉菜單的功能(實(shí)例代碼)

    iOS使用自帶的UIViewController實(shí)現(xiàn)qq加號下拉菜單的功能(實(shí)例代碼)

    這篇文章主要介紹了iOS使用自帶的UIViewController實(shí)現(xiàn)qq加號下拉菜單的功能(實(shí)例代碼),需要的朋友可以參考下
    2017-05-05
  • ios 實(shí)現(xiàn)倒計(jì)時(shí)的兩種方式

    ios 實(shí)現(xiàn)倒計(jì)時(shí)的兩種方式

    這篇文章主要介紹了ios實(shí)現(xiàn)倒計(jì)時(shí)的兩種方式,第一種方式使用NSTimer來實(shí)現(xiàn),第二種方式使用GCD來實(shí)現(xiàn)。具體內(nèi)容詳情大家參考下本文
    2017-01-01
  • iOS開發(fā)第三方鍵盤處理實(shí)例代碼

    iOS開發(fā)第三方鍵盤處理實(shí)例代碼

    本篇文章主要介紹了iOS開發(fā)第三方鍵盤處理實(shí)例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06

最新評論

抚顺市| 宜宾县| 张家港市| 南华县| 资阳市| 云阳县| 上饶市| 盘山县| 仪陇县| 嘉善县| 永清县| 忻城县| 安远县| 玉门市| 扶沟县| 贵定县| 拜泉县| 凤山县| 聂荣县| 大兴区| 陆丰市| 手游| 仪陇县| 鄯善县| 兴化市| 泗水县| 汝南县| 中山市| 甘谷县| 曲沃县| 浙江省| 舒兰市| 阿拉善右旗| 遂川县| 杨浦区| 高青县| 泰和县| 太谷县| 锦州市| 曲靖市| 卢氏县|