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

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

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

कदम

  • पॉलीगॉन बनाने के लिए बिंदुओं की सूची बनाएं.

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

  • जाँच करें कि क्या बिंदु (200, 100) बहुभुज में मौजूद है या नहीं, इसमें शामिल_बिंदु () विधि का उपयोग किया जाता है। वापस लौटें कि क्या (बंद) पथ में दिया गया बिंदु है। => सच

  • जाँच करें कि क्या बिंदु (1200, 1000) बहुभुज में मौजूद है या नहीं, इसमें शामिल_बिंदु () विधि का उपयोग किया जाता है। वापस लौटें कि क्या (बंद) पथ में दिया गया बिंदु है। => गलत

उदाहरण

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. जांचें कि क्या कोई बिंदु पायथन में एक आयत पर या उसके अंदर स्थित है

    मान लीजिए कि हमारे पास दो बिंदुओं द्वारा दर्शाया गया एक आयत है जो नीचे-बाएँ और ऊपरी-दाएँ कोने के बिंदु हैं। हमें यह जांचना है कि इस आयत के अंदर दिया गया बिंदु (x, y) मौजूद है या नहीं। इसलिए, यदि इनपुट बॉटम_लेफ्ट =(1, 1), टॉप_राइट =(8, 5), पॉइंट =(5, 4) जैसा है, तो आउटपुट ट्रू होगा इसे हल करने के

  1. दिए गए बहुभुज के अंदर या सीमा में दिए गए बिंदु की जाँच करने के लिए कार्यक्रम या नहीं अजगर में

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

  1. गाइड:अपने iPhone को चार्ज करने का सबसे तेज़ तरीका क्या है?

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