उत्तल बहुभुज
एक उत्तल बहुभुज एक बहुभुज . के रूप में परिभाषित किया गया है इसके सभी आंतरिक कोण 180° से कम हैं।
समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता होती है जो निर्देशांक की एक सरणी लेता है, मूल रूप से सरणी सरणी की एक सरणी होगी जिसमें प्रत्येक सबरे में ठीक दो संख्याएं होंगी, जो 2-डी विमान पर एक बिंदु निर्दिष्ट करती है।
हमारे कार्य को यह निर्धारित करना चाहिए कि इन बिंदुओं से बनने वाला बहुभुज उत्तल बहुभुज है या नहीं। यदि हाँ, तो फ़ंक्शन को सही, अन्यथा वापस लौटना चाहिए।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -
const arr =[[0,0],[0,1],[1,1],[1,0]];
तब आउटपुट होना चाहिए -
कॉन्स्ट आउटपुट =सत्य;
आउटपुट स्पष्टीकरण:
ये बिंदु एक पूर्ण वर्ग बनाएंगे जिसमें सभी शीर्षों का आंतरिक कोण 90 है।
उदाहरण
इसके लिए कोड होगा -
const arr =[[0,0],[0,1],[1,1],[1,0]];const isConvex =(arr =[]) => {const {लंबाई} =arr; चलो पूर्व =0, वक्र =0; के लिए (चलो i =0; i <लंबाई; ++i) { dx1 =arr [(i + 1)% लंबाई] [0] - arr [i] [0]; चलो dx2 =arr [(i + 2)% लंबाई] [0] - arr [(i + 1)% लंबाई] [0]; चलो dy1 =arr [(i + 1)% लंबाई] [1] - arr [i] [1]; चलो dy2 =arr [(i + 2)% लंबाई] [1] - arr [(i + 1)% लंबाई] [1]; curr =dx1 * dy2 - dx2 * dy1; if (curr !=0) { if ((curr> 0 &&pre <0) || (curr <0 &&pre> 0)) झूठी वापसी; अन्य पूर्व =वर्तमान; }; }; सही लौटें;};console.log(isConvex(arr));
आउटपुट
और कंसोल में आउटपुट होगा -
<पूर्व>सत्य