• Keine Ergebnisse gefunden

I/T5 - WS 04/05 CR – Übung 7 Termin: 17.-21.12.04 Modellierung eines Schaukelpferdes mit parametrischen Splines und linearer Ausgleichs-rechnung

N/A
N/A
Protected

Academic year: 2021

Aktie "I/T5 - WS 04/05 CR – Übung 7 Termin: 17.-21.12.04 Modellierung eines Schaukelpferdes mit parametrischen Splines und linearer Ausgleichs-rechnung"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

I/T5 - WS 04/05 CR – Übung 7 Termin: 17.-21.12.04

Modellierung eines Schaukelpferdes mit parametrischen Splines und linearer Ausgleichs- rechnung

Die Graphik zeigt den Entwurf eines Schaukelpferdes. Der Körper des Pferdes soll mit Hilfe von parametrischen Splines modelliert werden. Dazu sind die hervorgehobenen Knotenpunkte (ohne die Kufen!) graphisch zu erfassen und zwar folgendermaßen:

An einem Computer im Raum 512 (vorne rechts) ist ein kleines Digitalisiertablett angeschlos- sen, mit dem Sie punktweise Koordinaten einer Zeichnung abgreifen und tabellarisch in einer Textdatei speichern können. Den notwendigen Griffel zur Datenerfassung erhalten Sie leih- weise im Raum 520. Das zugehörige Programm punkte.bat finden Sie auf dem K-

Laufwerk im Ordner WR. Die obige Skizze wird unter die Schutzfolie gelegt und die markier- ten Punkte werden – beginnend mit dem Auge – reihum abgegriffen und in einer Datei na- mens xy.pt in Ihrem Arbeitsverzeichnis gespeichert.

(Ersatzlösung für Heimarbeiter, die kein Digitalisiertablett haben: Graphik einscannen, als Datei pferd.jpg speichern. Mit dem Matlab-Programm punkte.m aus des Lösungsordner können die Punkte abgegriffen und in xy.pt gespeichert werden.)

Das Pferd wird mit parametrischen Splines gezeichnet, in einem 20-fach feineren Raster. Die Kufen sind durch lineare Ausgleichsrechnung zu erzeugen. Dazu wird der optimale Kreisbo- gen durch die 6 Punkte in den Hufen des Pferdes ermittelt (d.h. sein Mittelpunkt ( ,x y0 0) und Radius r0). Der Sektor für die Kufen ergibt sich aus dem Winkel ϕ zwischen dem linken Huf, dem Kreismittelpunkt ( ,x y0 0) und rechten Huf, zuzüglich 20%. Der untere Rand der Kufe entsteht einfach durch Vergrößerung des Radius r0 um 10%.

Soweit der Plan zum Programm. Jetzt kommt die Theorie dazu.

1. Formeln und Vorgehensweise zur Kreisberechnung:

Für die 6 Huf-Punkte (x yn, n) soll die Kreisgleichung: (xnx0)2+(yny0)2 =r02 gelten, die nur die 3 Unbekannten x y r0, 0, 0 enthält, die leider nicht linear vorkommen. Nach Ausmultip- lizieren der Klammern wird die Gleichung umsortiert zu

2 2 2 2 2

0 0 0 0 0

2x xn +2y ynxy +r =xn +yn

(2)

Führt man z=r02x02y02 als neue Variable ein, so entsteht die „linearisierte“ Gleichung

2

0 0

2x xn +2y yn + =z xn +yn2 (1) für die neuen Unbekannten x y z0, 0, . Setzt man hierin der Reihe nach alle 6 Huf-Punkte ein, so entsteht ein überbestimmtes System Bx = c aus 6 Gleichungen für die 3 Unbekannten. Aus seiner Näherungslösung ergibt sich schließlich r0 = z+x02+y02 . Damit sind Kreismittel- punkt ( ,x y0 0) und innerer Kufenradius r0 bekannt, s. Skizze unten. Der Radius r1 des äuße- ren Kufenrands ergibt sich durch Vergrößern von r0 um 10%.

