2.2. Az egyenes és a sík egyenlete
Mire kell az analitikus geometria? Geometriai modell: pontok, vonalak, felületek és testek tárolása (reprezentációja) Átalakítások: geometriai számítások transzformációk Rajzolás: geometrikus képek; vetületek - transzformációk
Egy alakzat egyenlete … 3x + 4y = 6 : egy egyenes egyenlete; egyenlőség, az egyenes pontjaira, másra nem ax + by + c = 0: az egyenes (általános) egyenlete; paraméteres egyenlőség, minden (a,b,c)-re egy egyenes egyenlete, és minden egyeneshez van ilyen (a,b,c) De y = m x + b : nem minden egyeneshez van (m,b) !
Egy alakzat egyenlete … ax + by + c < 0 : egy félsík egyenlőtlensége y = f( x ), z = g( x, y ) : explicit (kifejezett) egyenletek h( x, y ) = 0, : implicit egyenlet pl. x2 + y2 -1 = 0 x = u( t ), y = v( t ); a t b : paraméteres egyenletrendszer pl. x = r ∙ cos t, y = r ∙ sin t, z = v ∙ t ; 0 t < T
2. 2. 1. Egyenesek egyenlete (E 2, 3). hogyan adjuk meg 2.2.1. Egyenesek egyenlete (E 2, 3) hogyan adjuk meg? hogyan tároljuk? hogyan számolunk vele?
Két pontjával adott egyenes (E 2, 3) Hogyan adhatjuk meg? (például) type Gxyz = real; // vagy double ? type Gpoint = record x, y [, z] : Gxyz; end; type Gline_pp = record P, Q : Gpoint; end; ------- type Gvector = record x, y [, z] : Gxyz; end; 2009.08 6
Az egyenes paraméteres egyenlete (E 2, 3) Adott: P = (px, py [,pz] ) és Q = (qx, qy [,qz] ) Az egyenes minden X pontjához van olyan t R hogy: X = P + t · (Q - P) = (1 - t) · P + t · Q ; - és minden ilyen t-hez tartozik egy X PQ Az összetevőkre hasonlóan: x = px + t · (qx – px), azaz: x = (1 – t) · px + t · qx, y = py + t · (qy – py), y = (1 – t) · py + t · qy, [ z = pz + t · (qz – pz), z = (1 – t) · pz + t · qz ] 2009.08 7
X = (1 – t) · P + t · Q ; ::: t értéke a szakaszon és azon kívül ! ::: egyenlőközű t értékek: egyenlőközű pontok, ::: t és (1 – t): X baricentrikus koordinátái az egyenesen, a P,Q alappontokra vonatkozóan ::: a baricentrikus koordináták affin invariánsak ! P Q t < 0 t = 0 t > 1 0 < t < 1 t = 1
Példa: két egyenes metszéspontja (E 2) Adott egy egyenes P = (px, py) és Q = (qx, qy) pontjával Adott egy másik; R = (rx, ry) és S = (sx, sy) pontjával metszéspontjuk: M = (mx, my) 2009.08 9
Példa: két egyenes metszéspontja (E 2) PQ: mx = px + t · (qx - px); RS: mx = rx + t’· (sx - rx) my = py + t · (qy - py) my = ry + t’· (sy - ry) px + t · (qx-px) = rx + t’· (sx-rx), py + t · (qy-py) = ry + t’· (sy-ry) innen: t = …, (és t’ = …), majd ezzel mx = …, és my = … 2009.08 10
Példa: két egyenes metszéspontja (E 2,3) A síkban: 4 egyenlet, 4 ismeretlen: mx, my, t, t’; mx = px + t · (qx - px); mx = rx + t’· (sx - rx) my = py + t · (qy - py) my = ry + t’· (sy - ry) Nincs megoldás, ha PQ || RS, vagy PQ = RS (det. = 0) A térben: 6 egyenlet, 5 ismeretlen: mx, my, mz, t, t’; Az egyenesek a térben lehetnek kitérők ! Megoldás: először egy síkvetületben oldjuk meg, pl. z=0 ezzel kapunk: t és t’ ezzel kiszámítjuk a két egyenesen a z-t 2009.08 11
Példa: egyenes metszése szakasszal (E 2 ): Két egyenes metszéspontját számoljuk és M a szakaszon van, 0 t 1
Az egyenes „irányvektoros” egyenlete (E 2, 3) v = Q – P: az egyenes irányvektora Ha adott P és v : X = P + t · v, x = px + t · vx , y = py + t · vy , [ z = pz + t · v]
Az egyenes normálegyenlete és ennek változatai (E 2)
pontjával és normálisával adott egyenes (E 2) Hogyan adjuk meg? type Gline_np = record P : Gpoint; n : Gvector, end;
Az egyenes normál-egyenlete (E 2) Adott P = (px, py) és n = (nx, ny) Az egyenesen bármely X = (x, y) -re: ( X – P ) · n = 0, azaz: (x - px) · nx + (y - py) · ny = 0, Az egyenesen ( X – P ) · n = 0 egyik oldalán > 0, a másikon < 0. Átrendezve: X · n = P · n azaz: x · nx + y · ny = px · nx + py · ny ( x · a + y · b + c = 0 )
Az egyenes homogén, implicit egyenlete (E 2) Az egyenes X = (x, y) pontjára (E 2): a · x + b · y + c = 0; a2 + b2 0; (a, b) az egyenes egy normálvektora Bármely (a,b,c) egy egyenes paraméterei, és bármely egyeneshez van ilyen (a,b,c) számhármas. Az egyenlet „implicit” (nem explicit) és „homogén”: (a,b,c) (a,b,c) · h; h 0
(a,b,c)-vel adott egyenes (E 2) Hogyan adjuk meg? type Gline_a,b,c = record a, b, c : Gxyz; end;
A homogén, implicit egyenlet … (E 2) – olv. Hesse-féle normál alakban : a’ · x + b’ · y + c’ = 0; a’2 +b’2 =1; (a’; b’) egy normál-egységvektor Salmon féle alakban: x / a” + y / b” = 1 Homogén koordinátákkal; az X = [x, y, w] pontokra (H 2): a · x + b · y + c · w = 0; a2+b2 0; Egy egyenes megadása: [a,b,c] h ·[a,b,c]; a2+b2 0;
Az egyenes egyenlete determináns alakban (E 2) - olv Adott: P = (px, py) és Q = (qx, qy) a síkban (!!!) és egy tetszőleges X = (x, y) pontja d(PQX) = | x y 1 | a háromszög területe x 2. | px py 1 | | qx qy 1 | Ha P, Q, X egy egyenesbe esik, akkor: d(PQX) = 0, azaz (py - qy)x + (qx - px)y + (px qy - py qx) = 0
Az egyenes iskolai „egyenlete” (E 2) - olv y = M · x + B; korlátozott; az x = c egyenesekre nem, Ha lehet kerüljük !!! y2 – y1 Két adott pontján át: y = --------- · (x – x1) + y1; x2 x1!! x2 – x1 átalakítva használható: (x2 – x1) · (y – y1) = (y2 – y1) · (x – x1)
Félsík megadása (E 2) (1) Homogén lineáris egyenlőtlenséggel: a · x + b · y + c < 0; a2 + b2 0; (2) a határ-egyenese: (R, n) „normál-egyenlőtlensége”: ( X – R ) · n < 0, a félsík minden X pontjára n R R
2.2.2. Síkok egyenlete (E 3)
A sík paraméteres egyenlete (E 3)
Három pontjával adott sík Hogyan adjuk meg? Például: type Gplane_ppp = record P, Q, R : Gpoint; end;
A sík paraméteres egyenlete: A síkban adott egy Q pont és az u, v vektor pár : X = Q + s · u + t · v, (a koordinátákra is) A sík három, nem egy egyenesbe eső P, Q és R pontjával X = Q + s·(P-Q) + t·(R-Q), vagy: X = (1-s-t) · Q + s· P + t · R x = qx + s·(px-qx) + t·(rx-qx), vagy: x = (1-s-t)·qx +s·px + t·rx y = qy + s·(py-qy) + t·(ry-qy), vagy: y = (1-s-t)·qy +s·py + t·ry z = qz + s·(pz-qz) + t·(rz-qz), vagy: z = (1-s-t)·qz +s·pz + t·rz.
A sík paraméteres egyenlete: X = Q + s·(P - Q) + t·(R - Q), vagy: X = (1-s-t)·Q + s·P + t·R ha 0 s, t, 1-s-t 1 : a háromszög pontjai, ha egyik nulla: a háromszög egyik oldala, ha kettő nulla (és a harmadik 1): egyik csúcsa, ha valamelyik negatív, vagy >1: a pont kívül van. s, t, 1-s-t : baricentrikus koordináták a síkban
X = (1-u-v) · Q + u · P + v · R ; ::: A háromszögön belül 0 < u, v, u+v < 1 ::: egyenlőközű u,v értékek: egyenlőközű pontok, ::: u, v, és (1-u-v): X baricentrikus koordinátái a síkban, a P,Q, R alappontokra vonatkozóan ::: a baricentrikus koordináták affin invariánsak ! P Q u = 0 0 < u, v, u+v < 1 (u = 1) R v = 0 (v = 1) (u+v=0)
Példa: egyenes döféspontja síkkal A döféspontot jelöljük így: M = (x, y, z ) A PQR síkjának egyenlete: M = (1-u-v) · Q + u · P + v · R ; az ST egyenes egyenlete: M = (1-w) · S + w · T ; A 3+3 egyenlet, 6 ismeretlen: x, y, z, u, v, w; Megoldás: az M két kifejezése egyenlő egymással. Marad 3 egyenlet az u, v, w ismeretlenekre De az egyenes és sík lehetnek párhuzamosak !
A sík egyenlete kifeszítő vektoraival a = P – Q és b = R – Q a síkot kifeszítő két vektor Ha adott Q , a és b, akkor a sík bármely pontjához van u,v: X = Q + u · a + v · b,
A sík normálegyenlete és annak változatai (E 3)
pontjával és normálisával adott sík Hogyan adjuk meg? Például: type Gplane_np = record P : Gpoint; n : Gvector, end;
A sík normálvektoros egyenlete : A sík adott P pontja és n normálvektora: (X - P) · n = 0, illetve: (x-px)·nx + (y-py)·ny + (z-pz)·nz = 0; X · n = P · n, illetve: x·nx+ y·ny+ z·nz = px·nx+ py·ny+ pz·nz x·a + y·b + z·c + d = 0
A sík implicit, homogén egyenlete A sík homogén, implicit egyenlete: a · x + b · y + c · z + d = 0; a2 + b2 + c2 0 Egy sík megadása (tárolása): [a,b,c]; a2 + b2 + c2 0 Homogén koordinátás alakban (H 3): a · x + b · y + c · z + d · w = 0; a2 + b2 + c2 0 Egy sík megadása: [a,b,c,d] h·[a,b,c,d]; a2+b2+c2 0 Tömören: s · X = 0; s = [a, b, c, d] és X = [x, y, z, w] T;
A sík implicit, homogén egyenlete - olv a·x + b·y + c·z + d = 0; a2+b2+c2 0 Hesse-féle normálalak: a’·x+b’·y+c’·z+d’=0; a’2+b’2+c’2=1 Salmon féle alak: x / a” + y / b” + z / c” = 1 determináns alak: 3 nem egy egyenesbe eső adott pont, P = (px, py,, pz,), Q = (qx, qy, qz,), R = (rx, ry, rz,): | x y z 1 | = 0 (az első sor szerint kifejtve …) | px py pz 1 | | qx qy qz 1 | (Az X, P, Q, R tetraéder | rx ry rz 1 | térfogatának 6-szorosa.)
Lássunk a koordináták mögé – t.i. z = 0; mi ez? Egyenlőség, egyenlet, kié-mié? 0 x + 0 y + 1 z + 0 = 0 sík: z = 0 és akármilyen x, y; az XY sík x + y = 0 mi az? HF !
A sík homogén koordinátás egyenlete Egy P pont homogén(-koordinátás) alakja (h≠0): P = [p1, p2, p3, p4]T h·[p1, p2, p3, p4]T; pi nem mind 0 Egy s sík homogén(-koordinátás) alakja (h≠0): s = [s1, s2, s3, s4] h·[s1, s2, s3, s4]; si nem mind 0 Az s sík egyenlete: az s minden X pontjára: s · X = 0, azaz: s1·x1 + s2·x2 + s3·x3 + s4·x4 = 0 Az ideális sík homogén alakja: [0, 0, 0, c ]; c 0 (Minden pontja ideális pont: [x, y, z, 0] )
Nevezetes pontok és síkok homogén alakja Bármilyen c 0 számmal [0, 0, 0, c] T az origó, [c, 0, 0, 0] T az X tengely ideális pontja, [0, c, 0, 0] T az Y tengely ideális pontja, [0, 0, c, 0] T a Z tengely ideális pontja, [0, 0, 0, c] az ideális sík, (rajta van: [x,y,z,0]) [c, 0, 0, 0] az YZ (x = 0) koordináta-sík; pontjai: [0, y, z, h] [0, c, 0, 0] az XZ (y = 0) sík, [0, 0, c, 0] az XY (z = 0) sík homogén alakja.
További példák …
Egyenes döféspontja háromszöggel (E 3): t.i. Adott egy háromszög A, B, C csúcsai, síkjának egyenlete: X = B + s · (A - B) + t · (C - B) Adott egy egyenes P, Q pontjaival. az egyenes egyenlete: X = P + u · (Q - P). döféspont: [ X = ] B + s · (A - B) + t · (C - B) = P + u · (Q - P) 3 egyenlet; 3 ismeretlen: t, s, u; ezekből számolható X. Ha 0 s, t, 1-s-t 1, akkor X a háromszögben van. (Nincs megoldás: párhuzamosak, vagy egybe esnek.)
Áttérés egy másik egyenletre – t.i. Adott (a,b,c): a · x + b · y + c · z + d = 0 Írjuk föl a normál egyenletét: (X – R) · n = 0 Ehhez kell egy R pontja és egy n normálisa. a,b,c nem mind 0, ezért lehet R = (-d / a, 0, 0), vagy: (0, -d / b, 0), vagy (0, 0, -d / c) és egy n := (a, b, c);
Példa: hátsó lapok ritkítása - olv Egy poliédert a C pontból (kamera) nézünk. Melyik lapok láthatók, melyek takartak? nq (PQ normálisa) és a CQ vektor tompa szöget zár be, CQ · nQ < 0 PQ látható np (PT normálisa) és a CP vektor hegyes szöget zár be, CP · nP > 0 PT nem látható Egy ABC lap normálisa: n = (A - B) x (C - B); (kívölről nézve KNÓJEI = CCLW)