2010-11-18 29 views
1

'da bir Radyal Izgara Oluşturma Bu yüzden biraz dürtüye ihtiyacım var veya doğru yönde itiyorum. Radyal ızgara kurmaya çalışıyorum. Radyal ızgaranın üstünde küre olacak, gridin kendisi gözlemcinin yön değişimi ve yön bilincini fark etmesini sağlamaktır. Konsept bu ızgaradır, kullanıcıların bir 'güneş sistemi' üzerinden gezinmelerine ve üç boyutlu uzayın daha fazla farkında olmalarına izin verir.openGL C++

(ızgara, malliable olmayacak bağlı nesnelerin kütlesine eğilmesini gösteren uzay-zaman ızgaraları gibi, gezegen biraz ızgaranın kendisinin yukarıda gibi olacaktır. Bir anlamda, statik bir radyal ızgara.)

Herhangi bir Yardım takdir edilmektedir.

cevap

1

Sadece kafamdan çıktı. Tipik bir 2B ızgara oluşturmak istersem, uygun glQuad'ları bir görüntüleme listesine dönüştürmek için döngüler için iki yuva kullanırdım ve ardından tel kafes olarak çizilsin (bkz. How do you render primitives as wireframes in OpenGL?).

Bunu radyal bir ızgaraya değiştirmek için temel olarak x, y yerine açı ve büyüklüklere göre döngü yaparsınız. Sonra dört köşelerinizin x/y koordinatlarını hesaplamak için sin() veya cos() işlevlerini kullanırsınız.

Bu çözümün dezavantajı, eğer ızgaranız yeterince ince tanecikli değilse, kullanıcı çizdiğiniz radyal çizgilerin eğrileri olmadığı için dikkati dağıtabilir.

Bu, daha fazla yardımcı olmanızı sağlar.

+0

Teşekkürler, ve evet eğrilerin eksikliği sanırım başka bir sorundur. – Jim

+1

Tamam, ucuz bir ucuz yol, bunu iki yönteme bölmek, biri daire çizer, biri çizgiler çizer ve sonuç bir çeşit geçiş ızgarasıdır. – Jim