2009-03-03 9 views
15

मैं एक उपकरण है जो, 3 डी डेटा का एक समूह पर कार्रवाई करने के लिए इस्तेमाल किया जा, वस्तुओं घूर्णन अनुवाद, स्केलिंग और जो कुछ अच्छी चीजें की तरह काम करने जा रहा है लिख रहा हूँ। क्या किसी को एक अच्छी लाइब्रेरी के बारे में पता है जो पहले से ही इस सामान्य 3 डी सामान में से कुछ करता है?अच्छा पुस्तकालय?

मैं इस समय डेटा visualizing में कोई दिलचस्पी नहीं है, और मुख्य रूप से ऑपरेशनों को करने में दिलचस्पी है।

बातें मैं जानता हूँ कि मैं इस बिंदु पर की आवश्यकता होगी:

  • 2D/3D/4D वैक्टर
    • (जोड़ने, घटाने, डॉट उत्पाद, पार उत्पाद, आदि ...)
  • रोटेशन/अनुवाद/मैट्रिक्स
  • Quaternions
का उपयोग कर स्केलिंग 210

मैं Sharp3D पुस्तकालय पता लगाने में सक्षम था, लेकिन ऐसा लगता है जैसे कि यह मैं क्या चाहते हैं, लेकिन एक लंबे समय में अद्यतन नहीं किया गया हो सकती। क्या किसी ने पहले इसका इस्तेमाल किया है? कोई अन्य (बेहतर) सुझाव?

उत्तर

12

Microsoft.Xna.Framework (जहाज इस XNA) काम कर सकता है।

एक्सएनए फ्रेमवर्क मैथ लाइब्रेरी में कई मूल ज्यामितीय प्रकार हैं जिनका उपयोग 2 डी या 3 डी स्पेस में ऑब्जेक्ट्स में हेरफेर करने के लिए किया जा सकता है। इस पुस्तकालय में आदिम वस्तुओं एक ज्यामितीय वस्तु या उस वस्तु पर एक ऑपरेशन का प्रतिनिधित्व करने के लिए आवश्यक डेटा का प्रतिनिधित्व करते हैं। प्रत्येक ज्यामितीय प्रकार में कई गणितीय परिचालन होते हैं जो प्रकार के लिए समर्थित होते हैं।

वेक्टर

XNA फ्रेमवर्क का प्रतिनिधित्व करने और वैक्टर जोड़ तोड़ के लिए Vector2, Vector3 और Vector4 वर्गों प्रदान करता है। एक वेक्टर आमतौर पर एक दिशा और परिमाण का प्रतिनिधित्व करने के लिए प्रयोग किया जाता है। हालांकि, एक्सएनए ढांचे में इसे एक समन्वय या कुछ अन्य डेटा प्रकार को उसी भंडारण आवश्यकताओं के साथ स्टोर करने के लिए भी इस्तेमाल किया जा सकता है।

प्रत्येक वेक्टर वर्ग जैसे मानक वेक्टर ऑपरेशनों को करने के तरीकों है:

  • डॉट उत्पाद
  • क्रॉस उत्पाद
  • सामान्यीकरण
  • परिवर्तन
  • रैखिक, घन, Catmull-रोम, या Hermite स्पलीन इंटरपोलेशन।

मैट्रिसेस

XNA फ्रेमवर्क ज्यामिति के परिवर्तन के लिए मैट्रिक्स वर्ग प्रदान करता है। मैट्रिक्स क्लास matrices को संबोधित करने के लिए एक पंक्ति प्रमुख आदेश का उपयोग करता है, जिसका अर्थ है कि पंक्ति को द्वि-आयामी मैट्रिक्स के तत्व का वर्णन करते समय कॉलम से पहले निर्दिष्ट किया गया है। मैट्रिक्स क्लास मानक मैट्रिक्स संचालन करने के तरीकों को प्रदान करता है जैसे स्केल, अनुवाद और रोटेशन मैट्रिक्स बनाने के लिए सहायक तरीकों के अतिरिक्त, मैट्रिक्स के निर्धारण या विपरीत की गणना करना।

Quaternions

XNA फ्रेमवर्क Quaternion संरचना का प्रतिनिधित्व करते है और एक निर्दिष्ट कोण के चारों ओर एक वेक्टर के बारे में कुशल रोटेशन की गणना करने के प्रदान करता है।

+0

भावी पीढ़ी के लिए, [XNA भी मर चुका है] (http://gamasutra.com/view/news/185894/Its_official_XNA_is_dead। php # .UREwnmResyF) जो अप्रैल 2014 में आधिकारिक होना चाहिए। – cod3monk3y

0

www.obacs.com पर स्किनेट लाइनिया आज़माएं। यह एक मुफ्त पुस्तकालय नहीं है लेकिन विकल्पों की तुलना में यह बहुत महंगा नहीं है ww

0

स्किनेट लाइनिया अब www.obacs.com से उपलब्ध नहीं है। यह अब स्किनेट मैथ के भीतर आता है जिसमें बहुत अधिक क्षमताएं हैं। मैंने एक महीने पहले अपने शोध के लिए एक प्रति खरीदी थी। मुझे अब तक तो पसंद है।

2

मैंने पहले कभी इसका उपयोग नहीं किया है, लेकिन मैंने अभी Sharp3D को पकड़ लिया है और ऐसा लगता है कि यह अच्छी तरह से काम करता है (मजबूत नामों के बारे में कुछ मुद्दों के अलावा जो काम करने में कुछ मिनट लगते हैं)। मेरी धारणा यह है कि यह बिल्कुल हल्का वजन नहीं है लेकिन भारी तरफ होने से बहुत दूर है।

कोई हाल के अपडेट के रूप में, यह की तरह नहीं है गणित बदल रहा है या कुछ भी है ...

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