से अधिक मैं बहुभुज के आंतरिक कोणों की संख्या कैसे प्राप्त कर सकता हूं, 180º से बड़ा, केवल बहुभुज के शिखर वाले हैं?एक बहुभुज के आंतरिक कोणों की संख्या खोजें, 180º
प्रत्येक चरम के लिए मैं हमेशा आंतरिक कोण चाहता हूं, बाहरी नहीं।
ब्राजील से धन्यवाद।
से अधिक मैं बहुभुज के आंतरिक कोणों की संख्या कैसे प्राप्त कर सकता हूं, 180º से बड़ा, केवल बहुभुज के शिखर वाले हैं?एक बहुभुज के आंतरिक कोणों की संख्या खोजें, 180º
प्रत्येक चरम के लिए मैं हमेशा आंतरिक कोण चाहता हूं, बाहरी नहीं।
ब्राजील से धन्यवाद।
आप स्केलर उत्पाद (डॉट उत्पाद) ले कर बस दो वैक्टरों के कोण को निर्धारित कर सकते हैं।एक उपयोगी संपत्ति यह है कि यदि वेक्टर ऑर्थोगोनल हैं, तो उनके स्केलर उत्पाद शून्य है; अगर उनका कोण उलझन में है, तो उत्पाद नकारात्मक है, अन्यथा सकारात्मक है। तो, कदम उठाने के लिए कर रहे हैं:
(x y)
(-y x)
करने के लिए)(x1 * x2) + (y1 * y2)
)संपादित का उपयोग करें:
1 n-1 A = --- SUM(x(i)*y(i+1) - x(i+1)*y(i)) 2 i=0: आप बहुभुज के क्षेत्रफल की गणना करने के लिए निम्न सूत्र का उपयोग करके प्राप्त कर सकते हैं कोने वामावर्त या दक्षिणावर्त आदेश दिया जाता है कि क्या
जहां n
शिखर की संख्या है। x(n)
और y(n)
x(0)
और y(0)
(बहुभुज को बंद करने के लिए) के समान हैं।
यदि यह सकारात्मक है, तो कोष्ठक को दक्षिणावर्त के विपरीत, अन्यथा दक्षिणावर्त का आदेश दिया जाता है।
संपादित: जब आप रोटेशन और अदिश उत्पाद के कदम को आसान बनाने में, आप दो आयामी पार उत्पाद, x1*y2 - x2*y1
के लिए सूत्र पर पहुंचें। यह ऊपर पहला कदम को सरल:
((x1 * y2) - (x2 * y1))
क्षमा जटिल पहले दृष्टिकोण के लिए है।
क्या आप स्केलर उत्पाद को परिभाषित कर सकते हैं? –
शायद डॉट उत्पाद। क्रॉस उत्पाद का उपयोग करना बहुत आसान है क्योंकि यह अच्छी तरह परिभाषित है कि आपको घुमावदार पता है। – MSN
स्केलर उत्पाद: x1 * x2 + y1 * y2 = scalar –
यह ज्यामिति से संबंधित एक प्रश्न है, बिल्कुल प्रोग्रामिंग से संबंधित नहीं है।
यदि आपके पास शिखर हैं, तो आप त्रिभुज के कोणों को कैसे ढूंढते हैं, इस तरह आप केवल त्रिकोणमिति द्वारा आंतरिक कोण ढूंढ सकते हैं।
तीन आसन्न शिखर का उपयोग करके, एक त्रिकोण की कल्पना करें और उन्हें आंतरिक कोण मिलते हैं। ,
यह केवल तभी काम करता है जब बहुभुज पूरी तरह उत्तल हो। – lucasbls1
मैं इस एक अनियमित बहुभुज है यह सोचते हैं रहा हूँ, क्योंकि यह होगा:
हम एक त्रिकोण के रूप में निर्माण कर सकते हैं:
उदाहरण के लिए, बहुभुज को देखो एक नियमित बहुभुज के लिए 180 डिग्री से अधिक आंतरिक कोण होने के लिए वास्तव में मुश्किल हो।
प्रत्येक चरम के लिए, आपको दोनों पड़ोसी शिखरों को भी जानने की आवश्यकता होगी। इसके बाद आप इसे एक त्रिकोणमिति समस्या में बदल सकते हैं, जहां आपको मुख्य वर्टेक्स से कोण, बाएं कशेरुक कहने के लिए कोण मिलते हैं, और इसे मुख्य कशेरुक से दाएं चरम पर कोण में जोड़ दें।
उदाहरण के लिए,
tan(angle_to_left) = (v.y-left.x)/(v.y-left.y) tan(angle_to_right) = (v.y-right.x)/(v.y-right.y)
फिर कोण एक साथ जोड़ें।
अंत में, 180 से अधिक होने वाले सभी कोणों के लिए, काउंटर बढ़ाना। कोने के सभी अध्ययन करने के बाद अपने काउंटर आपको बता देंगे कि कितने आंतरिक कोण हैं एक से अधिक 180.
उत्तल हॉल से बाहर किए गए एकल कोष्ठकों के लिए, आंतरिक कोण> 180 है। शिखर की एक श्रृंखला के लिए, श्रृंखला के दोनों छोर पर बहिष्कृत चरम और शामिल शिखर द्वारा बनाए गए बहुभुज के उत्तल ढक्कन का पुनरावृत्ति अध्ययन करें। – user57368
इस उत्तर को पीछे की तरफ मिल गया है - अवतल आंतरिक कोणों को ढूंढने के लिए एक सरल बहुभुज _involves_ के उत्तल ढक्कन को खोजने का सबसे प्रभावी तरीका। कनेक्टिविटी के क्रम में अंक – Svante
स्पर्शक के साथ समस्या x == 0 है। यदि आप केवल बहुभुज के शिखर को जानते हैं, तो आप तब तक पर्याप्त नहीं जानते जब तक कि यह त्रिकोण नहीं है क्योंकि उनके पास कनेक्टिविटी की कोई भी प्रकार हो सकती है।
मान लें कि आप कनेक्टिविटी को जानते हैं, तो आपको घुमावदार क्रम की गणना करने की आवश्यकता होगी (यानी, पॉलीगॉन के आसपास बिंदु किस दिशा में जाते हैं?)। घुमावदार आदेश के साथ, आप उसके पड़ोसी बिंदुओं के साथ हर बिंदु का क्रॉस उत्पाद ले सकते हैं और कोण प्राप्त करने के लिए इसके परिमाण की व्यस्त साइन ले सकते हैं।
पिछले दो वैक्टर के इंटीरियर कोण (एक उदाहरण के रूप में) ढूँढना, हम बहुभुज के अंतिम दो वैक्टर के लिए इस समीकरण को लागू करने की जरूरत है:
angleRadians = Math.acos ((vx1 * VX2 + vy1 * vy2)/(Math.sqrt (vx1 * vx1 + vy1 * vy1) * Math.sqrt (vx2 * vx2 + vy2 * vy2)));
यह वैक्टर के डॉट उत्पाद का उपयोग कर रहा है। यदि आपके पास इस पर प्रश्न हैं, here's a tutorial
लेकिन यह 'घुमावदार दिशा' को ध्यान में रखता है, तो पहले आपको क्रॉस उत्पाद प्राप्त करना होगा और यदि क्रॉस उत्पाद सकारात्मक है, तो यह बाएं मोड़ था, अगर नकारात्मक- - एक सही मोड़ (जिसके लिए हम 360 से घटाकर (एक्सटी) कोण को क्षतिपूर्ति करेंगे।
मैंने यहां अपना जेएस कोड शामिल किया है, एक गिस्ट के रूप में: https://gist.github.com/3741816।
: डी
आप केवल बहुभुज द्वारा बहुभुज को परिभाषित नहीं कर सकते हैं। आप भी पक्ष निर्दिष्ट करने के लिए _have_। –
मेरे पास vertex क्रम में है, इसलिए मुझे पक्षों की आवश्यकता नहीं है। – lucasbls1
बहुभुज पॉलीगॉन देने के लिए बिंदुओं को परिभाषित किया जाएगा (पक्ष)। – Swinders