• Keine Ergebnisse gefunden

Ubungen zu Computergraphik - Blatt 2 ¨

N/A
N/A
Protected

Academic year: 2021

Aktie "Ubungen zu Computergraphik - Blatt 2 ¨"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof. G. Zachmann D. Mohr

Universit¨at Bremen Fachbereich 3 Arbeitsgruppe CGVR

22. Oktober 2013

Wintersemester 2013/14

Ubungen zu Computergraphik - Blatt 2 ¨

Abgabe am 29. 10. 2013

Aufgabe 1 (Vektoren, 2 Punkte)

Finde einen Vektor, der orthogonal zuv= (−1,2) ist.

Aufgabe 2 (Vektoroperationen, 2+2 Punkte )

Gegeben seien zwei Vektorenb,c6= 0 imRn.

a) Geben Sie an, welche Bedingung Vektora erf¨ullen muss, damit a×b=a×c

gilt. (Es gibt noch eine weitere L¨osung außer der trivialen L¨osunga= 0!) Dies zeigt, dassa×b= a×c6⇒b=c!

b) Zeigen Sie: falls∀a :a·b=a·cdann folgt darausb=c.

Aufgabe 3 (Abstandsberechnung, 4 Punkte )

Gegeben zwei GeradenL1:x=Q1+td1undL2:x=Q2+sd2im Raum; Geben Sie einen genauen L¨osungsweg zur Bestimmen des minimalen Abstandes der Geraden voneinander an.

Aufgabe 4 (C++-Programmierung, 5 Punkte)

Die folgenden Aufgabenteile sollen in das Framework (siehe Webpage) integriert werden. Die Datei- namen sind gleich benannt wie die Klasse. Schauen Sie sich dazu zuerst die Folien zur C++- Wiederholung auf der VL-Homepage an und bei Bedarf weitere Quellen zu C++ (Links finden siehe auch auf der VL-Homepage). Wie in den C++ Folien erkl¨art, sollen die Deklarationen in eine *.h und die Definition in eine *.cpp Dateien geschrieben werden.

Implementieren Sie eine KlasseVec3zur Repr¨asentation von 3D-Vektoren mit Floating-Point-Zahlen als Werten. Die Klasse sollte folgende Funktionalit¨at bieten:

class Vec3 {

public:

Vec3( ); // constructor, initialized each component with 0

1

(2)

Vec3( float x, float y, float z ); // constructor, initialize with (x,z,y) Vec3( const Vec3& v ); // copy constructor

float normalize( );

private:

// Ueberlegen Sie sich die interne Instanzvariable };

Vec3 cross( const Vec3& lhs, const Vec3& rhs );

float norm2( const Vec3& v ) ; Die Wirkung der Funktionen sei wie folgt:

• Vec3 cross( const Vec3& lhs, const Vec3& rhs );Berechnet das Kreuzprodukt/Vektorprodukt zweier Vektoren.

• float norm2( const Vec3& v ) ;Gibt die euklidische Norm des Vektors zur¨uck.

• float normalize( );Normalisiert einen Vektor und gibt zus¨atzlich die ¨urspr¨ungliche L¨ange des Vektors zur¨uck.

Tip: Schreiben Sie ein kleines Programm zum Testen Ihrer Klassen. Verwenden Sie sinnvolle Einga- bewerte f¨ur Ihre Tests.

2

Referenzen

ÄHNLICHE DOKUMENTE

I Sie haben verstanden, dass Taylor-Entwicklungen ein n ¨utzliches Werkzeug sind, um komplizierte Funktionen lokal durch Poynome zu approximieren. I Sie k ¨onnen mithilfe

Institut f ¨ur Angewandte Mathematik und Wissenschaftliches Rechnen Fakult ¨at f ¨ur Luft- und Raumfahrttechnik.. Universit ¨at der Bundeswehr M ¨unchen (UniBw

I Bereitstellung beweisbarer Aussagen, die im Rahmen einer Theorie g¨ultig sind. Rechenregeln, Existenz- und

I Die Aussage “A impliziert B” ist genau dann falsch, wenn A wahr und B falsch ist.. Aus einer wahren Aussage kann man keine falsche

Dabei kann man f ¨ur jedes Objekt entscheiden, ob es zur Menge geh ¨ort oder nicht. (b) Geh ¨ort ein Objekt x zur Menge M, so schreiben wir x

Weise nach, dass die Regeln A1-A4, M1-M4 und D aus dem Abschnitt ¨uber reelle Zahlen auch f ¨ur komplexe Zahlen gelten...

I Wichtige Begriffe wie lineare (Un-)Abh ¨angigkeit, Basis, Dimension, Untervektorraum wurden eingef ¨uhrt. I Sie k ¨onnen Vektoren auf lineare Abh ¨angigkeit oder Unabh ¨angigkeit

Falls keine hebbaren Polstellen auftreten oder bereits gek ¨urzt wurde: Die Ordnung der Polstelle xs ist gleich der Vielfachheit der Nullstelle x s in q. Ist die Ordnung gerade,