2009-08-24 25 views
17

में उपयोग किया जाता है मैं यह जानना चाहता हूं कि 3 डी गेम इंजन प्रोग्रामिंग के लिए आम तौर पर किस तरह का गणित आवश्यक है? कोई विशिष्ट गणित (जैसे वेक्टर ज्यामिति) या गणना एल्गोरिदम (जैसे तेज चौकोर रूपांतरित), या यह सब डायरेक्टएक्स/ओपनजीएल के साथ समेकित है ताकि अत्यधिक जटिल गणित वास्तव में आवश्यक न हो?मठ 3 डी (गेम) इंजन प्रोग्रामिंग

+1

3 डी ग्राफिक्स प्रोग्रामिंग रैखिक बीजगणित की एक सभ्य समझ की आवश्यकता है। [3 डी कंप्यूटर ग्राफिक्स के लिए वेक्टर गणित ट्यूटोरियल] (http://chortle.ccsu.edu/vectorlessons/vectorindex.html) वैक्टर और मैट्रिक्स सीखने के लिए अब तक का सबसे अच्छा संसाधन है। यह भी इस बात की संवादात्मक है कि प्रत्येक खंड के अंत में उस विषय की समझ को सत्यापित करने और सील करने के लिए एक परीक्षण प्रश्न है। – legends2k

+0

यह प्रश्न अन्य विकास स्टॉक साइटों जैसे गेम डेवलपमेंट या मैथ में स्थानांतरित किया जाना चाहिए। (सुनिश्चित नहीं है कि यह सही है, क्योंकि इस प्रश्न में प्रोग्रामिंग शामिल है) – Andreas

उत्तर

14

मैट्रिसेस, ट्रिग, ज्यामिति ज्यादातर और रेखीय बीजगणित

का एक सा एक नज़र यहाँ ले लो http://www.essentialmath.com/

+5

और वेक्टर, बहुत सारे वैक्टर! – Marius

+2

इतने सारे वैक्टर ... :( –

+0

वास्तव में, आप वैक्टर से छुटकारा पा सकते हैं, और इसके कुछ महत्वपूर्ण फायदे हैं। टेंसर के साथ काम करने के लिए अच्छे हैं। – ima

1

परिसर गणित खेलने के लिए में आता है, लेकिन सबसे महत्वपूर्ण इस तरह के गणित और अक्सर पीछे अवधारणाओं की समझ है गणित ही नहीं। जब तक आप समझते हैं कि यह सब कैसे एक साथ आता है, तो आपको कई गणनाओं के लिए अक्सर सहायक तरीके मिलती हैं। बेशक यह आपके द्वारा उपयोग किए जा रहे विकास मंच पर काफी हद तक निर्भर करता है।

+0

को बहुत सरल बनाता है क्या आपके पास अवधारणाओं को सीखना है और वे गेम प्रोग्रामिंग पर कैसे आवेदन करते हैं, इसके बारे में सुझाव है। अधिकांश सामग्री I शिक्षण में कूदें/गणित कैसे करें और नहीं/कब/आपको इसका उपयोग करना चाहिए। – TheGeoff

+0

@TheGeoff: 3 डी ग्राफिक्स प्रोग्रामिंग रैखिक बीजगणित की सभ्य समझ की आवश्यकता है। [3 डी कंप्यूटर ग्राफिक्स के लिए वेक्टर गणित ट्यूटोरियल] (http://chortle.ccsu.edu/vectorlessons/vectorindex.html) वैक्टर और मैट्रिक्स सीखने के लिए अब तक का सबसे अच्छा संसाधन है। यह भी इस बात की संवादात्मक है कि प्रत्येक खंड के अंत में उस विषय की समझ को सत्यापित करने और सील करने के लिए एक परीक्षण प्रश्न है। – legends2k

4

अधिकांश भाग रैखिक बीजगणित और कम्प्यूटेशनल ज्यामिति के लिए; यदि आप भौतिकी इंजन पर काम कर रहे हैं तो Quaternions का व्यापक रूप से उपयोग किया जाता है और संख्यात्मक विश्लेषण आवश्यक है।

आप दैनिक आधार पर सामान का कितना उपयोग करेंगे आप जो कर रहे हैं उस पर निर्भर करता है। यदि आप एक ग्राफिक्स प्रोग्रामर हैं, और इसलिए 3 डी ग्राफिक्स इंजन का निर्माण कर रहे हैं, तो आप कक्षा पुस्तकालयों और कार्यों के कार्यान्वयन को लागू या बनाए रखेंगे जो वास्तव में गणित करते हैं, इसलिए यह गोर के विवरणों को जानना अपेक्षाकृत महत्वपूर्ण होगा। यदि आप क्लाइंट के रूप में लाइब्रेरी का उपयोग कर रहे हैं या गेम इंजन (एआई, ऑडियो, यूआई, कैमरा इत्यादि) के किसी अन्य हिस्से पर काम कर रहे हैं तो आपको अवधारणा को समझने की आवश्यकता होगी लेकिन आप निश्चित रूप से यह जानकर दूर हो सकते हैं कि कैसे कार्यान्वित किया जाए आपके सिर के ऊपर से एक व्हाइटबोर्ड पर एक मैट्रिक्स उलटा।

ग्राफिक्स एपीआई इस गणित को जानने के लिए किसी की आवश्यकता को खत्म नहीं करते हैं; वे ड्राइंग तक ही सीमित हैं, इसलिए सभी दृश्य प्रबंधन और विश्व सिमुलेशन को ग्राफिक्स एपीआई के बाहर लागू करने की आवश्यकता है। बेशक, वहां भी मिडलवेयर विकल्प हैं लेकिन कई स्टूडियो अपने सिस्टम को रोल करते हैं।

इस बाजार में लक्षित संसाधनों की एक उचित संख्या है। उदाहरण के लिए, अमेज़ॅन पर 3D Math Primer For Graphics and Game Development जैसी किताबें हैं, और शायद यहां बहुत सारी चीज़ें भी ऑनलाइन हैं।

16

रैखिक बीजगणित! बहुत सारे रैखिक बीजगणित!स्थिति, वेग, Normals

  • मैट्रिक्स - - परिवर्तनों
  • Quaternion - रोटेशन (हड्डी के लिए महान

    यहां केवल वर्गों और उदाहरण स्थितियों में, जहां आप उन्हें

    • वेक्टर की जरूरत है एनिमेशन)
    • रे - प्रोजेक्ट टकराव का पता लगाने
    • विमान - फेंकने टक्कर पता लगाने
    • छिन्नक - मारने
    • क्षेत्र प्रस्तुत करना - को मारने, टक्कर परीक्षण, spacial विभाजन - culling, तेजी से टक्कर परीक्षण
    • एक्सिस-संरेखित bounding बॉक्स प्रस्तुत करना
    • ओरिएंटेड बाउंडिंग बॉक्स - टक्कर परीक्षण
    • उत्तल हल - टक्कर, spacial विभाजन
    • आदि

    आप सदिश और आव्यूह साथ शुरू करना चाहिए के रूप में वे इंजन में हर जगह उपयोग किया जाएगा (ग्राफिक्स, भौतिकी, ऐ, आदि)

  • +0

    लगता है कि ज्यादातर चारों ओर घूमते हैं और टकराव का पता लगाना पसंद करते हैं। –

    संबंधित मुद्दे