Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách nhanh nhất kiểm tra điểm nằm trong đa giác trong Python


Đầu tiên, tạo đa giác bằng mplPath.Path. Để kiểm tra điểm có trong đa giác, dùng phương thức poly_path.contains_point.

Các bước

  • Tạo list điểm để làm đa giác.

  • Tạo path mới với vertices và codes, dùng mplPath.Path().

  • Kiểm tra điểm (200, 100) có trong đa giác không, contains_point(). Trả về True.

  • Kiểm tra điểm (1200, 1000) có trong đa giác không, contains_point(). Trả về False.

Ví dụ

import matplotlib.path as mplPath
import numpy as np
poly = [190, 50, 500, 310]
poly_path = mplPath.Path(np.array([[190, 50],
                                     [50, 500],
                                     [500, 310],
                                     [310, 190]]))
point = (200, 100)
print(point, " nằm trong đa giác: ", poly_path.contains_point(point))
point = (1200, 1000)
print(point, " nằm trong đa giác: ", poly_path.contains_point(point))

Kết quả

(200, 100) nằm trong đa giác: True
(1200, 1000) nằm trong đa giác: False