játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5441
FZoli:    4892
Kuz:    4455
gaborlabor:    4449
kicsy:    4304
TPG:    3402
monostoria:    3284
DMG:    3172
HomeGnome:    2919
Matzi:    2519

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2186
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1625
syam:    1491
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] > 15 < [20] [21]
Latka X-treme - Törzstag | 311 hsz       Online status #119646   2009.10.19 04:40 GMT+1 óra  
igen,igen, már fejben nekem is megvan a megoldás, csak mondjuk én majd DarkBasic-ben szeretném ezt elérni

3D-re annyi kiegészítés kell, hogy a két pont által meghatározott egyenesre ráteszek még egy háromszöget, és az adja meg azt a forgatást, amivel fel/le fog nézni
   
sirpalee - Tag | 1282 hsz       Online status #119645   2009.10.19 04:30 GMT+1 óra  
Nem 3d-ben volt a probléma?

Amúgy az én módszerem erre, vagyis ott az a probléma, hogy adott egy vektorod és el kell forgatni, hogy a másik irányába nézzen.

A,B és azt akarjuk, hogyan forgassuk el az A-t hogy B-be nézzen.

C = cross(AxB) (a forgatás tengelye)

angle = arccos(dot(A,B))

és megvan a forgatási tengely és a forgatási szög . Persze figyelni kell, hogy ne legyenek párhuzamosak. Meg van némi előjel para, de most nem fogom előbányászni az xy constrainemet, hogy ott hogy kódoltam le.
raytraceisten és übermedic
   
Latka X-treme - Törzstag | 311 hsz       Online status #119644   2009.10.19 04:24 GMT+1 óra  
Ááááh, télleg, egyszerű derékszögű háromszög szögfüggvénye...

ezért hiányolom a négyjegyű függvénytáblázatomat

köszi a segítséget!

Ezt a hozzászólást Latka X-treme módosította (2009.10.19 04:29 GMT+1 óra, ---)
   
Matzi - Szerkesztő | 2519 hsz       Online status #119642   2009.10.19 04:04 GMT+1 óra  
Van a két pont, A és B, a koordinátáik Ax Ay Bx By. A két pont távolsága R.

Alfa = arcsin((Bx-Ax)/R);

Ez Pi és 0 között ad elvileg eredményt.

Ha Ay > By akkor Alfa = - Alfa;

Így már meg is van a Pi és -Pi közötti érték, ami az A pontból B pontba irányuló vektor szöge.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
Latka X-treme - Törzstag | 311 hsz       Online status #119641   2009.10.19 03:53 GMT+1 óra  
Hali! Nos, a következő kérdésem lenne (megjegyezném hogy régen, de NAGYON régen matekoztam, és most így hirtelen nem tudom magamnak megválaszolni, kérlek ne fojtsatok meg )

Van egy objektumom és egy pontom a térben. A pont a térben mozog. Mindkettejüknek vannak ugye koordinátái (duuuh) de hogyan kapom meg azt az elforgatási értéket fokokban, hogy az objektum mindig a pont felé nézzen?

Tudom, hogy irányvektorokkal kéne valamit babrálni, de kölcsönadtam valakinek a négyjegyű függvénytáblát, google meg miniprofesszoroknak ad választ
   
screat - Tag | 382 hsz       Online status #119458   2009.10.16 10:40 GMT+1 óra  
aha, jónak tűnik. majd megnézném.
még csak padawan...
Dont worry, be hippy - Fanni :)
   
sirpalee - Tag | 1282 hsz       Online status #119456   2009.10.16 10:30 GMT+1 óra  
Alapban te az össze-vissza álló kockáidat úgy kezeld, hogy AABB, és azzal csinálsz egy tranfszormációt (rotation, scale, translation), és amikor ütköztetnél vele egy rayt, akkor csak a transzformációs mátrixának az inverzével transzformálod, akkor megkapod local spaceben, és máris a problémád, az egy ray-aabb. És amint megvan a pont akkor azt csak vissza kell transzformálni. (az össze-vissza álló box metszése nagyon szar)

Ha érdekel mutatok kódot ray / aabb metszésre.
raytraceisten és übermedic
   
screat - Tag | 382 hsz       Online status #119453   2009.10.16 10:24 GMT+1 óra  
(még jó, hogy a bb egy oldalát ha felbontom két háromszögre, ugyan azt a normálvektort kapom ... - ugye? )
[off]jááájjdejóó most írhatok axis-drawer cuccot [/off]

és ha a kamerából (vagyis inkább a gyorsulási vektorból) csinálok egy ray-t, akkor hogy találom meg, hogy melyik oldallal ütköztem? (sliding cucchoz kellene)
még csak padawan...
Dont worry, be hippy - Fanni :)
   
sirpalee - Tag | 1282 hsz       Online status #119450   2009.10.16 10:20 GMT+1 óra  
4 alapján sehogy .

De három alapján megy :

v0,v1,v2

n = normalize(cross(v1 - v0, v2 - v0) ) (persze figyelni az irányítására)
raytraceisten és übermedic
   
screat - Tag | 382 hsz       Online status #119449   2009.10.16 10:13 GMT+1 óra  
hogy lehet normál vektort kiszámítani 4 adott pont alapján? (bounding boxot csináltam, az oldalaknak kellenének a normálvektorjai, ütközésdetekthez)
még csak padawan...
Dont worry, be hippy - Fanni :)
   
Wolfee - Törzstag | 1336 hsz       Online status #119319   2009.10.15 14:06 GMT+1 óra  
Idézet
TheProGamer :
Idézet
Wolfee :
"Igen, erről van lényegében szó, ha két valami azonosan egyenlő, az egyenlőbb mintha csak az értékeik lennének egyenlők."
de ennek semmi értelme...


A sima egyenlőséggel csak annyit jelentesz ki hogy a jel két oldalán lévő kifejezések értékei pontosan megegyeznek (vagy hogy létezik olyan helyzet amiben értékeik pontosan megegyeznek), magukat a kifejezéseket egymással nem hozod kapcsolatba. Viszont ha két valami definíció szerint vagy azonosan egyenlő, akkor azon felül hogy értékeik minden körülmények közt megegyeznek, azt is kijelented hogy a kifejezések egymással mindig ekvivalensek, az a két valami pontosan ugyanazt jelenti.

A sima egyenlőségnél egy egyenletbe ha belegondolsz, a két oldal egy-egy függvényként fogható fel, ezek ideális esetben véges számú pontban metszik egymást, ezek az egyenlet megoldásai. Ha viszont a két oldal azonosan egyenlő lenne akkor a képeiknek egybe kellene esnie, ebből következően a metszések száma megszámlálhatatlanul végtelen kellene hogy legyen.


aaaa.... asszem értem...
FZoli jóváhagyásával XD

   
TPG - Tag | 3402 hsz       Online status #119293   2009.10.15 10:27 GMT+1 óra  
Idézet
Wolfee :
"Igen, erről van lényegében szó, ha két valami azonosan egyenlő, az egyenlőbb mintha csak az értékeik lennének egyenlők."
de ennek semmi értelme...


A sima egyenlőséggel csak annyit jelentesz ki hogy a jel két oldalán lévő kifejezések értékei pontosan megegyeznek (vagy hogy létezik olyan helyzet amiben értékeik pontosan megegyeznek), magukat a kifejezéseket egymással nem hozod kapcsolatba. Viszont ha két valami definíció szerint vagy azonosan egyenlő, akkor azon felül hogy értékeik minden körülmények közt megegyeznek, azt is kijelented hogy a kifejezések egymással mindig ekvivalensek, az a két valami pontosan ugyanazt jelenti.

A sima egyenlőségnél egy egyenletbe ha belegondolsz, a két oldal egy-egy függvényként fogható fel, ezek ideális esetben véges számú pontban metszik egymást, ezek az egyenlet megoldásai. Ha viszont a két oldal azonosan egyenlő lenne akkor a képeiknek egybe kellene esnie, ebből következően a metszések száma megszámlálhatatlanul végtelen kellene hogy legyen.
Reality is almost always wrong. - House

   
Joga - Törzstag | 1791 hsz       Online status #119292   2009.10.15 09:48 GMT+1 óra  
vegyél egy háromszöget:
A csúcs külső szöge azonosan egyenlő a két másik csúcshoz tartozó szög összegével, mert minden esetben egyenlő
Viszont lehet két szöge is egyenlő, de az csak bizonyos esetekben történhet meg
Szerk.: Én csak valami ilyesmit szűrtem le, javítsatok, ha hülyeségeket mondok

