ebene Geometrie mit komplexen Zahlen: animierte Zahnräder

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Benutzeravatar
MagBen
User
Beiträge: 704
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

ebene Geometrie mit komplexen Zahlen: animierte Zahnräder

Beitragvon MagBen » Samstag 30. August 2014, 14:43

Bild

In der ebenen Geometrie kann man Formen mit Vektoren konstruieren und verschieben und mit Matrizen drehen.
[code=python file=Untitled.py]import numpy as np

#Punkt in der Ebene
p = np.array([x,y])

# Drehmatrix
A=np.matrix([[cos(phi), -sin(phi)],
[sin(phi), cos(phi)]])[/code]
Man kann das alles aber auch mit komplexen Zahlen machen.
Dabei werden Vektoren zu komplexe Zahlen und die Drehmatrix zu einem Drehoperator
(Operator im Sinne der Mathematik und Physik).[code=python file=Untitled.py]import numpy as np

#Punkt in der Ebene
p = x + y*1j

# Drehoperator
A=np.exp(1j*phi)[/code]
Auf meiner Webseite zeige ich beide Wege zunächst an einem einfachen Beispiel
http://www.magben.de/?h1=mathematik_fuer_ingenieure_mit_python&h2=ebene_geometrie_rechteck
Das blaue Rechteck wird in die Position des roten Rechtecks gedreht und verschoben.
Bild

Danach zeige ich auf
http://www.magben.de/?h1=mathematik_fuer_ingenieure_mit_python&h2=animierte_zahnraeder
Schritt für Schritt wie die Zahnradanimation mit komplexen Zahlen gemacht wird.
a fool with a tool is still a fool, www.magben.de, YouTube
Sirius3
User
Beiträge: 6375
Registriert: Sonntag 21. Oktober 2012, 17:20

Re: ebene Geometrie mit komplexen Zahlen: animierte Zahnräde

Beitragvon Sirius3 » Samstag 30. August 2014, 15:30

@MagBen: Dank Matrixmultiplikation läßt sich die Transformation auch einfach als

Code: Alles auswählen

ps = R.dot(p.T).T+d

Damit entfällt die umständliche Schleife.

Zwischen komplexer und 2er-Vektor-Darstellung kann man einfach per »view« hin und herschalten.

Code: Alles auswählen

complex_p = p.view(complex)
vector_p = complex_p.view(float)
Benutzeravatar
MagBen
User
Beiträge: 704
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

Re: ebene Geometrie mit komplexen Zahlen: animierte Zahnräde

Beitragvon MagBen » Samstag 30. August 2014, 17:18

Danke für die Hinweise, ich habe beides eingearbeitet:[code=python file=Untitled.py]p.view(float).reshape(p.size, 2)[/code]
a fool with a tool is still a fool, www.magben.de, YouTube

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder