मैं रिपोर्ट किए गए आंकड़ों के आधार पर हीटमैप कैसे बना सकता हूं?


17

मैं जो बात कर रहा हूं, उसके एक बहुत अच्छे उदाहरण के लिए, देखें कि रेप्लिका द्वीप का विकास कैसे खिलाड़ी की मृत्यु के आधार पर होता है: http://www.youtube.com/watch?v=7-62tRHLcHk&feature=player_embedb#t= 37m

मैं आसानी से डेटा के आधार पर हीटमैप का उत्पादन कैसे कर सकता हूं जिससे मैं गुजरता हूं?

हेलो 3 गेम डेटा रिपोर्टिंग में हीटमैप उपयोग का एक और अच्छा उदाहरण है: http://www.bungie.net/Online/Heatmaps.aspx


जवाबों:


9

मान लें कि आपके पास वह डेटा सेट है जिसे आप पहले से ही प्लॉट करना चाहते हैं, और जिस मैप से आप उसे प्लॉट करना चाहते हैं, आप एक इंटेंसिटी मैप बनाकर शुरू कर सकते हैं: फ्लोटिंग पॉइंट वैल्यू का एक ग्रिड, जो फाइनल मैप के लिए बाउंड में समानुपातिक होता है (यदि मैप्स काफी छोटे हैं, 1: 1 शायद ठीक है)। पूरे सरणी को 0 पर प्रारंभ करें।

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

एक बुनियादी "ब्लिप" में केवल ब्लिप पॉइंट पर तीव्रता बढ़ाना शामिल हो सकता है और थोड़ी मात्रा में कुछ त्रिज्या भी हो सकती है। अधिक जटिल कार्यान्वयन मौजूदा तीव्रता को पढ़ सकते हैं, और एक बड़ी गिरावट का उपयोग कर सकते हैं और अधिक गहन ब्लिप बिंदु पहले से ही है। आप ब्लिप प्लॉटर के साथ प्रयोग कर सकते हैं ताकि आप जिस तरह का लुक पा सकें उसका क्रियान्वयन कर सकें।

एक बार जब आपके पास एक तीव्रता का नक्शा होता है तो आप प्रत्येक व्यक्ति बिंदु पर तीव्रता को 1 डी लुक-अप के रूप में एक रंग ढाल में उपयोग कर सकते हैं, जो आपको वांछित दृश्य प्रभाव प्राप्त करने की अनुमति देगा (यह है कि आप बहु-रंगीन परिणाम प्राप्त कर सकते हैं) सबसे अधिक देखी गई)। जब आप तीव्रता के नक्शे को अपने अंतिम भूखंड में स्थानांतरित करते हैं, तो आपको इस रंग की खोज करनी चाहिए।

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

यदि आपके पास पहले से निर्धारित न्यूनतम और अधिकतम तीव्रता को क्वेरी करने के लिए आपके पास पर्याप्त डेटा है, तो आप डेटा सेट में देखने के लिए उम्मीद कर सकते हैं, जिससे आप बिल्कुल असामान्य रूप से बच सकते हैं - मूल रूप से अगर आपके पास (एक्स, वाई, जेड) के बीच कुछ संख्या है " उस बिंदु पर हुए प्लॉट किए गए डेटा के हिट "- यह वह चीज है जिसे आप सिस्टम में बना सकते हैं जो डेटा एकत्र करता है जो मैपिंग भाग को अनुकूलित करने में आपकी सहायता करेगा।

चूँकि तीव्रता का नक्शा अनिवार्य रूप से है, इसलिए एक ग्रेस्केल इमेज इस तरह के सिस्टम को प्रोटोटाइप करने के लिए एक बहुत ही आसान तरीका है, तीव्रता मैप और अपनी पसंद की ड्राइंग एपीआई के लिए बिटमैप का उपयोग करने के लिए (उदाहरण के लिए, System.DrawingC # में) आंशिक रूप से पारदर्शी हलकों को प्लॉट करने के लिए एक तीव्रता का नक्शा तैयार करें। यह सबसे अच्छा नहीं दिखता है, लेकिन इसका कार्यात्मक है।


3

इको चैंबर एक मुफ्त लॉगिंग और विज़ुअलाइज़ेशन टूल है जो विशेष रूप से खेलों के लिए बनाया गया है।

SQL आधारित डेटा फ़ाइलों को विज़ुअलाइज़ करें जिसमें c ++ एप्लिकेशन द्वारा उत्पन्न जानकारी होती है। जानकारी लॉग स्टेटमेंट, फ़ंक्शन कॉल, स्क्रीनशॉट या पैरामीटर सूची हो सकती है।

2 डी और 3 डी गेम मेट्रिक्स जैसे कि मौत की स्थिति, हथियारों का सबसे अधिक बार उपयोग किया जाता है, और स्मृति का उपयोग विभिन्न स्तरों पर किया जाता है।

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

दुर्भाग्य से कार्रवाई में हीट मैप्स का कोई स्क्रीन शॉट नहीं है, लेकिन इको चैम्बर निश्चित रूप से हीट मैप्स का समर्थन करता है:

यहां छवि विवरण दर्ज करें


2

उदाहरण के लिए, गेम में एक निर्दिष्ट घटना पर निर्देशांक प्राप्त करें। उदाहरण के लिए जब खिलाड़ी की मृत्यु हो जाती है, तो आप अपने सीनग्राफ में निर्देशांक प्राप्त करते हैं जहां खिलाड़ी की मृत्यु हो गई।

एक बार जब आपके पास आपके डेटाबेस में आवश्यक मान होते हैं, तो प्रत्येक समन्वय की गणना करें कि यह आपकी सूची / डेटाबेस में कितनी बार दिखाई देता है। आपके पास सूची कुछ इस तरह होगी:

  • 15: 1,5
  • 10: 6.15
  • 3: 27,58

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


1
एक 3 डी गेम के लिए, या यहां तक ​​कि अभिन्न पदों के बिना भी, यह आगे विस्तार किया जा सकता है रेंडरिंग सर्कल या कुछ त्रिज्या के क्षेत्र में ढाल।
डैश-टॉम-बैंग

2

मुझे यकीन नहीं है कि आप किसी एक ऐप या किसी एल्गोरिथ्म के लिए देख रहे हैं। मुझे वास्तव में कस्टम हीट मैप विज़ुअलाइज़ेशन सॉफ़्टवेयर के निर्माण का आनंद मिला है और यह बहुत मज़ेदार है।

एक त्वरित Google खोज ने हीटपाइप एपीआई का खुलासा किया जो एक उचित समाधान हो सकता है यदि आप अपना स्वयं का रोल नहीं करना चाहते हैं।

हो सकता है कि यदि आप वास्तव में समझाते हैं कि आप क्या कर रहे हैं (एप्लिकेशन-वार या प्रोग्रामिंग-वार) तो हम आपकी बेहतर मदद कर सकते हैं?


0

कुछ और जो आप कर सकते हैं वह है केवल CSV फ़ाइल या कुछ के लिए प्रासंगिक डेटा का उत्पादन, फिर इसे सांख्यिकीय सॉफ़्टवेयर (जैसे Microsoft Excel, LibreOffice Calc, R, या GNUPlot) के साथ आयात करें और इसे एक ग्राफ़ थूक दें। यदि आप शेल स्क्रिप्टिंग (या यदि आप विंडोज का उपयोग करते हैं तो बैच) के बारे में थोड़ा जानते हैं, तो आप शायद पूरी बात को स्वचालित कर सकते हैं।

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