Programozásban meg ugye az, amit kicsy mondott
(ಠ ›ಠ) Stewie!

   
Wolfee - Törzstag | 1336 hsz       Online status #119291   2009.10.15 09:45 GMT+1 óra  
"Igen, erről van lényegében szó, ha két valami azonosan egyenlő, az egyenlőbb mintha csak az értékeik lennének egyenlők."
de ennek semmi értelme...
FZoli jóváhagyásával XD

   
TPG - Tag | 3402 hsz       Online status #119283   2009.10.15 08:41 GMT+1 óra  
Idézet
Wolfee :
amúgy bocsánat, hogy itt értetlenkedek, de az azonosan egyenlő és az egyenlő között mi a különbség? az egyik egyenlőbb, mint a másik?


Igen, erről van lényegében szó, ha két valami azonosan egyenlő, az egyenlőbb mintha csak az értékeik lennének egyenlők.
Idézet
WToma :
Szerintem matekban azt jelenti, hogy definiíció szerint megegyezik.


Ott a pont.
Reality is almost always wrong. - House

   
Seeting - Törzstag | 2306 hsz       Online status #119276   2009.10.15 06:30 GMT+1 óra  
Idézet
Wolfee :
amúgy bocsánat, hogy itt értetlenkedek, de az azonosan egyenlő és az egyenlő között mi a különbség? az egyik egyenlőbb, mint a másik?



Mint a kommunizmusban: mindenki egyenlő, de néhányan egyenlőbbek a többieknél. XD
   
WToma - Szerkesztő | 635 hsz       Online status #119268   2009.10.15 05:03 GMT+1 óra  
Szerintem matekban azt jelenti, hogy definiíció szerint megegyezik.
Ez nem bug, hanem feature!
http://sohivatal.uw.hu
   
Asylum - Törzstag | 5441 hsz       Online status #119266   2009.10.15 04:55 GMT+1 óra  
Sokféleképpen lehet értelmezni, igazából én sem tudom, de elképzelhetőek olyan = operátorok amik nem reflexivek, vagyis a = b de b != a (mik vannak ). Például az értékadás egy ilyen.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
kicsy - Szerkesztő | 4304 hsz       Online status #119265   2009.10.15 04:51 GMT+1 óra  
Nemtudom matekban mi, programozásban azt jelenti hogy a típusa is megegyezik.
Pl. 0 == false, de !(0 === false) (avagy 0 !== false)
kicsy ● SilentVertigo Team - project Solarah
http://blog.yscik.com
   
Wolfee - Törzstag | 1336 hsz       Online status #119259   2009.10.15 03:00 GMT+1 óra  
amúgy bocsánat, hogy itt értetlenkedek, de az azonosan egyenlő és az egyenlő között mi a különbség? az egyik egyenlőbb, mint a másik?
FZoli jóváhagyásával XD

   
Seeting - Törzstag | 2306 hsz       Online status #118898   2009.10.08 17:27 GMT+1 óra  
CGAL használhatatlan, nem lehet megváltoztatni a példányok adattagjait.
   
fpeti - Törzstag | 1283 hsz       Online status #118885   2009.10.08 12:31 GMT+1 óra  
Idézet
Seeting :
Az a baj egyébként, hogy az a ritkábbik eset, hogy az egyenesek ütköznek, mert legtöbbször (értsd: szinte mindig) elmennek egymás alatt/felett. Ezért kutakodok most CGAL-ban, hogy le lehet-e kérdezni a két egyenes közé húzható legrövidebb harmadik egyenes-t (két pontját, vagy bármit amivel meg lehet határozni).

Ha már megvan a harmadik egyenes, akkor meg annak a felezőpontja lesz a végeredmény, mint pont.



http://ilab.hu/jf/datas/users/776-line%20line%20distance.png
   
Seeting - Törzstag | 2306 hsz       Online status #118880   2009.10.08 11:05 GMT+1 óra  
Az a baj egyébként, hogy az a ritkábbik eset, hogy az egyenesek ütköznek, mert legtöbbször (értsd: szinte mindig) elmennek egymás alatt/felett. Ezért kutakodok most CGAL-ban, hogy le lehet-e kérdezni a két egyenes közé húzható legrövidebb harmadik egyenes-t (két pontját, vagy bármit amivel meg lehet határozni).

Ha már megvan a harmadik egyenes, akkor meg annak a felezőpontja lesz a végeredmény, mint pont.
   
