2009-04-24 10 views
6

मैं एक गोलाकार गति में एक निश्चित बिंदु के आसपास gluSphere घुमाने के लिए चाहता हूं, जैसे सूरज के चारों ओर एक ग्रह।ओपनजीएल एक स्पॉट के आसपास घूमता है

क्या ग्लोटोटेट या ग्लट्रांसलेट का उपयोग करना सबसे अच्छा होगा? यदि हां, तो मुझे किस क्रम में उन्हें कॉल करना चाहिए?

उत्तर

4

आप दोनों का एक छोटा करना होगा:

  • यकीन gluSphere है "का सामना करना पड़" नियत बिन्दु है, ताकि सुनिश्चित उसे घुमाने के लिए क्षेत्र के संबंध में आगे अनुवाद करने में आपकी करीब डालता है अपनी कक्षा बिंदु जो चारों ओर आप चाहते हैं
  • glTranslatefgluSphere आगे के केंद्र के लिए
  • glRotatef दिशा आप क्षेत्र कक्षा के लिए
  • glTranslatef पीछे की ओर बस के रूप में अब तक के रूप में आप आगे

इस तरह चला गया, अपने क्षेत्र के केंद्र से एक ही दूरी रहता है, लेकिन अनुवाद हो जाता है "के आसपास" एक अच्छा कक्षा में चाहते हैं ।

+0

चीयर्स, स्पॉट ऑन! – user64392

-2

glRotatef एक रोटेशन मैट्रिक्स द्वारा वर्तमान मैट्रिक्स को गुणा करेगा। यह आप (सही वेक्टर दिया) कर सकते हैं जो आप कर रहे हैं।

glTranslatef वर्तमान मैट्रिक्स को एक अनुवाद मैट्रिक्स द्वारा गुणा करेगा, जो ऑब्जेक्ट को प्रभावी ढंग से "स्थानांतरित" करेगा, इसे घुमाएगा, इसलिए यह वही नहीं होगा जो आप चाहते हैं।

+0

तो एक गोलाकार गति के लिए मैं एक सेट बिंदु के चारों ओर घूमने के लिए क्या glRotatef का उपयोग करना चाहिए? – user64392

+0

मुझे लगता है कि यह कहना सच है कि उसे प्रत्येक में से एक की आवश्यकता है - ऑब्जेक्ट को मूल से दूर करें, और फिर मूल के बारे में घुमाएं। (जहां 'उत्पत्ति' वह केंद्र है जिसे आप घूमना चाहते हैं) –

2

केंद्र से दूर अनुवाद और फिर बारी बारी से सभी तरह

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