Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Die Geometrie der Ebene

Ähnliche Präsentationen


Präsentation zum Thema: "Die Geometrie der Ebene"—  Präsentation transkript:

1 Die Geometrie der Ebene 19.11.2009
Universität zu Köln Wintersemester 2009/2010 Softwaretechnologie II (Teil 1) Dozent: Prof. Dr. Manfred Thaller Referentin: Sarah Burmann Die Geometrie der Ebene

2 Inhalt 1. Koordinaten und Vektoren (geometrische Grundlagen) 2. Bewegungen 3. Projektionen

3 1. Koordinaten und Vektoren (geometrische Grundlagen)
Definition und einfache Rechenoperationen Vektoren sind Pfeile mit einer bestimmten Länge und Richtung in einem Koordinatensystem Länge des Vektors v=(a,b)wird bezeichnet durch |v| wird in den Koordinatenabschnitten berechnet durch |v|=√a²+b² (Satz des Pythagoras)

4 1. Koordinaten und Vektoren (geometrische Grundlagen)
Definition und einfache Rechenoperationen Multiplikation Vektoren können mit einem Faktor c (Skalar) koordinatenweise multipliziert werden, der entsprechende Pfeil verlängert oder verkürzt sich so v=(a,b) multipliziert mit dem Faktor c => c*v=c*(a,b)=(c*a,c*b) Addition 2 Vektoren können koordinatenweise addiert werden v1=(a1,b1) und v2=(a2,b2) => v1+v2=(a1,b1)+(a2,b2)=(a1+a2,b1+b2)

5 1. Koordinaten und Vektoren (geometrische Grundlagen)
Definition und einfache Rechenoperationen Skalarprodukt Macht aus zwei Vektoren eine Zahl (Skalar) Das Skalarprodukt zweier Vektoren a und b besitzt folgende Eigenschaften: ab > 0 genau dann, wenn a und b einen spitzen Winkel einschließen ab < 0 genau dann, wenn a und b einen stumpfen Winkel einschließen ab = 0 genau dann, wenn a und b orthogonal zueinander stehen Formel zur Berechnung <a,b>=a1*b1+a2*b2

6 1. Koordinaten und Vektoren (geometrische Grundlagen)
Definition und einfache Rechenoperationen Multiplikation mit Skalar und Addition ermöglichen die Berechnung jedes Vektors in der Ebene aus den Einheitsvektoren Einheitsvektoren: stehen senkrecht mit der Länge 1 aufeinander und spannen die gesamte x-y-Ebene auf e1=(1,0) und e2=(0,1)

7 1. Koordinaten und Vektoren (geometrische Grundlagen)
Definition und einfache Rechenoperationen Polarkoordinatendarstellung Darstellung eines Vektors nicht durch seine x- und y-Koordinaten, sondern durch seine Länge r und den Winkel α (α = Winkel zwischen Vektor und x-Achse) hilfreich, wenn das Verhältnis zweier Punkte leichter durch Winkel und Abstände zu beschreiben sind, als durch x- und y-Koordinaten Beispiel: Punkt p (3,4) lässt sich auch angeben durch die Länge des Vektors zu Punkt p =√3²+4² = 5 und dem Winkel α der sich mithilfe der Winkelfunktionen (s.u.) berechnen lässt. Dieser wird gewöhnlich im Bogenmaß angegeben. α

8 1. Koordinaten und Vektoren (geometrische Grundlagen)
Definition und einfache Rechenoperationen Winkelmessung Bogenmaß eines Winkels = Verhältnis der Länge des Kreisbogens zum Radius Einheitskreis Kreis mit dem Radius 1 und dem Umfang 2∏ (Drehung gegen den Uhrzeigersinn) Jeder Winkel hat ein Bogenmaß zwischen 0 und 2∏ (45° = ∏/4; 90° = ∏/2; 180° = ∏; 270° = 3∏/2; 360° = 2∏)

9 1. Koordinaten und Vektoren (geometrische Grundlagen)
Definition und einfache Rechenoperationen Sinus- und Cosinus-Funktionen a = Gegenkathete b = Ankathete c = Hypotenuse Berechnung von Sinus sin(α)=Gegenkathete/Hypotenuse=a/c Berechnung von Cosinus cos(α)=Ankathete/Hypotenuse=b/c

