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

पायथन में बहुभुज का क्षेत्रफल खोजने का प्रोग्राम


मान लीजिए हमारे पास एक 2D तल पर एक साधारण बहुभुज के अंतिम बिंदुओं को दर्शाने वाले क्रमबद्ध बिंदुओं की सूची है। हमें इस बहुभुज का क्षेत्रफल ढूंढना है।

उदाहरण के लिए, यदि इनपुट points = [(0, 0), (0,5), (3, 5), (3,0)] है, तो आउटपुट 15 होगा।

पायथन में बहुभुज का क्षेत्रफल खोजने का प्रोग्राम

समाधान दृष्टिकोण

इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे:

  • getInfo() नामक एक फंक्शन परिभाषित करें। यह x1, y1, x2, y2 लेगा
    • x1*y2 - y1*x2 लौटाएं
  • मुख्य विधि से, निम्न करें
    • N := points का आकार
    • (firstx, firsty) := points[0]
    • (prevx, prevy) := (firstx, firsty)
    • res := 0
    • i के लिए 1 से N-1 तक की रेंज में, करें
      • (nextx, nexty) := points[i]
      • res := res + getInfo(prevx, prevy, nextx, nexty)
      • prevx := nextx
      • prevy := nexty
    • res := res + getInfo(prevx, prevy, firstx, firsty)
    • |res| / 2.0 लौटाएं

उदाहरण

बेहतर समझ के लिए निम्न कार्यान्वयन देखें:

def getInfo(x1, y1, x2, y2):
    return x1*y2 - y1*x2

def solve(points):
    N = len(points)
    firstx, firsty = points[0]
    prevx, prevy = firstx, firsty
    res = 0
    for i in range(1, N):
        nextx, nexty = points[i]
        res = res + getInfo(prevx, prevy, nextx, nexty)
        prevx = nextx
        prevy = nexty
    res = res + getInfo(prevx, prevy, firstx, firsty)
    return abs(res)/2.0

points = [(0, 0), (0,5), (3, 5), (3,0)]
print(solve(points))

इनपुट

[(0, 0), (0,5), (3, 5), (3,0)]

आउटपुट

15.0
  1. पायथन में दो आयतों द्वारा कवर किए गए कुल क्षेत्रफल को खोजने का प्रोग्राम पायथन में दो आयतों द्वारा कवर किए गए कुल क्षेत्रफल को खोजने का प्रोग्राम

    मान लीजिए हम 2D तल में दो रेक्टिलिनियर आयतों द्वारा कवर किए गए कुल क्षेत्रफल को खोजना चाहते हैं। यहां प्रत्येक आयत को उसके निचले बाएं कोने और ऊपरी दाएं कोने द्वारा परिभाषित किया गया है जैसा कि चित्र में दिखाया गया है।इसे हल करने के लिए, हम निम्न चरणों का पालन करेंगे:width_1 := |C-A|, height_1 := |D-

  1. पायथन में बहुभुज का परिमाप खोजने का प्रोग्राम पायथन में बहुभुज का परिमाप खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक 2D तल पर एक साधारण बहुभुज के अंतिम बिंदुओं को दर्शाने वाले क्रमबद्ध बिंदुओं की सूची है। हमें इस बहुभुज का परिमाप ढूंढना है।उदाहरण के लिए, यदि इनपुट points = [(0, 0), (0,5), (3, 5), (3,0)] है, तो आउटपुट 16 होगा क्योंकिदो भुजाएं लंबाई 3 की हैं और दो भुजाएं लंबाई 5 की हैं, तो 2*5

  1. हिस्टोग्राम के नीचे सबसे बड़े आयत का क्षेत्रफल ज्ञात करने का पायथन प्रोग्राम हिस्टोग्राम के नीचे सबसे बड़े आयत का क्षेत्रफल ज्ञात करने का पायथन प्रोग्राम

    मान लीजिए हमारे पास संख्याओं की एक सूची है जो हिस्टोग्राम में बार की ऊंचाइयों को दर्शाती है। हमें बार के नीचे बनने वाले सबसे बड़े आयत का क्षेत्रफल ढूंढना है। उदाहरण के लिए, यदि इनपुट nums = [3, 2, 5, 7] है, तो आउटपुट 10 होगा। इसे हल करने के लिए, हम निम्न चरणों का पालन करेंगे: stk := एक स्टैक और