ऐसा लगता है कि आप पूरे वक्र पर कुछ स्थिर मूल्य पर वस्तु की गति को बनाए रखना चाहते हैं - चाप-लंबाई जानने से आपको ऐसा करने में मदद नहीं मिलेगी। यह तुम क्या समय ऑब्जेक्ट को उसके अंत बिंदु तक पहुंच जाएगा पर गणना में मदद मिलेगी अगर , यह उस गति से जा रहे थे तो यह हो जाएगा तुम अब क्या है की तुलना में बेहतर (वस्तु सभी बिंदुओं के बीच एक ही औसत गति होगा), लेकिन वस्तु की वास्तविक गति फिर भी भिन्न होगी क्योंकि यह वक्र के चारों ओर घूमती है।
एक बेहतर समाधान यह होगा कि हम अपने पैरामीट्रिक पैरामीटर (0 से 1 तक जाने वाले पैरामीटर, जिसे मैं s
भ्रम से बचने के लिए कॉल करूंगा t = time
) को एक चर-दर पर बदलना होगा ds/dt
, जो इस बात से निर्धारित होता है कि आप किस गति से वस्तु को आगे बढ़ाना चाहते हैं वह वक्र पर इंगित करता है। इसलिए दूसरे शब्दों में, s
प्रत्येक फ्रेम को 0.01 से बदलने के बजाय , हम इसे 0.005 एक फ्रेम, अगले 0.02, आदि द्वारा बदल सकते हैं।
हम प्रत्येक फ्रेम के डेरिवेटिव x
( dx/ds
) और y
( dy/ds
) की गणना करके ऐसा करते हैं , फिर सेटिंग करते हैं
ds / dt = गति / sqrt ((dx / ds) 2 + (डाई / ds) 2 )
यही कारण है कि, हम जिस गति से जाना चाहते हैं, और जिस गति से हम वास्तव में जा रहे हैं, यदि हम s
एक निश्चित भस्मारती में बदल रहे थे, तो विभाजित करके ।
प्रमाण
हम चाहते हैं कि हमारी वस्तु की गति स्थिर रहे; आइए उस निरंतर नाम को दें speed
।
हम दूसरे वर्ष पथरी कि, पैरामीट्रिक समीकरणों के लिए में जानने x(s)
और y(s)
,
गति = sqrt ((dx / dt) 2 + (डाई / dt) 2 )
हम भी यही सीखते हैं
dx / dt = dx / ds * ds / dt (श्रृंखला नियम)
इस प्रकार,
गति = sqrt ((dx / ds) 2 (ds / dt) 2 + (डाई / ds) 2 (ds / dt) 2 )
के लिए हल ds/dt
, हम कहा समीकरण मिलता है।
डेरिवेटिव की गणना
मैंने कभी भी उन विशेष स्प्लिन के साथ काम नहीं किया है, लेकिन मैं समझता हूं कि वे सिर्फ देते हैं x(s)
और y(s)
घन-समीकरणों के संदर्भ में s
। इस प्रकार, हम व्युत्पन्न dx/ds
आसानी से पा सकते हैं : यदि
x (s) = a * s 3 + b * s 2 + c * s + e
फिर
dx / ds = 3a * s 2 + 2b * s + c
(एक ही के लिए dy/ds
) बेशक, आप का सही मूल्यों की जानकारी होनी चाहिए a
, b
और c
यह करने के लिए। इस पृष्ठ के अनुसार , उन मूल्यों को खोजना आसान है।
अंत में, शीर्षक में प्रश्न का उत्तर देने के लिए: एक पैरामीट्रिक फ़ंक्शन के चाप-लंबाई समीकरण को खोजने में एक काफी जटिल निश्चित अभिन्न को हल करना शामिल है ; एक घन-समीकरण के साधारण मामले के लिए भी, यह आमतौर पर नहीं किया जा सकता है।
इस प्रकार, आपको संख्यात्मक रूप से अभिन्न का अनुमान लगाना होगा । "10 सीधी रेखाओं में तख़्ता काटना और उनकी लंबाई समेटना" जैसा कि आप सुझाव देते हैं कि यह करने का एक बहुत ही सरल तरीका है ; हालाँकि, कुछ अधिक जटिल तरीके हैं जो आपको कम लाइन-सेगमेंट का उपयोग करके अधिक सटीक परिणाम देंगे।