2010-05-14 9 views
14

एक सरणी (तत्वों की एक पंक्ति):4-आयामी ऐरे को देखने के लिए किन विधियों का उपयोग किया जाता है?

[ ][ ][ ][ ][ ][ ] 

एक 2-डी सरणी (एक टेबल):

[ ][ ][ ][ ][ ][ ] 
[ ][ ][ ][ ][ ][ ] 
[ ][ ][ ][ ][ ][ ] 
[ ][ ][ ][ ][ ][ ] 

एक 3-डी सरणी:

//Imagine the above table as a cube (a table with depth) 

कैसे क्या कोई 4-डी सरणी को विज़ुअलाइज़ करता है?

निकटतम

मैं आ सकता है, कई क्यूब्स है तो int[,,,] के लिए [5,10,2,7] घन 5, पंक्ति 10, कॉलम 2, परत (गहराई) 7.

मैं होगा सुनिश्चित नहीं है कि यह 4-डी सरणी को विज़ुअलाइज़ करने का सबसे अच्छा तरीका है, हालांकि ... और मुझे यकीन नहीं है कि यह सिखाने का सबसे अच्छा तरीका है ... हालांकि इसे एक्स्टेंसिबल होने का लाभ है (एक पंक्ति क्यूब्स, क्यूब्स की एक तालिका, क्यूब्स (6-डी सरणी) समय के माध्यम से

घन के एक घन एक और तरीका है कि मैं इसके बारे में सोच सकते हैं है।

सही रास्ते यहाँ पर मैं हूँ?

+12

एक समय-भिन्न घन? –

+0

क्या आप यह पूछ रहे हैं कि इसे कैसे समझाया जाए? क्या कोई प्रोग्रामिंग प्रश्न है? –

+2

विशेष 4 डी चश्मा! ;-) –

उत्तर

13

यदि आप अंतिम उपयोगकर्ताओं के लिए प्रोग्राम का आउटपुट प्रदर्शित करने का प्रयास कर रहे हैं, तो आप सही रास्ते पर हैं।

यदि आप इसे सिखाने की कोशिश कर रहे हैं, तो मैं संक्षेप में उस विधि का उपयोग करता हूं, और फिर मैं गहराई से समझता हूं कि कंप्यूटर उन्हें सभी को स्मृति स्मृति में कैसे रखता है - http://www.plantation-productions.com/Webster/www.artofasm.com/Windows/HTML/Arraysa2.html। मुझे लगता है कि यह समझने का यह सबसे अच्छा तरीका है।


मूल लिंक अब काम कर रहा है, लेकिन मैं इसे इंटरनेट का संग्रह पर यहां पाया - http://web.archive.org/web/20120410120743/http://webster.cs.ucr.edu/AoA/Windows/HTML/Arraysa2.html


अपडेट किया गया पहले पैराग्राफ अद्यतन लिंक को दिखाने के लिए, @OskensoKashi के लिए धन्यवाद।

+1

+1! वाह! महान संसाधन! स्मृति को ध्यान में रखते हुए ढेर पर रैखिक है, वह लिंक शानदार है! यह ऐसी अतिरिक्त सामग्री है जिसे मैं उम्मीद कर रहा था कि यह प्रश्न उत्पन्न होगा। – Armstrongest

+0

+1, यह एक अच्छा लिंक है। – FrustratedWithFormsDesigner

+1

कि लिंक अब मृत है। क्या इसके लिए कोई नया लिंक है? – zeristor

4

मैं ड्रा नहीं कर सकता, लेकिन इसे क्यूब्स की रेखा (या सरणी) के रूप में कल्पना कर सकता हूं।

एक और तरीका है कि पहले तीन-आयामी सरणी के लिए अपना घन प्रतिनिधित्व लें। अब अपने दिमाग में घन को बच्चे के wooden block के साथ प्रतिस्थापित करें, और एक-दूसरे के बगल में कई ब्लॉक को लाइन करें।

11

इस तरह मैं इसे सिखाऊंगा: क्यूब्स की एक पंक्ति। इस पंक्ति पर स्थिति (या घन संख्या) चौथा आयाम है।

और यदि आप 5-आयाम चाहते हैं, तो अब चित्रों और पंक्तियों को चित्रित करें - क्यूब्स के!

