From veky@student.math.hr Sun Dec 14 16:30:17 2003 Subject: Re: Tocke na pravcu? Lines: 141 Message-ID: <slrnbtouo4.ftk.veky@student.math.hr> References: <brhibc$th2$1@ls219.htnet.hr> In article <brhibc$th2$1@ls219.htnet.hr>, w3r3w0lf wrote: >Kako odrediti da li 3 tocke leze na istom pravcu? [lesson title="3 tocke kolinearne?"] Uzmes ravnalo, povuces pravac i vidis. :-) No dobro, pretpostavljam da pricas analiticki, odnosno da imas koordinate tocaka, te trebas nesto racunati s njima. U tom slucaju vjerujem da ces dobiti hrpetinu odgovora s jednadbama pravca, ciji ce autori vjerojatno svi do jednoga zaboraviti na slucaj kad su dvije (ili sve tri) tocke okomite jedna na drugu... :-b pa cu ja pokusati biti malo originalniji. Za pocetak, pretpostavimo da pricas o tockama u ravnini. Ako ih imas zadane s vise koordinata, neke stvari koje cu reci ti takoder mogu pomoci, iako ces trebati mozda malo vise pisati (ovisno o tome koliko si apstraktni tip:). No cisto teoretski, svejedno je... u kakvom god linearnom prostoru se nalazile, tri tocke nikad ne mogu razapeti vise od ravnine - odnosno, uvijek mozes naci ravninu u kojoj leze sve tri. Kako se to prakticno radi, vec je tema za neki drugi lesson... no i ovdje imas dovoljno hintova. Dakle, tri tocke, (x1,y1),(x2,y2),(x3,y3) . Prvo nam trebaju tri "genericke" tocke koje nisu na istom pravcu... naravno, prvo nam na pamet padaju O=(0,0), E1=(1,0) i E2=(0,1) . Te tri tocke, na kraju krajeva, defaultno razapinju x-y ravninu u kojoj se nalazimo. Ako je shvatimo kao vektorski prostor, tada dva vektora koja te tri tocke cine, OE1=(1,0)-(0,0)=(1,0)=i. & OE2=(0,1)-(0,0)=(0,0)=j. , tvore kanonsku bazu za taj prostor. "Baza" znaci da je _skup izvodnica_ (tj. za svaki vektor u toj ravnini postoji bar jedan njegov zapis kao linearna kombinacija i. i j. ), i da je _nezavisan_ (za svaki vektor u toj ravnini postoji najvise jedan njegov zapis kao linearna kombinacija i. i j. - ovo se obicno kaze u malo drugacijem obliku: buduci da za nulvektor zapis sigurno postoji: 0i.+0j. ; nezavisnost se moze karakterizirati (oduzimanjem svevsi na nulvektor) kao cinjenica da se nulvektor ne moze zapisati ni na koji drugi nacin kao linearna kombinacija i. i j. ). Naravno, dokazati nezavisnost od i. i j. je prilicno trivijalno ( 0_2 = (0,0) = a i. + b j. = a (1,0) + b (0,1) = = (a,0)+(0,b) = (a,b) => a=b=0 ), no to nam daje i opcenitu metodu. So, shvatimo jednu od gornje tri tocke (npr. (x1,y1) ) kao ishodiste, i pogledajmo vektore koje iz nje tvore ostale dvije. Naravno, to su i':=(x2-x1,y2-y1) i j':=(x3-x1,y3-y1) . Sad, ako su te tri tocke na istom pravcu, vektori i' i j' ce imati isti pravac nositelj, i sigurno ce se jedan moci izraziti kao drugi puta neki skalar. No tad je jasno (prebacimo sve na jednu stranu) da imamo prikaz nulvektora kao linearne kombinacije njih dvojice, s koeficijentima od kojih je jedan jednak 1 , pa nije gornjeg oblika ( 0i'+0j' ). Dakle, i' i j' nisu nezavisni. S druge strane, ako te tri tocke _nisu_ na istom pravcu, linearno ce biti u istom medusobnom odnosu kao i O , E1 i E2 - odnosno, razapinjat ce cijelu ravninu. Vektori i' i j' ce tada biti takoder u istom odnosu kao i i. i j. , odnosno, bit ce linearno nezavisni. Vidimo da se sve svodi na (ne)zavisnost od i' i j' , odnosno na (ne)cuvanje nezavisnosti prilikom prebacivanja s i. i j. na i' i j' . Pokusajmo to prebacivanje interpretirati u math-stilu. Ako promatramo preslikavanje koje preslikava i.|->i' & j.|->j' , tad ga mozemo i na svim ostalim vektorima definirati (jedinstveno) tako da cuva linearnu kombinaciju (uzmem vektor, prikazem ga (na jedinstven nacin - gle definiciju baze) kao linearnu kombinaciju ai.+bj. , i u njoj zamijenim ono sto moram. Dobijem ai'+bj' , sto je slika pocetnog vektora). Preslikavanje na vektorskom prostoru koje cuva linearnu kombinaciju zove se _linearni operator_, i moze se zapisati kao matrica, s tim da ako se vektori shvate kao stupci, djelovanje tog operatora na neki vektor je upravo mnozenje pripadnog stupca tom matricom. U nasem primjeru, covjek zeli (x,y) preslikati ovako: (x,y)=xi.+yj.|->xi'+yj'=x(x2-x1,y2-y1)+y(x3-x1,y3-y1)= =(x(x2-x1),x(y2-y1))+(y(x3-x1),y(y3-y1))= =(x(x2-x1)+y(x3-x1),x(y2-y1)+y(y3-y1)) , pa je jasno da treba stupac [ x ] pomnoziti (slijeva) matricom A:=[ x2-x1 y2-y1 ] , odnosno [ y ] [ y2-y1 y3-y1 ] A je matrica tog linearnog operatora (primijetimo da su stupci od A upravo vektori i' i j' , uz gornje shvacanje vektora kao stupaca). Super. E sad, ako su one tri genericke tocke s pocetka i nase tri tocke toliko ravnopravne, tada ocito mozemo ici i u suprotnom smjeru - samo treba i' i j' shvatiti kao bazu. Zapravo, "ako i samo ako" - jer ako te tri tocke leze na istom pravcu, svaka vrijednost koju nam A dade ce kao linearna kombinacija i' i j' lezati na tom istom pravcu, te ce "matrica unatrag" biti samo 1x1 , i nece nikako moci dati polaznu cijelu ravninu. Sto znaci "u suprotnom smjeru"? Pa, gore pise glimpse... ako taj operator nazovemo _inverzom_ ovog dosad promatranog, a njegovu matricu oznacimo s A^- , htjeli bismo da na bilo koji vektor v , kad djelujemo prvo s A pa onda s A^- (u mathu se kaze, djelujemo kompozicijom A^- o A ), dobijemo ponovo vektor v . Dakle, A^- A je operator (ocito linearan:) koji svaki vektor ostavlja na miru. Takav se zove identiteta, a njegova matrica oznacava se s I . Kompoziciji linearnih operatora odgovara mnozenje matrica (zato i jest tako "komplicirano" definirano:), dakle, A^- . A = I . Sjajno. Zakljucak: stvar smo uspjeli svesti na postojanje tzv. inverza matrice A , koja je pomocu koordinata koje imamo izrazena gore. Sad se idemo baciti na trazenje matrice I , i matrice A^- . I je lako... ona preslikava i.|->i. & j.|->j. , pa ima u stupce poslozene upravo te vektore, odnosno jednaka je [ 1 0 // 0 1 ] ( "//" je novi red:). A^- ... ne znamo nista o komponentama, ali znamo da je 2x2 ... ako komponente od A oznacimo redom s a , b , c i d (ne da mi se pisat one silne razlike xeva i ya ), promotrimo za pocetak matricu A^~~=[d -b] . Buduci da je A=[a b], njihov umnozak je [-c a] [c d] A^~~.A=[d -b].[a b]=[da-bc db-bd ]=[ad-bc 0]=(ad-bc)[1 0]=(ad-bc)I [-c a] [c d] [-ac+ca -cb+ad] [0 ad-bc] [0 1] . Dakle, kad bismo podijelili A^~~ s ad-bc (broj koji se inace zove determinanta matrice A ), dobili bismo A^- . Dakako, uvjet da to mozemo napraviti je ad-bc!=0 . S druge strane, ako su vektori i' i j' zavisni (primijetimo da je i'=(a,c) & j'=(b,d) - stupci matrice A ), tad se jedan moze izraziti kao neki k puta drugi... svejedno koji. Recimo i' = k j' . Iz toga a=kb & c=kd , pa je ad-bc=kbd-bkd=0 . Etoga. Uvjet smo sveli na racunanje izraza ad-bc , za a:=x2-x1 , b:=x3-x1 , c:=y2-y1 , d:=y3-y1 (odnosno, determinante matrice A ). Ako je taj izraz jednak nuli, tocke su na istom pravcu. Inace nisu. Moguce je jos malo tweakati tu stvar, ako znas za determninante 3x3... ad-bc=(x2-x1)(y3-y1)-(x3-x1)(y2-y1)= =x2y3-x2y1-x1y3+x1y1-x3y2+x3y1+x1y2-x1y1= =(x1y2-x2y1)-(x1y3-x3y1)+(x2y3-x3y2)= =1*det[x1 x2//y1 y2]-1*det[x1 x3//y1 y3]+1*det[x2 x3//y2 y3]= [ 1 1 1 ] [1 x1 y1] (*Laplace, 1. redak*)=det[ x1 x2 x3 ]=det[1 x2 y2] . [ y1 y2 y3 ] [1 x3 y3] Mozda prepoznajes dio formule za povrsinu trokuta u ravnini, zadanog koordinatama vrhova... sto uopce nije cudno. Naime, tri tocke su)na istom pravcu akko je povrsina trokuta omedenog njima jednaka nuli. ;-) [/lesson] Znam da sam zakomplicirao... that was intended :-). Mozda ovamo svrati neki brucos s matha do sutra ujutro, kad je kolokvij iz linearne... ;-... -- Veky ... da nisu bas sve kao ja ...