0 Daumen
1,1k Aufrufe

ich habe eine Progammier- Aufgabe zu lösen, bin aber jetzt nicht das Mathe- Ass.

Für euch sicher kein Problem :-)

Ich habe eine Koordinate die einen Offset in x und/oder in y bekommt , diesen Offset bekommt sie in der 0° Lage.

Jetzt verändert sich ja, je nach Winkel sich die Koordinate, wie berechne ich das.

Ich habe es mit der Koordinatentransformation versucht, scheint aber der falsche Weg zu sein.

Danke

Bild Mathematik

Avatar von

So ganz verstehe ich deine Aufgabe noch nicht.

Du hast einen Drehpunkt ( 8 | 6 ).
Und einen x- beliebigen weiteren Punkt ( 9.5 | 7.5 ).
Jetzt wird ein Drehwinkel angegeben z.B. + 10 ° ( im Uhrzeigersinn ).

Und du willst die neuen Koordinaten wissen ?

jep, genau das ist es was ich will :)

4 Antworten

0 Daumen

Du bildest den Vektor vom Mittelpunkt zu deinem Punkt.

Das wäre hier  [ 1,5   ;   1,5  ] 

Dann nimmst du die Drehmatrix für die Drehung, die

sieht so aus :

cos(a)      - sin(a)
sin(a)         cos(a)

und a ist der Winkel GEGEN den Uhrzeigersinn.

Also sagen wir mal, du möchtest in deinem Beispiel

den Punkt um 45° nach links drehen dann wäre a=45° also

die Matrix

0,707      - 0,707
0,707        0,707

und dann rechne 

Matrix mal den Vektor     [ 1,5   ;   1,5  ] 

das gibt   den Vektor  [ 0 ;   2,12 ]

und den addierst du wieder zum Mittelpunkt

und bekommst   [  8 ;  8,12 ]

Das ist der verdrehte Punkt.

Avatar von 287 k 🚀
0 Daumen

.Zunächst muss einmal das Koordinatensystem so verschoben werden, dass der Punkt (0/0) auf (8/6) fällt. Dann wird der Punkt (9,5/7,5) zu (1,5/1,5). Dann erfolgt die Drehung des Koordinatensystems mit Hilfe der sogenannten "Drehmatrix" (Internet). Wenn du damit nicht zurecht kommst, frag noch einmal nach.

Avatar von 123 k 🚀
0 Daumen

Bild Mathematik


xm = 8
ym = 9
xp = 9.5
yp = 7.5
d = 10 ; ( ° Drehwinkel )
alpha : Winkel in Grad
xneu, yneu : neue Koordinaten von Punkt p
r : Abstand zwischen M und P

procedure drehe ;

dx = xp - xm;
dy = p - ym
r := √ (  dx^2 + dy^2 ) 

alpha = dy / dx
alpha:= arctan(alpha) ; ( soll in Grad herauskommen )
alpha:= alplha - d ; ( d ist positiv : im Uhrzeigersinn ; d muß dann abgezogen werden )
dy := tan(alpha) * r
dx := √ ( r^2 - dy^2 )

xneu = xm + dx ;
yneu = ym + dy

Beispiel
dx := 9.5 - 8 = 1.5
dy:= 7.5 - 6 = 1.5

r := √ (  1.5^2 + 1.5^2 )  = 2.12


alpha = 1.5 / 1.5 = 1
45:= arctan(1) ; ( soll in Grad herauskommen )
alpha:= 45 - 10 = 35 °
dy := tan(alpha) * r  = tan ( 35 ) * 2.12 = 1.48
dx := √ ( 2.12^2 - 1.48^2 ) = 1.52

xneu = xm + dx = 8 + 1.52 = 9.52
yneu = ym + dy = 6 + 1.48 = 7.48

Neue Koordinaten ( 9.52 | 7.48 )

Avatar von 122 k 🚀
0 Daumen

Gebrauchsanweisung für den Programmierer:

Offset ergibt sich aus x0 und y0

Die Koordinaten des Punktes P lauten Px und Py

R ist der Abstand zwischen P und Offset

phi0 : Winkel vor der Drehung

phiT : Drehwinkel

PT : Punkt nach der Drehung


$$ R^2=(P_x-x_0)^2+(P_y-y_0)^2 $$
$$\varphi_0=\tan\frac{P_y-y_0}{Px-x_0}$$
$$\vec {P_T} =\begin{pmatrix} P_Tx\\P_Ty \end{pmatrix} = \begin{pmatrix} x_0\\y_0 \end{pmatrix}+ R\cdot \begin{pmatrix} \cos(\varphi +\varphi_T)\\\sin(\varphi +\varphi_T) \end{pmatrix} $$

Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community