10 1. Koordinaten und Vektoren (geometrische Grundlagen)
Definition und einfache Rechenoperationen Sinus- und Cosinus-Funktionen Die Hypotenuse im Einheitskreis ist 1(Hypotenuse=Radius), daher entspricht der Cosinus des Winkels α immer der Länge der Ankathete von α. Der Sinus des Winkels α entspricht der Länge der Gegenkathete von α => cos(α) liefert den x-Wert eines Punktes p => sin(α) liefert den y-Wert eines Punktes p => p=(x,y)=(cos(α),sin(α)) Wird der Radius r beliebig verändert, wird die Formel entsprechend erweitert p=(r*cos(α),r*sin(α))=r*(cos(α),sin(α))

11 1. Koordinaten und Vektoren (geometrische Grundlagen)
Definition und einfache Rechenoperationen Projektion von Vektoren Projektionen eines Vektors b auf einen Vektor a ergeben sich aus dem Produkt der Länge des Projektionsvektors b‘ mit dem zu dem Vektor a parallel liegenden Einheitsvektor. Vereinfacht kann die Formel (<a,b>/|b|²)*b angewendet werden.

12 2. Bewegungen Allgemein Jede Bewegung im 2-dimensionalen Raum setzt sich aus Verschiebungen und Drehungen um den Koordinatenursprung zusammen Drehungen die nicht um den Koordinatenursprung erfolgen werden zunächst in den Koordinatenursprung verschoben, um diesen gedreht und wieder zurück verschoben Verschiebung in den Koord.Ursprung Drehung gegen den Uhrzeigersinn Rückverschiebung Ausgangssituation

13 2. Bewegungen Verschiebungen Verschiebungen (Translationen) werden mithilfe von Addition der Koordinatenwerte und deren Versatz durchgeführt Beispiel: Der Vektor (2,3) soll um den Wert (10,6) verschoben werden => (2,3)+(10,6)=(12,9)

14 2. Bewegungen Drehungen Drehungen eines Punktes (x,y) erfolgen durch die Drehung des Koordinatensystems um einen Winkel α gegen den Uhrzeigersinn Der neue Punkt (x´,y´) ergibt sich aus der Formel (x,y)=(cos(α )*x-sin(α )*y),(sin(α )*x+cos(α )*y) α O (x,y) O (x´,y´)

15 Skalierung (zoom in, zoom out)
2. Bewegungen Skalierung (zoom in, zoom out) Skalierungen dienen der Vergrößerung und Verkleinerung von Objekten Berechnung erfolgt durch das Einsetzen eines Skalierungsfaktors in x- und y-Richtung Der zu skalierende Punkt wird zunächst in den Koordinatenursprung geschoben, gezoomt und in seinen Ausgangspunkt zurückverschoben Durch die Anwendung unterschiedlicher Faktoren in x- und y-Richtung erfolgt eine Verzerrung Negative Faktoren erzeugen eine Spiegelung Formel: x`=r*x y`=s*y (hier: r=s=2) (1,5;2) (2*1,5;2*2)=(3,4)

16 2. Bewegungen Bisherige Rechenoperationen im Überblick Verschiebung von (x,y) um (u,v) x´=x+u y´=y+v Drehung von (x,y) um den Winkel α entgegen dem Uhrzeigersinn x´=cos(α)*x-sin(α)*y y`=sin(α)*x+cos(α)*y Skalierung von (x,y) mit den Faktoren r und s x`=r*x y`=s*y

17 2. Bewegungen Einführung von Matrizen Um alle bisher genannten Rechenoperationen zu vereinfachen, werden nachfolgend Matrizen verwendet Mithilfe von Matrizen werden die einzelnen Rechenschritte verkürzt, so dass mit einer Rechenoperation beispielsweise die Verschiebung eines Punktes p mit (x,y) in den Koordinatenursprung, seine Drehung in den Punkt p` mit (x´,y´) und die Rückverschiebung in den Ausgangspunkt berechnet werden können

18 2. Bewegungen Rechnen mit Matrizen Eine Matrix besteht aus m-Zeilen und n-Spalten Sie beinhaltet somit m*n Zahlen Multiplikation mit Matrizen: 2 Matrizen können miteinander multipliziert werden, wenn die erste Matrix genau so viele Spalten, wie die zweite Matrix Zeilen hat * =

