मैं किसी वस्तु को "अनंत" या "आकृति 8" प्रक्षेपवक्र में कैसे स्थानांतरित कर सकता हूं?


28

जब मैं ऑब्जेक्ट को बिंदु के आसपास ले जाना चाहता हूं, तो:

    point.x *= cosf(timer.timeElapsed);
    point.y *= sinf(timer.timeElapsed);

आठ या अनंत साइन प्रक्षेप पथ पर बिंदु चाल कैसे करें?

जवाबों:


24

2
उत्तर स्व-निहित होना चाहिए, बाहरी लिंक किसी दिन मर सकते हैं और इस उत्तर को बेकार कर देंगे। आपके द्वारा दिए गए लिंक से आपको महत्वपूर्ण बिट्स को उद्धृत करना चाहिए।
ब्रायन एच।

61

मार्टन नोटों के रूप में, कई "आठ के आंकड़े" वक्र हैं जो आपकी आवश्यकताओं के अनुरूप हो सकते हैं। शायद सबसे सरल गेरोनो का लेमिनेट है , जिसमें पैरामीरीज़ेशन है :

x = cos(t);
y = sin(2*t) / 2;

और इस तरह दिखता है:

गेरोनो एनिमेशन का लेमिनेटेट

हालांकि, बर्नौली का नींबू पानी नेत्रहीन अधिक मनभावन हो सकता है; यह गेरोनो के नींबू के टुकड़े के समान एक पैरामीरिजेशन है, सिवाय इसके कि दोनों कुल्हाड़ियों को एक कारक द्वारा स्केल किया जाता है 1/(sin(t)^2 + 1) = 2/(3 - cos(2*t)):

scale = 2 / (3 - cos(2*t));
x = scale * cos(t);
y = scale * sin(2*t) / 2;

यह इस तरह दिख रहा है:

बर्नौली एनीमेशन का लेमनिस्केट

(GIFsicle के साथ संकुचित मेपल 13 के साथ बनाया गया एनिमेशन।)


धन्यवाद, सब लोग, आपके समर्थन के लिए, जिसने मुझे यहां gamedev पर अपना पहला गोल्ड बैज अर्जित किया है ! :-)
इल्मरी करोनें

1
+1 न केवल लिंक पोस्ट करने के लिए, बल्कि सूत्र और ग्राफिक्स (स्रोतों के साथ) भी।
rootlocus

2
जैसा है, यह स्वीकृत उत्तर होना चाहिए।
ब्रायन एच।

-1

मैंने इस सूत्र का उपयोग करते हुए अनियमित रूप से एक और पाया:

x2=y2+0.1x2.8

वुल्फराम अल्फा द्वारा प्लॉट किए गए अनुसार :

एक अनंत प्रतीक का आधा


अन्य उत्तरों के विपरीत, यह वर्तमान में पैरामीट्रिक रूप में प्रस्तुत नहीं किया गया है जो हमें समय के साथ स्थिति को आसानी से आगे बढ़ाने की अनुमति देता है t। मैं एक विवरण सहित यह बताने की सलाह दूंगा कि आप समय के साथ किसी वस्तु को स्थानांतरित करने के लिए इस सूत्र का उपयोग कैसे करेंगे।
DMGregory

-4

((x+1)2+y2)((x1)2+y2)=1

एक अनंत प्रतीक का आधा

उस वक्र पर किसी भी बिंदु से दूरी का उत्पाद (-1, 0) और (1,0) स्थिर है और 1 के बराबर है।


4
यह उत्तर ऐसे वक्र को मॉडलिंग करने वाला सूत्र प्रदान करता है, लेकिन किसी वस्तु को "इस तरह से" स्थानांतरित करने की विधि नहीं है कि वह उस वक्र का अनुसरण करता है। कृपया उत्तर के बारे में विस्तार से विचार करें कि यह इंगित करने के लिए कि आप किसी गेम में ऑब्जेक्ट को स्थानांतरित करने के लिए इस गणित का उपयोग कैसे करेंगे।
DMGregory
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.