[ Boomerang @ 15.03.2004. 09:45 ] @
Treba mi brz proracun presecne tacke elipsoida dimenzija (b,a,b) sa centrom u C(x,y,z) i poluprave sa pocetkom u A(x,y,z) i pravcem P(x,y,z). Brzina racunanja kritcna (real time sistem na racunaru)!!!
[ stalker @ 15.03.2004. 22:02 ] @
Znam da je glupo pitanje, ali da potvrdim:
Sve tri koordinate (x,y,z) kod C, A i P su razlicite, tj. C(x1,y1,z1),A(x2,y2,z2),P(x3,y3,z3)?
[ Boomerang @ 16.03.2004. 20:23 ] @
Da...
[ stalker @ 16.03.2004. 23:26 ] @
Ne znam da li pomazem, ali evo mog nacina:
Naka je centar elipsoida
Jednacina tog tvog elipsoida je sad:

Neka je prava data izmedju dve tacke i i u parametarskom obliku, jednacina glasi:



gde je t parametar izmedju 0 i 1. Ti ovaj nacin mozes da modifikujes u tvoj nacin (preko pravca), a mozes, posto ti ocigledno treba programski, da uzmes velike vrednosti tacke B.

Zamenom jednacine prave u jednacinu elipsoida, dobijes kvadratnu jednacinu po t, i da sad ne pisem sve, dobija se:



gde su a,b i c konstante kvadratne jednacine

(Proveri ti ovo jos jednom!)

E, sad, ukoliko je pocetna tacka prave unutar elipsoida (proveri da li je <1), sigurno ce ga seci i to jednom (poluprava). Koje resenje od ova dva ces uzeti je na tebi (moras nekako ispitati pravac, u zavisnosti koji od ovih gore nacina za predstavljanje prave koristis). Ukoliko je tacka napolju (opet zamena u jednacinu elipse i provera >1), trebalo bi, ukoliko nije tangenta, da opet sece dva puta (pretpostavljam da ovog puta uzimas u obzir oba resenja), ukoliko uopste sece. Znaci, samo ispitujes i racunas t iz kvadratne, simple as that (ukoliko sam pogodio sta trazis)
[ Boomerang @ 17.03.2004. 09:19 ] @
Videcu ovo na konkretnom primeru, ako igrac ne udara o zid, moze da prodje kroz vrata... bice ok