19 2. Bewegungen Rechnen mit Matrizen Beispiel-Rechnung: 1. Beispiel (rot): 0*4+(-1)*2+(-2)*1=-4 2. Beispiel (grün): (-1)*0+3*5*0*(-2)=15 2 1 3 1 0 2 -1 3 0 4 0 2 5 -4 -1 * =

20 2. Bewegungen Generierung von Matrizen für die einzelnen Operationen Für jede Bewegung von (x,y) -> (x‘,y‘) kann man verallgemeinert schreiben x‘ =a*x+b*y+c y‘=d*x+e*y+f wobei a-f geeignete Koeffizienten sind Beispiel: Bei der Verschiebung ist a =1; b = 0, c =u, d = 0; e =1, f=v Damit ergibt sich x‘=1*x+0*y+u = x + u y‘= 0*x+1*y+v= y +v

21 2. Bewegungen Generierung von Matrizen für die einzelnen Operationen Der Einfachheit halber ergänzen wir dieses System um eine Variable w (und die Koeffizienten g, h und i) w wird gleich 1 gesetzt und keine weiteren Rechenoperationen im 2-dimensionalen Raum mit dieser Variable durchgeführt Unser Gleichungssystem ist dann (x,y,w) -> (x´,y´,w´) x‘ =a*x+b*y+c y‘=d*x+e*y+f w´=0*x+0*y+1*w Dies ermöglicht es uns jede Bewegung als 3x3 Matrix zu schreiben. Somit sind alle Matrizen miteinander kombinierbar

22 2. Bewegungen Generierung von Matrizen für die einzelnen Operationen Aus dem Gleichungssystem (wie oben bereits eingeführt) (x,y,w) -> (x´,y´,w´) x‘ =a*x+b*y+c y‘=d*x+e*y+f w´=0*x+0*y+1*w ergibt sich die Matrix a d 0 b e 0 c f 1