2. Konstruktion der Kufen durch Rastern des Winkelbereichs

Die 6 Huf-Punkte ( ,x yn n) werden jetzt in Polarkoordinaten ( ,rn ϕn) um den Kreismittelpunkt

0 0

( ,x y ) umgerechnet und nach Winkeln ϕn sortiert. Dabei ist 0

0

arctan n

n

n

y y x x

ϕ = ⎜⎝ ⎠⎟. (2)

0 0

( ,x y )

Nach der Sortierung liegt der Sektor der Hufe im Intervall

[

ϕ ϕ1, 6

]

. Um die Kufen (in der Skizze ganz unten) rechts und links etwas überstehen zu lassen, geben wir auf beiden Seiten 20% dazu, d.h. mit h=

(

ϕ ϕ61

)

⋅0, 2 entsteht der „Kufensektor“

[

ϕ1h6+h

]

, den wir für die Zeichnung mit 50 Rasterpunkten ψm belegen wollen. Die Kufen selbst bestehen aus ei- nem inneren Rand aus Punkten

(

xm,ym

) (

= x0+r0cos(ψm),y0+r0sin(ψm)

)

verbunden mit einem äußeren Rand aus Punkten

(

xm,ym

) (

= x0+r1cos(ψm),y0+r1sin(ψm)

)

.

Das Pferd kann nun gezeichnet und animiert werden.

3. Animation mit Schaukelbewegung (optional, nur für Spezialisten)

Für die Animation sind Auflagepunkte am Boden zu errechnen, die sich durch die Schaukel- bewegung ergeben. Gesucht wird zunächst der Auflagepunkt

(

x yl, l

)

der Kufen in Nulllage, das ist der weiße Punkt im Bild ganz unten. Bei der Schaukelbewegung bildet dieser Punkt über den Mittelpunkt ( ,x y0 0) zum neuen Auflagepunkt

(

x yk, k

)

einen Winkel α, der aus den Zeilenvektoren a=

[

xlx y0, ly0

]

und b=

[

xkx y0, ky0

]

berechnet werden kann über die

ϕ1

ϕ6

Huf- Punkte Huf-

Punkte

0 0

( ,x y )

ϕ1

ϕ6

Radius r0

Äußerer Kufenrand, Radius r1

(3)

Formel cos( ) a b' α = a b

⋅ . Aus α entsteht mit s=sin( )α , c=cos( )α die Rotationsmatrix

A c s

s c

⎡ ⎤

= ⎢⎣− ⎦⎥. Jeder Bildpunkt P=( , )x y ist mit Hilfe dieser Matrix um den Kreismittelpunkt

0 ( ,0 0)

P = x y zu rotieren und um die Bogenlänge r1α horizontal zu verschieben. Der durch die Rotation entstehende Punkt ist P'= ⋅A (PP0)+P0. Seine x-Koordinate wird anschließend verschoben durch x'= +x r1α. Für die Animation werden in einer Schleife alle Bildpunkte so umgerechnet und gezeichnet.

Im einzelnen soll Ihr Programm folgendes leisten

• Einlesen der Bildpunkte aus der Datei xy.pt mit load. Speichern Sie die xy-Koordinaten in 2 Spaltenvektoren u,v. Entfernen Sie den 1. Punkt (das Auge) aus u,v und speichern Sie seine Koordinaten in einem Vektor e. Fügen Sie den letzten Bildpunkt an erster Stelle in u,v ein, damit die Kurve geschlossen ist.

• Erzeugen Sie 2 parametrische Splines U,V durch die Knoten u,v mit 20-fach feinerem Raster.

• Sortieren Sie mit sortrows die Matrix [u,v] nach der 2. Spalte v und speichern Sie die ers- ten 6 Zeilen in zwei Spaltenvektoren x,y. (Das sind die 6 Huf-Punkte.)

