Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: Laatikon kääntäminen

Sivun loppuun

Japa80 [13.07.2008 17:11:53]

#

Oisko kellään vinkkiä miten saan esim laatikon uudet koordinaatit tietoon kun pyöritän sitä xy ja yz tasoissa?

vehkis91 [13.07.2008 17:36:45]

#

Lisäät noihin sen luvun minkä verran sitä kappaletta pyöritetään...

Japa80 [13.07.2008 17:45:53]

#

Jonkinlaista laskentakaava tarviin

vehkis91 [13.07.2008 17:46:48]

#

jos haluat kääntää vaikka 1 pisteen verran xy:tä niin se on xy+1... :S

Edit: Siis käytätkö jotain kirjastoa? esim SDL?

Edit2: Sun pitää laskee sen kappalleen keskipiste, minkä mukaan sit käännät sitä...

Japa80 [13.07.2008 18:00:53]

#

meiniki oli että lasken ite pisteet kappaaleen pyörittämisen jälkeen

Grez [13.07.2008 18:17:36]

#

Varo poliisia kun kääntelet niitä laatikoita.. Mutta joo:

Kerrot niiden pisteiden vektorit yksikkömatriisilla, joka on kierretty xy ja yz-tasoilla.

Siis jos r on kierto xy tasolla ja s on kierto xz tasolla, niin kaava. (Täällä ei taida voida laittaa kuvaa näkymään suoraa viestissä?)

Kysyit näköjään xy ja yz tasoja ja vastasin xy ja xz, mutta tuostahan nyt näkee suoraan mikä kaava olisi jollekin muulle yhdistelmälle.

os [14.07.2008 18:43:59]

#

vehkis91 kirjoitti:

jos haluat kääntää vaikka 1 pisteen verran xy:tä niin se on xy+1... :S

wat?

Tuolta löytyy kaavat ja jonkunlaiset selitykset:
http://en.wikipedia.org/wiki/Euler_angles

Lisää vinkkejä:
http://www.mai.liu.se/~halun/matrix/
http://www.facstaff.bucknell.edu/mastascu/eLessonsHTML/Circuit/MatVecMultiply.htm

Lyhyesti: laatikon kulman koordinaatit (x,y,z) laitetaan vektoriin, joka kerrotaan kiertomatriisilla

[a b c] [x] [x']
[d e f]*[y]=[y']
[g h i] [z] [z']

tuloksena saatu vektori kertoo kierretyn pisteen koordinaatit (x',y',z').
Kiertomatriisi rakennetaan Wikipedian, Grezin ja matriisikertolaskututoriaalien ohjeiden avulla.

vehkis91 [14.07.2008 18:46:55]

#

No joo huomasin itekkin ton virheen... :P


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta