SinCos Umkehrung.
Übersicht
 BlitzBasic 
 Beginners-Corner
								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
 BlitzBasic 
 Beginners-Corner
					Powered by phpBB © 2001 - 2006, phpBB Group
				
