मैं एक कोने से एक विमान के लिए सामान्य वेक्टर कैसे प्राप्त कर सकता हूं?


9

मैं अपने ग्राफिक्स के काम पर जाने के लिए एक एचएलएसएल / सी ++ छोटी परियोजना पर काम कर रहा हूं, और मैं अनिश्चित हूं कि मैं एक शीर्ष बहुभुज से एक सामना करने वाला वेक्टर कैसे प्राप्त करूं। मैं सूत्र खोजने के लिए प्रतीत नहीं कर सकता।

स्थिति P1, P2, P3 हैं

चलो उन्हें उदाहरण के लिए P1.x, P1.y, P1.z के साथ वर्ग वर्टेक्सपॉइंट कहें?


बारीकी से संबंधित सवाल: gamedev.stackexchange.com/questions/11520/...
jhocking

केवल शुद्धता के लिए, चित्र और प्रश्न शीर्षक में लेबल "सामान्यीकृत वेक्टर" के बजाय " सामान्य वेक्टर " होना चाहिए । सामान्य वेक्टर स्वयं निश्चित रूप से सामान्यीकृत हो सकता है (इसकी लंबाई एकता है), लेकिन इसकी आवश्यकता नहीं है, और क्रॉस उत्पाद डिफ़ॉल्ट रूप से सामान्यीकृत वेक्टर का उत्पादन नहीं करेगा।
जेजमोंटेस

1
गुग्लिंग "सामान्य वेक्टर त्रिभुज", जो कि Google के लिए स्पष्ट बात है, हिट के ज़िलियन देता है। 1 , 2 , 3 , 4 , 5 , 6 , ...
imallett

... 7 , 8 , 9 , 10 , 11 , 12 , 13 , ...
imallett

2
... 14 , 15 , 16 , 17 ... इनमें से हर एक (और निस्संदेह अनगिनत अन्य) सवाल का जवाब देते हैं - और कुछ वास्तव में वांछित सी ++ / एचएलएसएल कोड भी है। गंभीरता से। इस सवाल को मौत के घाट उतार दिया गया है, इसे "डुप्लीकेट" कहना नाकाफी है। "मैं अपने गधे को सूत्र खोजने के लिए प्रतीत नहीं कर सकता" - आपने कोशिश नहीं की
imallett

जवाबों:


28

आप दो वैक्टर, V1 = P2-P1, और V2 = P3-P1 की गणना करके सामान्य को आसानी से पा सकते हैं, और फिर क्रॉस उत्पाद N = V1 x V2 का पता लगा सकते हैं। फिर आप एन को सामान्य करते हैं। कोने (घड़ी की दिशा या वामावर्त) के आदेश के आधार पर आपको सामने या पीछे एक सामान्य सामना करना पड़ेगा।

आपको यह भी सुनिश्चित करना होगा कि तीन तीन बिंदु संरेखित नहीं हैं, यदि वे हैं तो आपको एक और बिंदु चुनना होगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.