SinCos Umkehrung.
Übersicht

MatthiasBetreff: SinCos Umkehrung. |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo.
Um Koordinaten rotieren zu lassen gibt es eine Berechnung. Code: [AUSKLAPPEN] NeuX=-Sin(Winkel)*Y-Cos(Winkel)*X NeuY=-Cos(Winkel)*Y+Sin(Winkel)*X Meine frage ist nun wie ich die Berechnung umdrehen kann. NeuX und NeuY ist gegeben. Und X und Y wird gesucht. Wäre über eine Lösung sehr dankbar. ![]() |
||
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sieht stark nach Rotationsmatrize aus. Wenn du NeuX/NeuY einfach wieder um Winkel zurückdrehst, solltest du wieder am Punkt X/Y ankommen.
Code: [AUSKLAPPEN] X=-Sin(-Winkel)*NeuY-Cos(-Winkel)*NeuX
Y=-Cos(-Winkel)*NeuY+Sin(-Winkel)*NeuX Oder unter anwenden der Symmetrien von Sinus um die Abszisse und Kosinus um die Ordinate: Code: [AUSKLAPPEN] X=Sin(Winkel)*NeuY-Cos(Winkel)*NeuX
Y=-Cos(Winkel)*NeuY-Sin(Winkel)*NeuX mfG Holzchopf |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dafür musst du das Gleichungssystem nach X und Y lösen.
Check mal auf WolframAlpha. Link zum Rauskopieren: (http://www.wolframalpha.com/input/?i=equation+system&a=FSelect_**SolveSystemOf2EquationsCalculator--&f2=u%3D-Sin%28w%29*Y-Cos%28w%29*X&f=SolveSystemOf4EquationsCalculator.equation1%5Cu005fu%3D-Sin%28w%29*Y-Cos%28w%29*X&f3=v%3D-Cos%28w%29*Y%2BSin%28w%29*X&f=SolveSystemOf4EquationsCalculator.equation2%5Cu005fv%3D-Cos%28w%29*Y%2BSin%28w%29*X&f4=a%2B2+y-z+%3D+1&f=SolveSystemOf4EquationsCalculator.equation3%5Cu005fa%2B2+y-z+%3D+1&f5=a%2B2+x+%3D+12&f=SolveSystemOf4EquationsCalculator.equation4%5Cu005fa%2B2+x+%3D+12) Da Wolfram Alpha nur einbuchstabige Variablen erlaubt habe ich NeuX auf u, NeuY auf v und Winkel auf w umbenannt. |
||
Gewinner der 6. und der 68. BlitzCodeCompo |
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Viel Dank. Holzkopf deine Lösung war die die ich gesucht habe. ![]() Code: [AUSKLAPPEN] X=Sin(Winkel)*NeuY-Cos(Winkel)*NeuX Y=-Cos(Winkel)*NeuY-Sin(Winkel)*NeuX |
||
![]() |
Chester |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wen du den Winkel nicht kennst, dann brauchst du das Rotationszentrum, um den Winkel auszurechnen.
Pseudocode (tan^-1 musst du glaub ich ATan2 nehmen in BB): Code: [AUSKLAPPEN] alpha = tan^-1 ( (NeuY-ZentrumX)/(NeuX-ZentrumY))
r = Sqrt((NeuX-ZentrumX)^2 + (NeuY-ZentrumY)^2) AltX=Cos(alpha)*r AltY=Sin(alpha)*r |
||
- Zuletzt bearbeitet von Chester am Mi, Jul 01, 2015 16:57, insgesamt einmal bearbeitet
![]() |
SpionAtomBetreff: Atan2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja um den Winkel aus einer Geraden zu bekommen verwende man: [[https://www.blitzforum.de/help/ATan2]] | ||
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group