Upload
tokala
View
60
Download
0
Embed Size (px)
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
2.2. Az egyenes és a sík egyenlete
Mire kell az analitikus geometria?
• Geometriai modell:pontok, vonalak, felületek és testektárolása (reprezentációja)
• Átalakítások: geometriai számításoktranszformá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?hogyan tároljuk?hogyan számolunk vele?
2009.08 6
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 7
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 ]
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 < 1t = 1
2009.08 9
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 10
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 11
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
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, ésbá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
R
n
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 !
PQ
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)