Seeting - Törzstag | 2306 hsz       Online status #118877   2009.10.08 10:59 GMT+1 óra  
Beindult az Asylum computing engine Köszi. Mondjuk közben már rátaláltam a CGAL nevű libre amiben szintén implementálva van egy fügvény aminek a bemenetele két Line_3 és egy Point_3-al tér vissza.

Még nem döntöttem melyiket használom, de el vagyok látva.
   
Asylum - Törzstag | 5441 hsz       Online status #118861   2009.10.08 09:46 GMT+1 óra  
http://people.inf.elte.hu/asylum/temp/main.cpp

Igy hirtelen. Ha hibás szolj.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
TPG - Tag | 3402 hsz       Online status #118854   2009.10.08 09:03 GMT+1 óra  
Idézet
Asylum :
Azabaj, hogy a kongurenciának is ez a jele XD


Jah, azért írtam hogy itt jelenti azt hogy azonosan egyenlő. Ahhoz hogy azok valami kongruencia rendszer vagy független kongruenciák legyenek még hiányzik a maradékosztály.
Reality is almost always wrong. - House

   
Seeting - Törzstag | 2306 hsz       Online status #118853   2009.10.08 09:00 GMT+1 óra  
Az ELTE-s matekkal kb kitörölheti az ember a seggét, mert olyanra nem tanítanak (vagyis eddig még nem találkoztam vele) ami a gyakorlatban is hasznos lenne, viszont nagyon örülünk mert be tudjunk bizonyítani hogy léteznek természetes számok...
   
Asylum - Törzstag | 5441 hsz       Online status #118852   2009.10.08 08:57 GMT+1 óra  
Azabaj, hogy a kongurenciának is ez a jele XD
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
TPG - Tag | 3402 hsz       Online status #118850   2009.10.08 08:50 GMT+1 óra  
Idézet
Seeting :
Köszi, de valami programozóbarátibb leírásnak jobban örültem volna. Pl. azt se tudom, hogy az a, b, c után mit fejez ki az a hármas egyenlőségjel...


Pedig annak benne kellett lennie az egyetemi matektananyagban, az annyit jelent itt hogy azonosan egyenlő.
Reality is almost always wrong. - House

   
Seeting - Törzstag | 2306 hsz       Online status #118849   2009.10.08 08:44 GMT+1 óra  
Köszi, de valami programozóbarátibb leírásnak jobban örültem volna. Pl. azt se tudom, hogy az a, b, c után mit fejez ki az a hármas egyenlőségjel...
   
screat - Tag | 382 hsz       Online status #118835   2009.10.08 07:27 GMT+1 óra  
megelőztek
még csak padawan...
Dont worry, be hippy - Fanni :)
   
TPG - Tag | 3402 hsz       Online status #118834   2009.10.08 07:25 GMT+1 óra  
A vége felé van. Épp most próbálom majd ellenőrizni a cuccot Maple-ben.
Reality is almost always wrong. - House

   
Seeting - Törzstag | 2306 hsz       Online status #118833   2009.10.08 07:02 GMT+1 óra  
Köszi!

Következő kérdésem az lenne, hogy hogyan kaphatom meg két térbeli egyenes metszéspontját?
Nem nagyon van erre valamire való példa a neten, még a wikipédián sem. Itt az ELTE-n meg nem tanítanak efféle hasznos információt (mert miért is kéne), viszont számomra égető probléma.

Igazából algoritmikus formában maga lenne a menyország, de máshogy is örülnék neki nagyon.
   
Asylum - Törzstag | 5441 hsz       Online status #118528   2009.10.04 14:34 GMT+1 óra  
python kód, kvaternio osztály (igazábol oda is adhatnám ezt a python libet [höfö volt]), de elképzelhetö, hogy van benne némi hiba. Ha kell valakinek akkor souljon és felrakom a honlapra.

Kód:
def RotationAxis(out, v, angle):
    norm = vector3.Vector3()
    vector3.Vector3.Normalize(norm, v)

    norm = norm * math.sin(angle / 2.0)

    out._w = math.cos(angle / 2.0)
    out._x = norm._x
    out._y = norm._y
    out._z = norm._z

    return out