6 आयामों के लिए, पंक्तियों और पंक्तियों के कॉलम (5 आयामों के लिए) चित्रित करें, और अब इन पंक्तियों और स्तंभों की "परतें" जोड़ें।

... 7 आयामों के लिए, उपरोक्त सभी की कल्पना करें - एक पंक्ति में क्यूब्स में निहित है! ;)

हाँ, यह सभी तरह से cubes नीचे है।

+3

बक्से के भीतर बक्से के भीतर बक्से ... – Armstrongest

+1

@ एटोमिटन: बिल्कुल। मैं डाटावायरहाउस में यह पैटर्न देखता हूं। – FrustratedWithFormsDesigner

1

दो अच्छे बहुआयामी दृश्यता, न तो चार आयामों के लिए विशिष्ट, Parallel Coordinates और Table Lens हैं।

1

हाइपरक्यूब! लेकिन वास्तव में, अगर आपको विज़ुअलाइजेशन की आवश्यकता है, तो मान लें कि आपके द्वारा 3 डी सरणी से बनाए गए प्रत्येक बॉक्स में अब एक सरणी है। किंडा स्ट्रिंग सिद्धांत बहु-आयामी विचारों की तरह है।

4

तीन आयामों में विज़ुअलाइज़ेशन बहुत सहज नहीं होंगे - इससे कोई फर्क नहीं पड़ता कि आप कितनी मेहनत करते हैं। लेकिन आप सही रास्ते पर हैं - समय-भिन्न वस्तुएं उच्च आयामी डेटा को देखने के लिए एक आम विधि हैं।

एक त्रि-आयामी वस्तु को समय के साथ विज़ुअलाइज़ किया जा सकता है, जब ऑब्जेक्ट विमान के माध्यम से ऑब्जेक्ट के माध्यम से होता है - उदाहरण के लिए विमान के माध्यम से गुज़रने वाला एक क्षेत्र एक बिंदु से बढ़ने वाले सर्कल के रूप में दिखाता है गोलाकार के रूप में एक ही त्रिज्या और फिर एक बिंदु पर shrinking।

यह चार आयामी वस्तुओं के साथ किया जा सकता है। ऑब्जेक्ट के चौथे आयाम के साथ चलते समय उन्हें एक निश्चित तीन आयामी अंतरिक्ष के साथ वस्तु के चौराहे के रूप में देखा जाता है।

+1

यह स्पष्टीकरण मुझे "फ़्लैटलैंड" पुस्तक की याद दिलाता है। निश्चित रूप से, एक बहुत ही रोचक पढ़ा। – Armstrongest

2

यह इस बात पर निर्भर करता है कि आप किस प्रकार का डेटा विज़ुअलाइज़ करने का प्रयास कर रहे हैं। कुछ स्थितियों के लिए मैंने 2 डी/3 डी छवि + आरजीबी रंग ठीक काम किया है। 2 डी तस्वीर दो आयामों और रंग के लाल, हरे, नीले चैनलों का निर्माण करती है जो बिंदु को पेंट करने के लिए उपयोग की जाती हैं और एक और 3 आयाम जोड़ती हैं।

उदाहरण के लिए गेम विकास में normal maps पर एक नज़र डालें। यह प्रत्येक बिंदु (3 डी) पर एक सामान्य वेक्टर के साथ एक सतह (2 डी) को देखता है। नकारात्मक मूल्यों को स्टोर करने में सक्षम होने के लिए वेक्टर रंग घटकों x ~ लाल, वाई ~ हरे, जेड ~ नीले रंग के 127 के साथ स्थानांतरित होते हैं।

1

एक विज़ुअलाइजेशन एक सतह से दूसरी सतह के नक्शे होंगे। कल्पना करें कि आपके हाथ एक टेबल पर अलग-अलग बिंदुओं पर होवर करते हैं: जब भी आप या तो हाथ ले जाते हैं तो आपको एक पूरी तरह से अलग मूल्य मिलता है।

3

क्यूब्स की रेखा के रूप में क्यूब्स और 4 आयामों के रूप में 3 आयामों को विज़ुअलाइज़ करना समझ में आता है, लेकिन जैसा कि आप देख सकते हैं कि इसे विस्तार करना मुश्किल है। जिस तरह से मैं आमतौर पर इसके बारे में सोचता हूं वह विज़ुअलाइजेशन को 2 आयामों में मजबूर करना है। उदाहरण के लिए, सी में एरे कैसे संग्रहीत किए जाते हैं, यह आमतौर पर यह सोचने का सबसे आसान तरीका है। एक 2-आयामी सरणी वास्तव में अधिक सरणी या सरणी की सरणी के लिए पॉइंटर्स की एक सरणी है। इस बारे में सोचने से यह आसान हो जाता है यदि आपको वास्तव में स्प्रेडशीट जैसे 2-आयामी प्रारूप में 3+ आयामी डेटा को आजमाने और पेश करने के लिए मजबूर होना पड़ता है। पंक्तियों के भीतर कॉलम या पंक्तियों के भीतर कॉलम के रूप में अतिरिक्त आयामों को जोड़ा जाना चाहिए।

असल में यह देखने से आपकी आंखें जल्दी आती हैं, लेकिन कम से कम इसे चॉकबोर्ड पर खींचा जा सकता है और इसे अतिरिक्त आयाम जोड़ने के लिए पूरी कल्पना की आवश्यकता नहीं होती है।

1-आयामी (सरणी)

[] [] [] []

2-आयामी (सरणी के सरणी)

[ [] [] ] [ [] [] ] [ [] [] ] [ [] [] ]

3-आयामी (सरणी के एरे की सरणी)

[ [ [] [] ] [ [] [] ] ] [ [ [] [] ] [ [] [] ] ]
+1

मेरी आंखें! मुझे नहीं लगता कि 3 डी 2 डी से कम एक्स्टेंसिबल है। पंक्ति, टेबल, घन। घन की पंक्ति, घन की तालिका ... आदि। इससे डरावना होने से पहले आप 6 आयाम (घन के घन) प्राप्त कर सकते हैं। ब्रैकेट के साथ ... आपके पास ब्रैकेट्स, ब्रैकेट्स के ब्रैकेट, ब्रैकेट्स (ब्रैकेट्स के ब्रैकेट), ब्रैकेट्स के ब्रैकेट्स (ब्रैक के ब्रैकेट ... आदि हैं। हालांकि मैं कहूंगा कि 2 डी माध्यम (चॉकबोर्ड) पर आकर्षित करना आसान है। निश्चित रूप से। – Armstrongest

+0

@ एटोमिटोन: हा, पर्याप्त मेला। जो आपके लिए काम करता है वह शायद उस व्यक्ति पर थोड़ा सा निर्भर करता है। बॉक्स के अंदर बॉक्स वास्तव में ब्रैकेट बक्से के भीतर ब्रैकेट बक्से से अलग नहीं हैं, लेकिन किसी कारण से क्यूब छवि बनाता है मेरे सिर को और अधिक चोट लगती है - बक्से असीम रूप से अधिक जगह ले रहे हैं जो वहां नहीं है ... मुझे ऐसा कुछ करने की ज़रूरत है जो मैं अच्छी समझ पाने के लिए ठोस रूप से हो सकता हूं। – Jelly

+1

मुझे लगता है कि आप फ्लैटलैंड पुस्तक का आनंद लेंगे। यह 2-आयामी दुनिया में रहने वाले लोगों के लिए कैसा होगा। – Armstrongest

1

पुराना धागा, लेकिन यहां एक अच्छा उदाहरण और अच्छी तस्वीरों के साथ एक अच्छा लिंक है। किसी के लिए आसान आ सकता है!

http://sp-productions.zxq.net/c++%20tutorial2.html

+0

दुर्भाग्यवश, लिंक मर चुका है। – Armstrongest

0

आप एक 2d तालिका के रूप में है कि 4d सरणी प्रदर्शित करने के लिए थे, तो हर कोशिका एक मेज शामिल हैं।तो मुख्य तालिका पहली 2 डी तालिका है, और इसकी कोशिकाएं 2 2 डी टेबल हैं।

  | col 1 | col 2 | col 3 
___________________________________________ 
row 1  | 2d table | 2d table | 2d table 
------------------------------------------- 
row 2  | "" "" | "" "" | "" "" 
संबंधित मुद्दे