2011-03-04 31 views
17

मैं 2 डी अंतरिक्ष में एक वस्तु है कि बारी बारी से कर सकते हैं और फिर इसके घूर्णन कोण के अनुसार आगे बढ़ना चाहिए है कहो।घूर्णन कोण के आधार पर एक्स वाई आंदोलन की गणना?

उदाहरण के लिए:

  • यदि कोण 0 है (ऊपर की तरफ इशारा करते हुए), तो on_timer यह Y से 1 और 0 एक्स से बढ़ना चाहिए

  • यदि कोण 45 है, तो यह आगे बढ़ना चाहिए 1 Y से और 1 एक्स द्वारा

  • तो एक्स

  • से 90 डिग्री है, तो और वाई द्वारा 0 1 ओर इशारा करते हुए, तो 135 डिग्री ओर इशारा करते हुए, फिर -1 द्वारा वाई और एक्स द्वारा +1, आदि

क्या आप इसकी गणना करने के लिए कोई फ़ंक्शन जानते हैं?

+0

यह एक अच्छा सवाल है। – GeneCode

उत्तर

26

अच्छी तरह से, यह विभिन्न कोणों के लिए विभिन्न गति पर ले जाने के लिए लगता है।

0 degress (सीधे ऊपर) यह 1 द्वारा ले जाया गया, लेकिन 45 begrees यह sqrt (1^2 + 1^2) = 1,41 ले जाया गया के लिए

मुझे लगता है कि आप पाप और क्योंकि को देखने के लिए चाहते हैं।

X += Speed * Math.Cos(angle); 
Y += speed * Math.Sin(angle); 

सादर गर्ट-जन

+5

धन्यवाद, यह काम कर रहा है! :) डबल रेडियंस = (Math.PI/180) * (this.orient - 90); this.CorX = Convert.ToInt16 (this.CorX + 15 * गणित.क्योंकि (रेडियंस)); this.CorY = Convert.ToInt16 (this.CorY + 15 * गणित.पाप (रेडियंस)); – Rob

संबंधित मुद्दे