def RotationYawPitchRoll(out, yaw, pitch, roll):
    c = vector3.Vector3(math.cos(yaw / 2.0), math.cos(roll / 2.0), math.cos(pitch / 2.0));
    s = vector3.Vector3(math.sin(yaw / 2.0), math.sin(roll / 2.0), math.sin(pitch / 2.0));

    out._w = c._x * c._y * c._z - s._x * s._y * s._z
    out._x = c._x * c._y * s._z + s._x * s._y * c._z
    out._y = s._x * c._y * c._z + c._x * s._y * s._z
    out._z = c._x * s._y * c._z - s._x * c._y * s._z

    return out


kvaternió -> euler konverzióhoz pedig:

http://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Seeting - Törzstag | 2306 hsz       Online status #118524   2009.10.04 14:22 GMT+1 óra  
Igen azt megköszönném nagyon.

Am mégegyszer mondom, hogy nem az elforgatott mátrixra vagyok kíváncsi, hanem konkrét X, Y, Z tengely szögekre.
   
Asylum - Törzstag | 5441 hsz       Online status #118523   2009.10.04 14:08 GMT+1 óra  
Igy elsö tippre matrixrotationyawptichroll(...) * matrixrotationaxis(...)
Vagy ugyanez kvaterniókkal. Tudok adni kódot ha konkrétan implementálni akarod.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Seeting - Törzstag | 2306 hsz       Online status #118517   2009.10.04 13:53 GMT+1 óra  
Szeretnék írni egy olyan eljárást aminek a bemeneti paraméterei az adott objektum (kocka) X, Y és Z szöge, valamint egy lenormált 3 dimenziós vektor paraméterei (x,y,z), és egy újabb szög, ami a forgatáshoz kell majd.

Az eljárásnak egy forgatást kéne eredményezni a bemeneten definiált vektor körül az adott szöggel.

A kimenet az új X, Y és Z szög lenne.

Kérdésem, hogy ez mennyire megvalósítható (bár biztos megvalósítható mert openGL-be van is erre egy hívás (glRotatef()), továbbá hogy hogyan lenne érdemes neki kezdeni (van-e rá valami bevált matematikai formula)? Esetleg szerintetek is alkalmas lenne a Rodrigues féle rogatás?
   
Asylum - Törzstag | 5441 hsz       Online status #116267   2009.08.24 06:53 GMT+1 óra  
korán kelés, összeadási nehézségek

Ezt a hozzászólást Asylum módosította (2009.08.24 07:05 GMT+1 óra, ---)
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Matzi - Szerkesztő | 2519 hsz       Online status #116263   2009.08.24 06:04 GMT+1 óra  
Természetesen. De átírni nem kell nagyjából semmit, egyszerűen csak 3d-s vektorokat kell használni. Legalábbis azt hiszem, sosem próbáltam.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
screat - Tag | 382 hsz       Online status #116260   2009.08.24 05:45 GMT+1 óra  
Matzi: Ez gondolom átformálható 3D-be is, hogy az egyenes metszi-e a gömböt. (?) - Írjam át, mi?
még csak padawan...
Dont worry, be hippy - Fanni :)
   
sirpalee - Tag | 1282 hsz       Online status #116257   2009.08.24 05:21 GMT+1 óra  
Jogos, hülyeséget mondtam. Elnézést.
raytraceisten és übermedic
   
Matzi - Szerkesztő | 2519 hsz       Online status #116255   2009.08.24 04:08 GMT+1 óra  
sirpalee:
Nem így van, ha a kört metszi az egyenes, de a szakasz messze van, akkor mindkét végpont kívül lesz a körön, és nem is lesz metszés. Pl: x-----x O

Én ezt a kódot használom, igaz, nem pont erre a feladatra:
Kód:
// rO - szakasz kezdopontja (A)
// rV - A szakasz ket vegpontja kozotti vektor (B-A)
// sO - Kor kozeppontja
// sR - Kor sugara
double intersectSphere(Vector rO, Vector rV, Vector sO, double sR)
{
Vector Q = sO - rO;
double c = Q.Length();
double v = Q * rV; // dotproduct
double d = sR*sR - ((c*c) - (v*v));
// If there was no intersection, return -1
if (d < 0.0) return -1.0;
// Return the distance to the [first] intersecting point
return v - Math.sqrt(d);
// if this less than 1, the segment meets the circle
}

