|
dev.gamez.lv Latvian Game Developers Community
|
View previous topic :: View next topic |
Author |
Message |
s1 Guest
|
Posted: Tue Feb 08, 2005 6:03 pm Post subject: vektori... |
|
nekādi nevaru atrsts info, arī vidusskolas klades nozudušas
nu tā: ir dots nogrieznis ar virsotnēm A{x,y,z} un B{x,y,z}. Kā lai nosaka ši nogriežņa garumu? Vienīgais ko zinu, ka ir jāizmanto vektoru algebra... |
|
Back to top |
|
|
GiGa Indago Uzvarētājs
Joined: 25 Sep 2003 Posts: 887
|
Posted: Tue Feb 08, 2005 6:06 pm Post subject: |
|
sqrt((A.x-B.x)*(A.x-B.x)+(A.y-B.y)*(A.y-B.y)+(A.z-B.z)*(A.z-B.z)) _________________
|
|
Back to top |
|
|
s1 Guest
|
Posted: Tue Feb 08, 2005 6:08 pm Post subject: |
|
Paldies |
|
Back to top |
|
|
s1 Guest
|
Posted: Tue Feb 08, 2005 8:00 pm Post subject: |
|
[Hobits]:
Atceramies plaknes apreekjinu:
Punkts [x,y,z] pieder plaknei tad ja ax+by+cz+d = 0;
kur a,b,c - planknes virziens jeb normaale, un d - ja nemaldos bija plaknes distance no 0,0,0.
Ja ax+by+cz+d > 0 tad punkts [x,y,z] atrodas plaknes priekspusee,
bet ja ax+by+cz+d < 0 tad punkts [x,y,z] atrodas plaknes aizmuguree.
Vai tā ir taisnība? Man īsti nepielec, kas tas d ir. |
|
Back to top |
|
|
s1 Guest
|
Posted: Tue Feb 08, 2005 8:11 pm Post subject: |
|
Tikko izmēģināju šo formulu:
uzzīmēju 3-stūri ar vienkāršām koord. un aprēķināju normāli. Tad uz plaknes atliku punktu, tā, lai zinātu tā koord. Tad ieliku visus lielumus formulā, un tiešām iznāca 0. Tikai to d es neizmantoju. Vēl īsti nesaprotu d jēgu |
|
Back to top |
|
|
GiGa Indago Uzvarētājs
Joined: 25 Sep 2003 Posts: 887
|
Posted: Tue Feb 08, 2005 9:27 pm Post subject: |
|
d - attaalums no null punkta. Plaknes definiicija: normaales vektors un attalums no null punkta. Bez taa attaaluma nav iespeejams nekaads collision detection. _________________
|
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Tue Feb 08, 2005 10:21 pm Post subject: |
|
Īsti nesapratu, kam tev normāle tam trijstūrim ir vajadzīga.
Un kā tu plankē definēji punktu, ja tev plaknes definīcijā neitilpa d. Protams, ja tu d pieņēmi vienādu ar 0, tad plakne iet caur (0,0,0)-punktu, un tad arī viss sanāk. bet ja tev plakne piemēram ir paralēla xOy plankei, un iet caur z=1 punktu, tad kā tu uzdosi plakni ax+by+cz+d=0 formā? Vienīgais kas iespējams ir a=b=0, c=1, d=-1, tb z-1=0!!! |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Tue Feb 08, 2005 10:23 pm Post subject: |
|
GiGa wrote: | sqrt((A.x-B.x)*(A.x-B.x)+(A.y-B.y)*(A.y-B.y)+(A.z-B.z)*(A.z-B.z)) |
s1: ai, ai - nezināji pitagora teorēmu :)) šiten nekāda vektoru algebra nebij vajadzīga, kā vienīgi tas, ka taisnleņķa trijstūrim c*c=a*a+b*b |
|
Back to top |
|
|
s1 Guest
|
Posted: Wed Feb 09, 2005 9:53 pm Post subject: |
|
Nu, jā, matemātika nav mana stiprā puse. Man vēl īsti nav skaidrs par to d. Tas, ka d ir attālums no koord. centra (0,0,0) līdz trīstūrim, tas man pieleca, taču kur ir tā vieta trīstūrim, no kurienes tiek mērīts d ??? un vispār, kā lai to d aprēķina?
es atvainojos, laikam es jums visiem esmu kārtīgi izbesījis |
|
Back to top |
|
|
GiGa Indago Uzvarētājs
Joined: 25 Sep 2003 Posts: 887
|
Posted: Wed Feb 09, 2005 10:03 pm Post subject: |
|
s1, nu kuraa klasee Tu maacies? :)
Attalumu meera no punkta novelkot perpendikulu pret plakni.
Un ja ax+by+cz+d = 0; ,kur a,b,c - triistuura normaales komponentes, un x,y,z - jebkura punkta, kas atrodas uz plaknes koordinaates, tad tik tieshaam tik gruuti izdomaat, kaa apreekinaat d? _________________
Last edited by GiGa on Thu Feb 10, 2005 9:22 pm; edited 1 time in total |
|
Back to top |
|
|
s1 Guest
|
Posted: Wed Feb 09, 2005 10:17 pm Post subject: |
|
Giga, no tava teiktā es sapratu ka d ir attālums no kautkāda brīvi izvēlēta punkta līdz trīstūrim. Bat, ja punkts nav virs plaknes, tad nevar novilkt perpendikulu pret plakni. ?????? |
|
Back to top |
|
|
s1 Guest
|
Posted: Wed Feb 09, 2005 10:29 pm Post subject: |
|
Te ir bilde
Sanāk, ka d ir PO?
Kāpēc man rodas problēmas, jo tā ir 3 dimensiju telpa. |
|
Back to top |
|
|
GiGa Indago Uzvarētājs
Joined: 25 Sep 2003 Posts: 887
|
Posted: Wed Feb 09, 2005 10:37 pm Post subject: |
|
d ir attaalums no (0,0,0) punkta liidz plaknei! Tavs ziimejums buutu pareizs, un d buutu PO (nu iisteniibaa -PO), ja P=(0,0,0);
Un d=-ax-by-cz; jeb d=-dot(Normal,Vertex); _________________
|
|
Back to top |
|
|
s1 Guest
|
Posted: Fri Feb 11, 2005 12:48 pm Post subject: |
|
Giga, vai šādi būs pareizi taisīt kolīziju:
d := -ax+-by-cz;
if(ax+by+cz+d = 0)then sadursme := TRUE else sadursme := FALSE; ? |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Fri Feb 11, 2005 1:33 pm Post subject: |
|
Statiskai pasaulei - jā. Animācijai - nē.
Jo animējot (modelējot) kustību, tā visa kustēšanās notiek diskrēti, tb, vienu brīdi objekts atrodās punktā 1, nākamajā kadrā punktā 2. Bet ja pa vidu ir siena (teiksim punktā 0.5), tad tavā gadījumā (salīdzinot ar 0) netiks atrasta šī sadursme. Precīzāk būtu meklēt līniju (nevis punkta) kolīzijas ar plakni. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|