• Stellen Sie mit Hilfe der oben angegebenen Formel (1) ein überbestimmtes lineares Glei- chungssystem Bw= c zur Berechnung von w=[ ,x y z0 0, ]' auf, lösen Sie es und berech- nen Sie die Kufenradien r0 sowie r1=1,1⋅r0.

• Verwenden Sie atan2, um die Winkel ϕ aller 6 Huf-Punkte zu berechnen und in einem Spaltenvektor phi zu speichern.

• Nach Sortieren von phi, ist der Huf-Sektor

[

ϕ ϕ1, 6

]

. Mit h=

(

ϕ ϕ61

)

⋅0, 2 wird der Ku- fensektor

[

ϕ1h6+h

]

. Rastern Sie diesen Sektor mit linspace in 50 Punkte ψm, die im Zeilenvektor psi gespeichert werden.

• Erzeugen Sie aus diesen Rasterpunkten den Kufen-Umriss als geschlossene Kurve in x,y- Koordinaten, die in 2 Zeilenvektoren X,Y gespeichert werden. Umrechnungsformeln:

0 cos( ), 0 sin( )

x=x +r ψ y=y +r ψ . Für den inneren Kufenrand gilt r =r0, außen ist r =r1.

• Bestimmen Sie mit find den Index l des Rasterpunktes aus X,Y, der dem skizzierten Auf- lagepunkt o am nächsten kommt. Yl ist die Höhe der Nulllinie, d.h. der Boden, auf dem das Pferd steht.

• Die Gesamthöhe H des Schaukelpferdes ist zu ermitteln, ebenso die Kufenlänge . Damit ist

[

(

1 max min

K =r ψ −ψ

)

XlK X, l +K

] [

× Yl0.1 ,H Yl+1.3H

]

ein sinnvoller Bildausschnitt. Zeichnen Sie die Nulllinie und legen Sie mit den axis-Befehlen gleiche und unsichtbare Achsen sowie den angegebenen Bildausschnitt fest.

• Zeichnen Sie ins vorhandene Bild mit patch und den Spline-Punkten U,V das Pferd weiß als Schimmel, mit patch und den Punkten X,Y die Kufen rot, mit plot und e das Auge als schwarzen Kreis mit blauem Punkt.

• Zur Animation werden der Reihe nach alle Kufenpunkte

(

X Yk, k

)

als Auflagepunkte ge- wählt und damit alle Punkte U,V sowie X,Y und das Auge e gemäß den obigen Angaben (unter 3.) rotiert und verschoben mit patch und plot neu gezeichnet. – Dieser knifflige Teil der Aufgabe soll Spaß machen. Er gehört nicht zum Stoff der Vorlesung.

Referenzen

ÄHNLICHE DOKUMENTE

Betrachte Beispiel 3.12 von Folie 169, die Arithmetik der

Axel Gr¨ unrock.. UBUNGEN ZUR ANALYSIS

Dies zeigt, dass die Menge der offenen Operatoren in L(X, Y )

Die Aufgabe soll zeigen, dass systematisch aufgebaute Matrizen häufig sehr viel anfälliger gegen Rundefehler sind, als Matrizen mit unregelmäßigem Aufbau.. Wir vergleichen deshalb

ƒ Wie oben geschehen, werden Kugel und Plane mit surf, hold on und hold off in einem neuen Bild dargestellt, das Sie drehen und aus mehreren Richtungen betrachten sollen

mehr als das doppelte der Trägerfunktion beträgt, soll eine Warnung ausgegeben werden "Zu große Amplitudenabweichung". − Damit man die gesamte Berechnung mit den selben

Ihre Aufgabe ist es, den Flächeninhalt A und den Umfang U des Schaukelpferdes aus der Übung 7 (ohne die Kufen) mit verschiedenen Methoden zu berechnen1. Vergleichen Sie

Oliver Schn¨ urer, Universit¨ at Konstanz Sommersemester 2012 Matthias Makowski. Ubungen zur Vorlesung Funktionalanalysis ¨