日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

VC++ 判断点是否在线段上

發布時間:2025/4/14 c/c++ 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VC++ 判断点是否在线段上 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這算法在一些地方會用到;在GIS中也有;

新建一個單文檔工程;

先把窗口標題改一下;如下圖定位到文檔類OnNewDocument函數;

?定位到OnNewDocument()函數,添加setTitle一行;

把如下的C語言函數加到視類CPP文件的尾部;

int PointIsOnSegment(POINT p, POINT a, POINT b) {Vector AP = VectorConstruct(p, p);Vector AB = VectorConstruct(a, b);if(CrossProduct(AP, AB) == 0 && p.x>=min(a.x, b.x) && p.x <=max(a.x, b.x) && p.y>=min(a.y, b.y) && p.y<=max(a.y, b.y)){return 1;}else{return 0;} }Vector VectorConstruct(POINT a, POINT b) {Vector v;v.x = b.x - a.x;v.y = b.y - a.y;return v; }double CrossProduct(Vector a, Vector b) {return a.x * b.y - a.y * b.x; }

結構體定義和函數聲明加到視類CPP文件的頭部;

struct Vector{int x;int y; };Vector VectorConstruct(POINT , POINT ); double CrossProduct(Vector , Vector ); int PointIsOnSegment(POINT , POINT , POINT );

?視類OnDraw函數如下;

void CPttestView::OnDraw(CDC* pDC) {CPttestDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data hereCString str1;POINT pt1;POINT pt2;pt1.x=50;pt1.y=50;pt2.x=250;pt2.y=250; pDC->MoveTo(pt1);pDC->LineTo(pt2);int zxs = PointIsOnSegment(pt1, pt1, pt2);str1.Format("%d",zxs);pDC->TextOut(400,50,str1);POINT pt3;pt3.x=60;pt3.y=260;zxs = PointIsOnSegment(pt3, pt1, pt2);str1.Format("%d",zxs);pDC->TextOut(400,100,str1);POINT pt4;pt4.x=60;pt4.y=1600;zxs = PointIsOnSegment(pt4, pt1, pt2);str1.Format("%d",zxs);pDC->TextOut(400,150,str1);POINT pt5;pt5.x = 60;pt5.y =160;zxs = PointIsOnSegment(pt5, pt1, pt2);str1.Format("%d",zxs);pDC->TextOut(400,200,str1); }

先畫一下線段;然后判斷幾個點看一下;

PointIsOnSegment(POINT p, POINT a, POINT b),? a、b是線段端點,p是要判斷的點;

先判斷端點,端點肯定在線段上,輸出1;

再判斷(60,260),不在,輸出0;

再判斷(60,1600),不在,輸出0;

再判斷(60,160),輸出1,那么此點在線段上;?

?

但是感覺還有問題;如果(60,160)在的話,看上去(60,161)應該不在了;?判斷(60,161)還是輸出1;可能是計算的四舍五入,結構體Vector的成員可能應定義為double;下回再整;

基本代碼和判斷原理參見:

C語言平面幾何3-點是否在線段上_xiaoshe的專欄-CSDN博客

?

總結

以上是生活随笔為你收集整理的VC++ 判断点是否在线段上的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 午夜网页 | 日韩精品免费播放 | 中文字幕一区二区三区日韩精品 | 日韩久久久久久久久久久 | 日本三级在线视频 | 另类专区欧美 | 欧美日韩激情在线观看 | 亚洲五月网 | aaaa视频 | 91午夜在线观看 | 久久久国产免费 | 成人免费看片98 | 狠狠干干 | 欧美一级黄色片在线观看 | 毛片中文字幕 | 成人免费在线观看av | 香蕉视频传媒 | 国产一二三在线观看 | 国产成人免费片在线观看 | 欧美日韩一区二区不卡 | 国产欧美日韩综合精品 | 久操热线 | 超碰97成人 | 精品久久久久国产 | 国产一及片 | 精品无码人妻少妇久久久久久 | 国产无遮挡又黄又爽又色视频 | 美女自拍视频 | 亚洲色欧美另类 | 亚洲美女黄色片 | 性感美女视频一二三 | 婷婷综合网 | 成人午夜天 | 国产网站黄 | 亚洲视频六区 | 天天爱天天做天天爽 | 国产中年熟女高潮大集合 | 中文字幕一区二区三区免费 | 国产精品无码99re | av成人动漫 | 女生鸡鸡软件 | 伦理欧美 | www欧美色 | 亚洲天堂麻豆 | 稀缺小u女呦精品呦 | 涩涩爱在线| 国产一区二区视频在线观看 | 五月婷婷丁香网 | 欧美一区二区三区精品 | 日日躁夜夜躁 | 超碰视屏 | 91福利专区| 国产精品美女久久久久av爽 | 狠狠做 | 97人人爽人人爽人人爽 | 午夜成人影视 | 浴室里强摁做开腿呻吟男男 | 日本在线观看中文字幕 | 欧美色图30p| 久久国产香蕉 | 久久久91精品国产一区二区三区 | 99久久人妻无码精品系列 | 亚洲综合涩 | 少妇乱淫| 国产精品视频免费播放 | 国产原创麻豆 | 国产精品一级黄色片 | 久久无码人妻一区二区三区 | 亚洲精品视频在线观看免费视频 | 污视频在线观看网址 | 国产精品探花一区二区在线观看 | 亚洲欧美另类激情 | 午夜大片 | 午夜毛片视频 | 性做久久久久久免费观看欧美 | 国产成人a∨ | 99久久久无码国产精品性黑人 | 娇妻玩4p被三个男人伺候电影 | 日韩中文视频 | 中文字幕二区 | 色婷婷午夜 | 国产精品久久久久久久毛片 | 免费a v网站| 欧美日本韩国一区 | 暖暖免费观看日本版 | 密色av | 久久人人插| 一区二区在线看 | 精品人妻无码一区二区三区换脸 | jizz中文字幕 | 欧美视频一区二区三区四区在线观看 | 在线视频免费观看你懂的 | 亚洲男人第一天堂 | 波多野结衣一区 | 日韩av免费一区 | 久久六| 国内毛片毛片毛片 | 欧美日韩国产一区二区 | 午夜寂寞视频 |