程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> c語言判斷一個點是否在多邊形內

c語言判斷一個點是否在多邊形內

編輯:關於C語言
 

使用Canvas繪制圖形時,為了使得在鼠標移動到某個多邊形內部時,對整個多邊形進行高亮顯示,這裡就需要用到判斷某個點是否在多邊形內部的算法.

其實用到的幾何原理就是, 從要判斷的點任意作一條射線, 然後計數射線與多邊形相交點的個數,若相交點個數為奇數個,剛此點位於多邊形內部,若相交點個數為偶數個,剛此點位於多邊形外部.

所以下面的三個方法就是實現這個目的.

檢驗方法

// CoffeeScript

// 多邊形
polygon = [
0, 0,
0, 2,
2, 2,
2, 0,
0, 0
];

point = [1, 1];

console.log insidePolygon(polygon, point[0], point[1]);
// = 1, 證明要檢驗的點位於多邊形內部

 

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved