📘 CodingMarble Learn

कंप्यूटेशनल ज्योमेट्री: क्रॉस गुणनफल, बहुभुज का क्षेत्रफल और उत्तल हल

कंप्यूटर आकृतियों के सवाल सिर्फ निर्देशांक और एक छोटी तरकीब से हल करता है: क्रॉस गुणनफल। दो तीरों u और v के लिए क्रॉस = ux·vy − uy·vx। इसका परिमाण उन तीरों से बने समांतर चतुर्भुज का क्षेत्रफल है और चिह्न बताता है कि मोड़ बाएँ है या दाएँ। त्रिभुजों के क्षेत्रफल जोड़ने से किसी भी बहुभुज का क्षेत्रफल मिलता है, और सिर्फ बाएँ मोड़ रखने से उत्तल हल (कॉन्वेक्स हल) मिलता है।

🎬 कदम-दर-कदम कहानी

  1. ग्रिड पर तीन बिंदु हैं: A, B और C। हर बिंदु दो संख्याओं (x, y) का जोड़ा है। तीर AB और AC भी जोड़े हैं: अंत बिंदु में से शुरुआती बिंदु घटाओ।
  2. दोनों तीरों को समांतर चतुर्भुज की दो भुजाएँ मानो। उसका क्षेत्रफल ही क्रॉस गुणनफल है: ABx × ACy − ABy × ACx। त्रिभुज ABC ठीक उसका आधा है।
  3. A से B तक चलो, फिर C की ओर। अब C रेखा AB के नीचे चला गया। क्रॉस गुणनफल ऋणात्मक हो गया। धनात्मक यानी बाएँ मोड़, ऋणात्मक यानी दाएँ मोड़, शून्य यानी सीधी रेखा।
  4. बहुभुज बहुत सारे त्रिभुजों से बना होता है। उसे एक कोने से काटो। हर त्रिभुज का क्षेत्रफल क्रॉस गुणनफल से निकालो, फिर सबको जोड़ दो। यही बहुभुज का क्षेत्रफल है।
  5. बोर्ड में कीलें ठोको और उनके चारों ओर रबर बैंड खींचो। बैंड सिर्फ बाहर की कीलों को छूता है। यह बाहरी आकार उत्तल हल (कॉन्वेक्स हल) है। बैंड का हर कोना बाएँ मोड़ वाला है।
  6. अब खुद खेलो। दो स्लाइडर से बिंदु C को हिलाओ। क्रॉस गुणनफल, क्षेत्रफल और मोड़ का नाम बदलते देखो। कोशिश करो कि क्रॉस ठीक शून्य हो जाए।

टिप: 3D दृश्य को घुमाने के लिए खींचें। ज़ूम के लिए दो उंगलियाँ इस्तेमाल करें।

🤔 आम शंकाएँ और उनके जवाब

ये तीर किनसे बने हैं?

हर तीर दो संख्याएँ है: अंत बिंदु में से शुरुआती बिंदु घटाओ। AB = (7, 1) का मतलब 7 दाईं ओर और 1 ऊपर।

क्रॉस गुणनफल क्षेत्रफल क्यों है, और त्रिभुज उसका आधा क्यों है?

एक ही कोने से निकले दो तीर समांतर चतुर्भुज बनाते हैं। उसका क्षेत्रफल a·d − b·c आता है। विकर्ण उसे दो बराबर त्रिभुजों में बाँटता है, इसलिए नारंगी त्रिभुज आधा है। नीली आकृति और लेबल दोनों संख्याएँ दिखाते हैं।

चिह्न से बाएँ और दाएँ का पता कैसे चलता है?

जब दूसरा तीर पहले से घड़ी की उलटी दिशा में हो तो चिह्न वाला क्षेत्रफल धनात्मक होता है। C को AB के नीचे ले जाओ तो वह घड़ी की दिशा में हो जाता है और संख्या ऋणात्मक हो जाती है।

क्या यह त्रिभुज वाली तरकीब हर बहुभुज पर चलती है?

हाँ, हर उस बहुभुज पर जिसकी भुजाएँ एक-दूसरे को नहीं काटतीं। उत्तल बहुभुज एक कोने से सुंदर त्रिभुजों में बँटता है। गड्ढे वाले बहुभुज में चिह्न वाले टुकड़े अतिरिक्त हिस्से को काट देते हैं और कुल योग फिर भी सही आता है।

कुछ कीलें हल पर क्यों नहीं हैं?

बैंड के अंदर वाली कील को बैंड छूता ही नहीं। नीली कीलें बाहरी आकार के अंदर हैं, इसलिए वे हल का हिस्सा नहीं हैं।

जब क्रॉस गुणनफल ठीक 0 हो जाए तो क्या होता है?

तीनों बिंदु एक रेखा में आ जाते हैं, त्रिभुज चपटा हो जाता है और उसका क्षेत्रफल 0 हो जाता है। स्लाइडर तब तक हिलाओ जब तक निशान स्लेटी न हो जाए।

बिंदु और तीर (सदिश)

ग्रिड पर हर बिंदु की दो संख्याएँ होती हैं, (x, y)। बिंदु P से बिंदु Q तक का तीर भी दो संख्याएँ है: (Qx − Px, Qy − Py)। यह बताता है कि कितना दाईं ओर और कितना ऊपर जाना है। तीर को सदिश (vector) भी कहते हैं।

उदाहरण: A = (−4, −2) और B = (3, −1)। तीर AB = (3 − (−4), −1 − (−2)) = (7, 1)।

दो तीरों का क्रॉस गुणनफल

दो तीर u = (a, b) और v = (c, d) का क्रॉस गुणनफल एक संख्या होती है:

u × v = a·d − b·c

u और v को एक ही बिंदु से खींचकर समांतर चतुर्भुज पूरा करो। उसका क्षेत्रफल |u × v| है। यानी क्रॉस गुणनफल एक चिह्न वाला क्षेत्रफल है। उन्हीं दो तीरों से बने त्रिभुज का क्षेत्रफल इसका आधा होता है।

मोड़ की दिशा: बायाँ, दायाँ या सीधा

तीन बिंदु A, B, C लो। निकालो क्रॉस = (B − A) × (C − A)। यह (B − A) × (C − B) के बराबर भी होता है, इसलिए यह वही मोड़ है जो A → B → C चलते समय B पर लेते हो।

न कोण चाहिए, न वर्गमूल, न भाग। सिर्फ पूर्णांकों का गणित, इसलिए कंप्यूटर में गोल करने की कोई गलती नहीं होती।

बहुभुज का क्षेत्रफल

एक कोना V0 चुनो। उसे बाकी कोनों से जोड़ो। n कोनों वाला बहुभुज n − 2 त्रिभुजों (V0, Vk, Vk+1) में बँट जाता है। उनके चिह्न वाले क्षेत्रफल जोड़ो:

क्षेत्रफल = ½ × (क्रॉस(V0, Vk, Vk+1) का योग)

कोने घड़ी की उलटी दिशा में हों तो हर पद धनात्मक आता है। घड़ी की दिशा में हों तो उत्तर ऋणात्मक आता है, तब निरपेक्ष मान ले लो। शू-लेस सूत्र (shoelace formula) भी यही संख्या देता है: ½ |Σ (xi·yi+1 − xi+1·yi)|, कोनों पर एक चक्कर लगाकर। यह हर उस बहुभुज पर चलता है जिसकी भुजाएँ एक-दूसरे को नहीं काटतीं, चाहे उसमें गड्ढा (दबा हुआ कोना) हो।

उत्तल हल (कॉन्वेक्स हल)

कोई आकृति उत्तल (convex) है यदि उसके अंदर के किन्हीं दो बिंदुओं को जोड़ने वाली रेखा भी अंदर ही रहे। बिंदुओं के समूह का उत्तल हल वह सबसे छोटी उत्तल आकृति है जिसमें सारे बिंदु आ जाएँ। सोचो कि बोर्ड में कीलें हैं और उनके चारों ओर रबर बैंड कसा है।

मोनोटोन चेन विधि: 1) बिंदुओं को x से (फिर y से) क्रम में लगाओ। 2) नीचे की श्रृंखला बाएँ से दाएँ बनाओ: हर बिंदु जोड़ो, और जब तक अंतिम तीन बिंदु बाएँ मोड़ न बनाएँ, बीच वाला हटाते जाओ। 3) ऊपर की श्रृंखला दाएँ से बाएँ इसी तरह बनाओ। 4) दोनों श्रृंखलाएँ जोड़ दो। समय लगभग n log n लगता है, क्योंकि क्रम लगाने में ही सबसे ज़्यादा समय जाता है।

खुद करके देखो: कीलें और धागा

कागज़ पर 10 बिंदु बनाओ, या कॉर्क बोर्ड में 10 पिनें लगाओ। पहले अंदाज़ा लगाओ कि कौन से बिंदु हल पर होंगे। फिर धागा या रबर बैंड लपेटकर जाँचो। बैंड के किसी एक कोने के तीन बिंदु A, B, C लेकर क्रॉस गुणनफल निकालो: घड़ी की उलटी दिशा में चलो तो वह धनात्मक आना चाहिए।

मुख्य सूत्र और परिभाषाएँ

हल किए गए उदाहरण

1. u = (2, 1) और v = (1, 3) के लिए u × v निकालो। चिह्न क्या बताता है?

u × v = 2×3 − 1×1 = 6 − 1 = 5। यह धनात्मक है, यानी v, u से घड़ी की उलटी दिशा में (बाईं ओर) घूमा है। समांतर चतुर्भुज का क्षेत्रफल 5 है।

2. A(0, 0) → B(4, 1) → C(6, −2) चलने पर B पर बायाँ मोड़ है या दायाँ?

AB = (4, 1), BC = (2, −3)। क्रॉस = 4×(−3) − 1×2 = −12 − 2 = −14। ऋणात्मक है, इसलिए दायाँ मोड़ है।

3. क्या A(1, 1), B(3, 2), C(7, 4) एक सीधी रेखा में हैं?

AB = (2, 1), AC = (6, 3)। क्रॉस = 2×3 − 1×6 = 0। शून्य है, इसलिए तीनों बिंदु संरेखी हैं।

4. A(1, 1), B(6, 2), C(3, 5) वाले त्रिभुज का क्षेत्रफल निकालो।

AB = (5, 1), AC = (2, 4)। क्रॉस = 5×4 − 1×2 = 18। क्षेत्रफल = 18 / 2 = 9 वर्ग इकाई।

5. (0,0), (5,0), (5,3), (2,4), (0,3) बहुभुज का क्षेत्रफल (0,0) से बने त्रिभुजों द्वारा निकालो।

T1 = (0,0),(5,0),(5,3): क्रॉस (5,0)×(5,3) = 15, क्षेत्रफल 7.5। T2 = (0,0),(5,3),(2,4): क्रॉस (5,3)×(2,4) = 20 − 6 = 14, क्षेत्रफल 7। T3 = (0,0),(2,4),(0,3): क्रॉस (2,4)×(0,3) = 6, क्षेत्रफल 3। कुल = 7.5 + 7 + 3 = 17.5 वर्ग इकाई।

6. (0,0), (4,0), (2,1), (4,4), (0,4), (1,2), (3,3) का उत्तल हल कौन से बिंदुओं से बनेगा?

चार कोने (0,0), (4,0), (4,4), (0,4) एक वर्ग बनाते हैं। बाकी तीन बिंदु (2,1), (1,2) और (3,3) उसके अंदर हैं। इसलिए हल इन 4 कोनों से बनता है, क्रम में (0,0) → (4,0) → (4,4) → (0,4)। घूमते समय हर मोड़ बायाँ है।

7. A, B, C हैं (0,0), (6,0), (3,−2)। क्षेत्रफल निकालो और बताओ कि क्रम A, B, C घड़ी की दिशा में है या नहीं।

AB = (6, 0), AC = (3, −2)। क्रॉस = 6×(−2) − 0×3 = −12। क्षेत्रफल = 12 / 2 = 6। ऋणात्मक क्रॉस का मतलब है कि A → B → C घड़ी की दिशा में है।

आम गलतियाँ

अभ्यास क्विज़

1. (B − A) और (C − A) का क्रॉस गुणनफल धनात्मक हो तो:
2. u = (3, 2), v = (1, 4) हो तो u × v क्या है?
3. उन्हीं दो तीरों से बने समांतर चतुर्भुज का त्रिभुज कितना हिस्सा होता है?
4. बिंदुओं के समूह का उत्तल हल किसके जैसा है?
5. 6 कोनों वाला बहुभुज एक कोने से कितने त्रिभुजों में बँटता है?

अभ्यास: खुद जवाब दो

अपना जवाब लिखो या चुनो, फिर जाँचें दबाओ। अटको तो संकेत देखो; जवाब देने के बाद पूरा हल दिखेगा।

अक्सर पूछे जाने वाले प्रश्न

कंप्यूटेशनल ज्योमेट्री आसान शब्दों में क्या है?

यह देखती है कि कंप्यूटर बिंदुओं, रेखाओं और आकृतियों के सवाल सिर्फ संख्याओं और तेज़ चरणों से कैसे हल करे। जैसे: कोई बिंदु रेखा के किस ओर है, प्लॉट कितना बड़ा है, बाहरी सीमा कौन से बिंदु बनाते हैं?

कोण की जगह क्रॉस गुणनफल क्यों इस्तेमाल करते हैं?

कोण के लिए sin, cos और वर्गमूल चाहिए, जिनमें गोल करने की छोटी गलतियाँ आती हैं। क्रॉस गुणनफल में सिर्फ गुणा और घटाव है, इसलिए पूर्णांकों के साथ यह एकदम सही और तेज़ है।

क्या उत्तल हल और बहुभुज का क्षेत्रफल एक ही चीज़ हैं?

नहीं। हल बिंदुओं के समूह की बाहरी सीमा है। बहुभुज का क्षेत्रफल एक संख्या है जो बताती है कि बहुभुज कितनी समतल जगह घेरता है। हल मिलने के बाद उसका क्षेत्रफल भी निकाला जा सकता है।

पहले यह पढ़ें

इससे जुड़े पाठ

सभी कंप्यूटर विज्ञान पाठ