日韩性视频-久久久蜜桃-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++ 判断点是否在线段上的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 夜夜撸网站 | 伊人久久艹 | 综合激情亚洲 | 日本精品视频在线 | 免费黄色在线视频 | 男男巨肉啪啪动漫3d | 极品蜜桃臀肥臀-x88av | 色小说在线观看 | 亚洲精品一区二区三区四区乱码 | 少妇太爽了 | 欧美激情片在线观看 | 一级黄色毛毛片 | av二区在线 | 这里只有精品视频在线 | 精品国偷自产在线 | 三级精品在线观看 | 国产素人在线观看 | 影音先锋毛片 | 亚洲AV无码精品国产 | 国产麻豆精品在线观看 | 国产精品porn | 午夜成人鲁丝片午夜精品 | 国产精品自拍视频一区 | 国v精品久久久网 | 色视频免费看 | 欧美激情亚洲色图 | 久久噜噜噜 | 黄a网站 | 欧美精品日韩 | 伊人久久伊人 | 欧美在线国产 | 国产欧美日韩综合精品一区二区 | 日韩骚片| 91精品国产91久久久久久吃药 | 天天av天天操 | 无码人妻丰满熟妇啪啪 | 国产寡妇色xxⅹ交肉视频 | 美女福利在线观看 | 韩国三级中文字幕hd久久精品 | 久热中文字幕在线 | 99视频一区 | 制服诱惑一区二区三区 | 午夜精品福利一区二区 | 波多野结衣免费在线视频 | 91久久人澡人人添人人爽欧美 | 久久精品综合网 | 97免费超碰 | 久草视频免费在线播放 | 精品影院 | 69av视频 | 国产老头户外野战xxxxx | www.久久久久久久久久 | 欧美xxxx喷水 | 精品国产乱码久久久久久图片 | 国产美女一区二区三区 | 色老头一区二区三区 | 精品国产一二三 | 大尺码肥胖女系列av | 精品一区二区三区在线播放 | 91播放在线 | 干干干日日日 | jizzjizz在线| 色天使在线视频 | 午夜av成人| 欧美日韩国产电影 | 欧美综合自拍 | 黄色一级片免费 | 日本在线网站 | 国产日本亚洲 | 久久精品国产亚洲AV成人雅虎 | 中文字幕人乱码中文字 | 免费日本黄色片 | 国产一级片免费在线观看 | 国产欧美日韩综合精品 | 精品日韩欧美 | 成人片黄网站久久久免费 | 久久精品视频在线免费观看 | 不卡视频在线 | 欧美视频在线看 | 亚洲成人网在线观看 | 国产日本精品 | 自慰无码一区二区三区 | 黄色无遮挡 | 久久午夜夜伦鲁鲁片 | 天堂精品在线 | 超碰人人在线 | 欧美福利网 | 波多野结衣精品在线 | 天天干天天色天天射 | 夜夜夜夜夜操 | 日本熟伦人妇xxxx | 伊人国产女 | 亚洲欧美另类自拍 | 欧美老熟妇乱xxxxx | 女人性做爰24姿势视频 | 伊人免费视频二 | 日本视频在线免费 | 青青超碰| 美女脱衣服一干二净 |