Ha a végeredmény 0 és 1 közé esik, akkor van metszéspont.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
sirpalee - Tag | 1282 hsz       Online status #116254   2009.08.24 03:56 GMT+1 óra  
Egy gyorsabb megoldás, ha az egyenes metszi a kört, akkor csak annyit kell megnézned, hogy egyik végpont kívül található-e a körön, ha bármelyik is, akkor van metszéspont. Ha az egyenes metszi a kört, csak akkor nincs metszéspont, ha mindkét szakaszpont a körön belül van.
raytraceisten és übermedic
   
syam - Törzstag | 1491 hsz       Online status #116253   2009.08.24 03:42 GMT+1 óra  
Szerintem próbáld ki ezt:

1. A szakaszt kezeld egy egyenesként. Vizsgáld meg, hogy az egyenes és a kör metszheti-e egymást (távolság vizsgálat).
2. Ha igen, akkor számold ki a metszéspontokat és vizsgáld meg a szakasz két végpontjával. Ha a bármelyik metszéspont a két végpont közé esik, akkor metszi a kör a szakaszt.
alias aalberik
   
gberes - Tag | 35 hsz       Online status #116252   2009.08.24 02:45 GMT+1 óra  
Hali!
Hogy tudom kiszámolni hogy egy metszi-e egy szakasz egy kört, ha tudom a szakasz két végpontájt és a kör közepét és sugarát? Ha a kör és az egyenes egyenletének is megoldásai ugyan azok az x és y koordináták, akkor van metszéspontjuk? Ha igen akkor honnan tudom, hogy az a megadott szakaszon van-e?

   
2SD - Tag | 463 hsz       Online status #115979   2009.08.15 21:24 GMT+1 óra  
köszi, akkor sikeresen félreértettem mindkettőt.
Ha lesz még kérdés(lesz..) jövök megint.
C4Ninja
   
Asylum - Törzstag | 5441 hsz       Online status #115976   2009.08.15 09:02 GMT+1 óra  
A slerp pedig annyi, hogy ahelyett, hogy egy lépésben forgatnál mondjuk 90 fokot, helyette lineárisan, mondjuk 9 fokonként forgatsz.

Kicsit konkrétabb példa: van egy kamerád amit végig akarsz animálni egy valamilyen útvonalon; az A pontban mondjuk 45 fokos szöget zár be, a B pontban pedig már 75 fokosat. A slerp-el a két szög közti átmenetet tudod elsimitani, azaz miközben mész a B pont felé már forgatsz, csak kis lépésekben, és mire eléred már pont 75 fokos lesz a szöged.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Asylum - Törzstag | 5441 hsz       Online status #115975   2009.08.15 08:45 GMT+1 óra  
Nem, a gimbal lock az valami olyasmi, hogy (most kameránál maradva): Elforgatod a kamerát lefelé, ugy hogy pont a padlot nézze, ekkor ha oldalra mozgatod az egeret akkor ugy tünik mintha a Z tengelye körül forogna (az Y tengely egybeesik a Z-vel). És igy egy szabadságfokot elvesztettél.
Ugyanis a "helyes" forgatás ilyenkor azlenne, hogy jobbra balra nézel.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
2SD - Tag | 463 hsz       Online status #115973   2009.08.15 08:13 GMT+1 óra  
Köszi szépen mindenkinek, a linkekkel már lényegesen könnyebb volt.
Csak, hogy nem értettem-e félre valamit, a Gimbal Lock tulajdonképpen azt szabja meg, hogy(Asylum példájánál maradva) meddig forgatható a kamera?
A slerp meg, kvaternión belül használva megmutatja a jelenlegi szög, és a 'cél'(amilyen szögben forgatni akarom - bocsesz ,nem tudom, mi ennek a hivatalos megnevezése) közötti legrövidebb, és egyenes utat. Na most, innen jön még egy kérdés, ez mire jó? Ha nem értettem félre a leírást, akkor max azt tudnám elképzelni, hogy ha pl az egér irányába akarok forgatni egy *akármit*, és használom a slerpet, akkor megtalálja a legrövidebb utat, ahelyett, hogy akár körbefordulna a másik irányba.
Jól értem, vagy sikerült félrefordítani?
C4Ninja
   
Asylum - Törzstag | 5441 hsz       Online status #115972   2009.08.15 06:23 GMT+1 óra  
És néha még baj is, hogy nincs gimbal lock (pl. egy fps kamera esetében), de annyira nem nagy baj mert ki lehet kerülni.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] > 15 < [20] [21]