ट्रेन पटरियों का प्रतिनिधित्व करने के लिए कुछ तरीके क्या हैं?


21

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

क्या किसी के पास सलाह, लेख या स्रोत कोड है जो मुझे कुछ जानने में मदद कर सकता है? धन्यवाद!


3
यदि आपको बताया गया है कि आपकी समस्याएं क्या हैं, तो इससे आपको मदद मिलेगी।
राचेल ब्लम

1
मुझे आपके खेल का डेमो देखना अच्छा लगेगा।
ashes999

जवाबों:


10

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

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

वैकल्पिक रूप से, यदि आप ग्रिड ( आईएएन द्वारा सुझाए गए ) के साथ खेलना चाहते हैं, तो वर्ग से वर्ग के बजाय किनारे से किनारे तक ड्राइंग का प्रयास करें। यहाँ एक डेमो (जावा एप्लेट) है।



7

उचित हेर्माइट स्प्लिन का उपयोग करने से तंग कोने बन सकते हैं और बिना ट्रेन के ट्रैक-जैसे दिख सकते हैं:

हर्मिट splines का उपयोग

मेरे पास पथ के उपचार से बहुत अधिक मनभावन परिणाम हैं जैसे कि सीधी रेखाएँ जोड़ों में मंडलियों को जोड़ती हैं:

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

चाल आंतरिक और बाहरी स्पर्शरेखा की गणना कर रही है आसन्न संयुक्त हलकों की कर रही है और प्रत्येक संयुक्त के घुमावदार को काम कर रही है ताकि आप इसके दाईं ओर से गुजरें।

और, ट्रैक-ट्रेकिंग लॉजिक में, पथ-स्वयं-चौराहों से बचें या उन्हें जंक्शनों में बदल दें :)

यहाँ इस दृष्टिकोण का उपयोग करते हुए एक वीडियो है: http://www.youtube.com/watch?v=PAVksn4btKU


6

आप उपयोगकर्ता लेखक को कॉर्नू सर्पिल का उपयोग करके पटरियों को देने की कोशिश कर सकते हैं । आपको इसके बारे में अगला-कोई साहित्य ऑनलाइन नहीं मिलेगा, क्योंकि स्प्लिन सॉफ़्टवेयर में घटता का प्रतिनिधित्व करने का वास्तविक तरीका है। बहरहाल, वे हैं कि कैसे वास्तविक रेल पटरियों को पथ किया जाता है। राप लेविन ने उन्हें लोकप्रिय बनाने में बहुत काम किया है


2

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


1
मैंने ग्रिड-आधारित दृष्टिकोण के समान कुछ करने की कोशिश की। मैंने मूल रूप से ट्रैक टुकड़े बनाए ताकि आप उन्हें साधारण ग्रिड की तुलना में थोड़ी अधिक स्वतंत्रता देने के लिए एक साथ क्लिक कर सकें। बहुत समान अवधारणा, मुझे लगता है। यह ठीक काम किया है, लेकिन हर बार चूसने के लिए उपयुक्त टुकड़े का चयन करके पटरियों को खींचना।
होकीक्रेडग्रेड

2

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

दुर्भाग्य से, इसने ट्रैक को बहुत जटिल बना दिया और बहुत सहज नहीं, क्योंकि नियंत्रण बिंदुओं के छोटे आंदोलनों से ट्रैक पूरी तरह से अलग दिशा में भेज देगा।

ट्रैक को कैसे रखा जाए, यह तय करने का गणित काफी मुश्किल हो जाता है, क्योंकि इसमें अधिक नियंत्रण बिंदुओं को जोड़ा जाता है।

मुझे http://www.dailymotion.com/video/xgl2kp_openrailz-tech-demo-3_videogames पर एक छोटा डेमो मिला है ।


-1

शायद यह उपयोगी होगा:
स्टीयरिंग बिहेवियर फॉर ऑटोनॉमस कैरेक्टर: http://www.red3d.com/cwr/steer/


ट्रेनों को उनके पटरियों पर बंदी नहीं बनाया जाता है?
विल


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