3D-s objektum keszitese es forgatasa soros portrol erkezo adatok alapjan

Hi,

Keszitettem egy 3 tengelyes gyorsulasmero aramkort, ami soros porton kikuldi az aktualis X, Y, Z gyorsulasokat. Ehhez szeretnek egy kis demo grafikus megjelenitest csinalni (pl egy kocka, ami a tengelyei korul elfordul). Linux-on.

Vegulis kesz program erdekelne - valaki kudene egyet? :-)

Szoval barmi szoba johet, gondoltam C / OpenGL, esetleg Blender / Python parositasra, de semmi nincs kobe vesve, csak ne kelljen hogy ertsek hozza (mondjuk C-ben mar jo ideje butykolok, OpenGL-t is probalgattam mar, es lattam Blender-t meg Python-t is, ezert gondoltam ezekre) A legjobb valami pelda lenne, ami mukodik es tovabb tudom alakitgatni...

Valaki tudna iranyt mutatni?

/sza2

Hozzászólások

Csak most láttam ezt a témát.

Szerintem érdemes lenne megnézned a hdaps-gl nevű alkalmazást. Ez majdnem pontosan azt csinálja, amit te akarsz: a Thinkpadekbe épített gyorsulásmérő adatait olvassa (igaz nem soros portról), és azok alapján OpenGL-lel megjelenít egy vázlatos laptopot. Ha megbillented a gépet, a képernyőn is megbillen a modell.

Szerintem nézz körül a NeHe oldalán:
http://nehe.gamedev.net/lesson.asp?index=01

Rengeteg példa van, szépen elmagyarázva, mindenféle libekhez készen letölthető kóddal (sdl, mesa, stb.).
Szerintem ebből érdemes kiindulnod (5. lecke):
http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=05

Itt forgat egy kockát (és egy piramis is), a C kódba minimálisan kell belenyúlnod, a

glRotatef(rquad,1.0f,1.0f,1.0f);

hívásokat kell úgy beparaméterezned, hogy a megfelelő forgatást végezze (első paraméter fix, többi rendre az x,y,z tengelyen történő forgatás mértékét adják)

# glRotatef(rquad,1.0f,1.0f,1.0f);
#
# hívásokat kell úgy beparaméterezned, hogy a megfelelő forgatást végezze (első paraméter fix, többi rendre az x,y,z tengelyen történő forgatás mértékét adják)

Ez picit félrevezető. Az első paraméter a forgatás szöge deg-ben, a maradék 3 meg egy vektor kordinátái, ami körül a forgatás történik.
pl y tengely körül (mintha egy asztalon forogna) 90°-kal így néz ki:

glRotatef(90.0f, 0.0f, 1.0f, 0.0f);

OpenGL bácsi normalizálja a vektort, de ha negyon pedáns vagy adhatod már eleve egységnyiként.

--------------------------------------------------------------------
It has been said that the only standard thing about all UNIX systems
is the message-of-the-day telling users to clean up their files.
-- System V.2 administrator's guide

Van egyéb terved is Blenderen belül az adatokkal, vagy csak egy gyors tesztet szeretnél?

Ha az előbbi, szívesen segítek; ellenkező esetben szerintem fontold meg a többiek tanácsait.

3dconnexion-nak vannak ilyen demói a space{mouse|ball|navigator|stb} cuccaihoz (bár csak a régi mouse-ok és ball-ok voltak soros portosak), amik megvoltak emlékeim szerint aix-en is, bár aligha nyílt forrásúak... :) bár ki tudja? egy utánanézést megérhet. lehet még forrást is megtalálod.