Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Python में किसी बिंदु के बहुभुज के अंदर होने की जांच करने का सबसे तेज़ तरीका क्या है?


सबसे पहले, हम mplPath.Path मेथड का उपयोग करके एक बहुभुज बनाएंगे और यह जांचने के लिए कि कोई दिया गया बिंदु बहुभुज में है या नहीं, हम मेथड poly_path.contains_point का उपयोग करेंगे।

चरण

  • बहुभुज बनाने के लिए बिंदुओं की सूची बनाएं।

  • दिए गए शीर्षों और कोड के साथ एक नया पथ बनाएं, mplPath.Path() का उपयोग करके।

  • जांचें कि बिंदु (200, 100) बहुभुज में मौजूद है या नहीं, contains_point() मेथड का उपयोग करके। लौटाता है कि क्या (बंद) पथ दिए गए बिंदु को समाहित करता है। => True

  • जांचें कि बिंदु (1200, 1000) बहुभुज में मौजूद है या नहीं, contains_point() मेथड का उपयोग करके। लौटाता है कि क्या (बंद) पथ दिए गए बिंदु को समाहित करता है। => False

उदाहरण

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, " is in polygon: ", poly_path.contains_point(point))
point = (1200, 1000)
print(point, " is in polygon: ", poly_path.contains_point(point))

आउटपुट

(200, 100) is in polygon: True
(1200, 1000) is in polygon: False

  1. पायथन में जांचें कि कोई बिंदु आयत के अंदर या पर स्थित है या नहीं पायथन में जांचें कि कोई बिंदु आयत के अंदर या पर स्थित है या नहीं

    मान लीजिए हमारे पास एक आयत है जिसे दो बिंदुओं द्वारा दर्शाया गया है: निचला-बायां (bottom-left) और ऊपरी-दायां (top-right) कोना। हमें यह जांचना है कि क्या दिया गया बिंदु (x, y) इस आयत के अंदर मौजूद है या नहीं। उदाहरण के लिए, यदि इनपुट bottom_left = (1, 1), top_right = (8, 5), point = (5, 4) है, तो आउ

  1. Python में दिए गए पॉइंट को पॉलीगोन के अंदर या बाउंड्री पर है या नहीं, इसकी जांच करने का प्रोग्राम Python में दिए गए पॉइंट को पॉलीगोन के अंदर या बाउंड्री पर है या नहीं, इसकी जांच करने का प्रोग्राम

    मान लीजिए हमारे पास कार्टेशियन पॉइंट्स की एक सूची [(x1, y1), (x2, y2), ..., (xn, yn)] है, जो एक पॉलीगोन को दर्शाती है, और हमारे पास दो मान x और y भी हैं, हमें जांचना है कि (x, y) इस पॉलीगोन के अंदर है या बाउंड्री पर।इसलिए, यदि इनपुट इस तरह है points = [(0, 0), (1, 3), (4, 4), (6, 2), (4, 0)] pt = (3

  1. सबसे तेज़ iPhone चार्जिंग: त्वरित और सुरक्षित पावर के लिए विशेषज्ञ गाइड सबसे तेज़ iPhone चार्जिंग: त्वरित और सुरक्षित पावर के लिए विशेषज्ञ गाइड

    कोई भी अपने स्मार्टफोन को घंटों तक चार्जिंग केबल में प्लग करके या वायरलेस चार्जर पर छोड़ना नहीं चाहता। फास्ट चार्जिंग अब चलन में है। यह गाइड iPhone मालिकों के लिए उपलब्ध विभिन्न फास्ट-चार्जिंग विधियों और एक्सेसरीज़ की तुलना करता है। लक्ष्य आपको अपने iPhone को चार्ज करने के सबसे तेज़, सबसे सुरक्षित औ