23 Erweiterung der bisherigen Rechenoperationen mit Matrizen
2. Bewegungen Erweiterung der bisherigen Rechenoperationen mit Matrizen Verschiebung von (x,y) um (u,v) x´=x+u als Matrix y´=y+v Drehung von (x,y) um den Winkel α entgegen dem Uhrzeigersinn x´=cos(α)*x-sin(α)*y als Matrix y`=sin(α)*x+cos(α)*y Skalierung von (x,y) mit den Faktoren r und s x`=r*x als Matrix y`=s*y 1 0 0 0 1 0 u v 1 cos(α) sin(α) 0 -sin(α) cos(α) 0 0 0 1 r 0 0 0 s 0 0 0 1

24 2. Projektionen Einführung Nachfolgend befassen wir uns mit zwei Arten von Projektionen Orthogonale Projektion Perspektivische Projektion Orthogonale Projektionen sind senkrechte Projektionen, bei denen alle Punkte senkrecht auf eine Projektionsgerade projiziert werden. Bei perspektivischen Projektionen verlaufen die Projektionen nicht orthogonal, sondern auf den Blickpunkt hin. Dadurch erscheinen näher liegende Objekte größer und entferntere kleiner. Hier wird die x‘ –Koordinate nicht nur durch die x-Koordinate eines Punktes P beeinflusst, sondern auch durch die y-Koordinate

25 Orthogonale Projektionen
Der Punkt P des 2-dimensionalen Objekts wird senkrecht auf die 1-dimensionale Projektionsgerade g projiziert a ist die Distanz vom Blickpunkt bis zur Projektionsgeraden b ist die Distanz vom Blickpunkt bis zur maximalen Sichtweite alle Objekte zwischen a und b werden auf die Projektionsgerade Projiziert d ist die Breite des Sichtfensters (vom Blickpunkt aus sieht man d/2 nach rechts und d/2 nach links) Fensterbreite d Kamera a b Q=(x´,y´) P=(x,y) g

26 2. Projektionen Orthogonale Projektionen Zwei Informationen werden zur Projektion benötigt 1. Wird der Punkt P auf eine Stelle innerhalb des Sichtfensters projiziert? 2. Befindet sich der Punkt eher im Vordergrund oder im Hintergrund? Die Projektion von einem 2-dimensionalen Objekt auf eine 1-dimensionale Projektionsfläche (Gerade g) erfordert trotzdem 2 Koordinaten Eine Koordinate x´ die die Projektion des Punktes x auf der Projektionsgeraden angibt, aus der man außerdem ablesen kann ob die Projektion sich innerhalb des Fensters befindet. Rechnerisch ergibt sich x‘ = x/(d/2) -> 2x/d liegt x´ in einem Bereich von -1 und +1, befindet sich der projizierte Punkt x´ innerhalb des Sichtfensters auf der Projektionsgeraden g

27 2. Projektionen Orthogonale Projektionen Beispiel: d=10 (die Fensterbreite hat einen Bereich von -5 bis +5) der x-Wert von P ist 4 => x‘ = x/(d/2) -> 2x/d => x´= (2*4)/10=0,8 Da das Ergebnis von 0,8 zwischen -1 und +1 liegt, befindet sich der projizierte Punkt auf der innerhalb des Sichtfensters Gegenbeispiel: der x-Wert von P ist 10 => x´= (2*10)/10=2 (das Ergebnis liegt außerhalb des sichtbaren Bereichs)

28 Orthogonale Projektionen
2. Es wird eine Koordinate benötigt, die angibt, wie weit der Punkt P im Vordergrund liegt. Die y`-Koordinate der y-Koordinate des projizierten Punktes einen Wert zwischen 0 und 1 haben Je näher y´ an 0 liegt, desto weiter befindet sich der Punkt im Vordergrund. Es ergibt sich folgende Transformation y‘ = 1/(b-a) * y – a/(b-a) Die Transformationsmatrix für x´ und y´ sieht wie folgt aus: (2/d 0 0 0 1/(b-a) 0 0 -a/(b-a) 1

29 Perspektivische Projektionen
Fensterbreite d Kamera a b Q=(x´,y´) P=(x,y) g

30 Perspektivische Projektionen
Beispiel Ein Punkt P₁ ist weiter von der Projektionsgeraden g entfernt als ein Punkt P₂. Obwohl beide Punkte den gleichen x-Wert haben muss der x‘-Wert von P₁ kleiner sein als der x´-Wert von P₂. =>Die Strecke vom Bildmittelpunkt zu Punkt P₁ erscheint damit kleiner. P1 P2 P2´ P1´

31 2. Projektionen Perspektivische Projektionen Aufgrund der Strahlensätze muss dabei das Verhältnis von x zu y gleich dem Verhältnis von x‘ zu a sein. Es gilt: x‘/a = x/y -> x‘=(a/y)*x Da wir wie bei der orthogonalen Projektion auf einen Wert zwischen -1 und 1 kommen wollen, teilen wir wiederum durch d/2. Es ergibt sich also: x‘ = 2a/(d*y)

32 Perspektivische Projektionen
Die Projektion kann so nicht in eine Matrix eingefügt werden, da y kein Koeffizient, sondern eine Koordinate ist. y kann sich also mit jedem Punkt ändern. Das das Problem zu lösen, benutzen wir die bisher nicht benutzte w-Koordinate (2*a)/d 0 0 0 0 1 0 0 0

33 Perspektivische Projektionen
Es ergibt sich folgende Rechenoperation (x y 1) * = ( ( (2*a)/d)*x y) Das Ergebnis hat zwei Unzulänglichkeiten: x´ wurde noch nicht durch y geteilt Als w´ haben wir nicht 1, sondern y. (2*a)/d 0 0 0 0 1 0 0 0

34 2. Projektionen Perspektivische Projektionen Das Ergebnis hat zwei Unzulänglichkeiten: x´ wurde noch nicht durch y geteilt Als w´ haben wir nicht 1, sondern y. Beide Probleme können gelöst werden, indem das gesamte Ergebnis durch y geteilt wird ( ((2*a)/d) *x y) -> ( ( (2*a)/d*y)*x )

35 Perspektivische Projektionen
Damit führen wir eine neue Art Operation ein: => Nach der Matrix-Multiplikation wird zurückskaliert Von der Zurückskalierung ist natürlich auch der y‘-Wert betroffen. Daher wird hier, anstatt der o. g. Transformation, Folgende benutzt y‘ = b/(b-a) – (a*b)/(b-a) Die Matrix für eine perspektivische Projektion lautet demnach: Anschließend muss, wie oben beschrieben, zurückskaliert werden (2*a)/d 0 0 0 b/(b-a) 1 0 -(a*b)/(b-a) 0


Herunterladen ppt "Die Geometrie der Ebene"

Ähnliche Präsentationen


Google-Anzeigen