Richtung berechnen anhand Koordinaten

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Ich hab mich jetzt das ganze Wochenede zerfuselt, könnt mir bitte jemand helfen?

Ich hab eine Spielfigur, davon 8 Ansichten in Iso (n, no, o, so, s, sw, w, nw)

Ich hab eine Startposition und eine Zielposition.

Die Berechnung welche Ansicht darzustellen ist ist ganz einfach:

Code:
//Bewegung auf der X-Achse berechnen
double btrgx=kursx-xpos;
int negx=1;
if(btrgx<0){
    negx=-1;
    btrgx=btrgx*-1;
}
//Bewegung auf der Y-Achse berechnen
double btrgy=kursy-ypos;
int negy=1;
if(btrgy<0){
    negy=-1;
    btrgy=btrgy*-1;
}
        	
//Winkelfaktoren der Achsen berechnen
double graphx=1;
double graphy=1;
if(btrgx>btrgy)
graphy=btrgy/btrgx;
else if(btrgx<btrgy)
graphx=btrgx/btrgy;

//die verarbeiteten werte mitteilen wegen bildrückgabe 
setOrientation(graphx, negx, graphy, negy);

Code:
	public void setOrientation(double graphx, int negx, double graphy, int negy) {
		String pri="";
		String sec="";

		if(negy<0)pri="n";
		if(negy>0)pri="s";
		if(negx<0)sec="w";
		if(negx>0)sec="o";
		if(graphy<0.5)pri="";
		if(graphx<0.5)sec="";

		kurs=pri+sec;
		System.out.println("kurs: "+ pri+sec);
	}

So, jetzt hab ich aber statt 8 Ansichten 32, und gugge echt saudumm.
Ich habs versucht die Bilder anders zu benennen (nnnno, nnno, nno, no, noo, nooo, ...) aber Ergebniss ist das ich mich selbst nur verwirrter mache als mir helfe.

Hätt eventuell jemand ne Ahnung wie ich das anders lösen könnt? Am besten über den Winkel und die Bilder 12, 24, 36, 48 benennen?

Ich wüsst mir da echt nicht zu helfen, das übersteigt meine Fähigkeiten anscheinend :-(
 
G

Gast

Gast
Oder wie ich anhand eines Bewegungsvectors {-2,-3}, {3,9}, ... den einen Winkel berechnen kann... Weil gehen müsst das doch oder?
 

Marco13

Top Contributor
Mit Math.atan2(x,y) kannst du den Winkel ausrechnen. Der ist erstmal in Radians, aber wenn man den in einen int mit Werten zwischen 0 und 360 umrechnet, kann man ganz einfach das passende Bild auswählen:

Image image = images[angleDegrees / 45]; // Für 8 Ansichten
Image image = images[(int)(angleDegrees / 11.25)]; // Für 32 Ansichten
Image image = images[(int)(angleDegrees / (360.0 / n))]; // Für n Ansichten

Es wäre schöner, nicht 32 sondern 36 Bilder zu verwenden, dann kann man die Grad einfach durch 10 Teilen ... :? aber funktionieren dürfte beides.
 
G

Gast

Gast
Danke, auf Knieen herzlichsten Dank dafür, genau das hab ich gesucht :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
GreenTeaYT Turtle Richtung bestimmen und Consl? Allgemeine Java-Themen 3
D JFrame nur in eine Richtung resizen Allgemeine Java-Themen 6
Encera Größe eines Objektes in Byte berechnen Allgemeine Java-Themen 2
bittedanke Wie benötigte Bits berechnen (Huffmankodierung) Allgemeine Java-Themen 7
C Koordinaten LONG/LAT eines neuen Punktes in bestimmter Entfernen und Winkel berechnen Allgemeine Java-Themen 3
ReinerCoder Kombinationsmöglichkeiten der Textfelder berechnen Allgemeine Java-Themen 14
S Mittelwert anhand eines Stream berechnen Allgemeine Java-Themen 5
MiMa Prüfziffer einer EAN Nummer berechnen Allgemeine Java-Themen 4
C Java Script Pause berechnen Allgemeine Java-Themen 5
D Kgv aller Paare aus einem Array mit n integer berechnen Allgemeine Java-Themen 5
MaxG. Best Practice Alle Kombinationen berechnen Allgemeine Java-Themen 3
Aruetiise Funktion(y = mx+n) in String speichern und berechnen Allgemeine Java-Themen 9
N Das große O berechnen Allgemeine Java-Themen 2
A OOP Problem beim Berechnen der größten Fläche eines Ringes Allgemeine Java-Themen 19
N Kombinationen beliebiger Größe berechnen Allgemeine Java-Themen 1
The Pi Anzahl der Gewichtscheiben berechnen Allgemeine Java-Themen 11
B Hirsch-Index berechnen Allgemeine Java-Themen 11
B Umfang berechnen für Polygone Allgemeine Java-Themen 18
C pplet Mitelwert Berechnen Allgemeine Java-Themen 0
J Primzahlen berechnen Allgemeine Java-Themen 13
K F-Verteilung FINV in Java berechnen Allgemeine Java-Themen 4
A Helligkeit eines Bildes berechnen Allgemeine Java-Themen 1
P Methoden Alle Kombinationen aus 2 Karten berechnen Allgemeine Java-Themen 2
C mp3-Lied Dauer berechnen Allgemeine Java-Themen 1
L Winkel eines Vektors berechnen [Anfängerprob] Allgemeine Java-Themen 5
R Threads Taskzeit berechnen Allgemeine Java-Themen 12
S Eclipse Entfernung berechnen Allgemeine Java-Themen 16
T Kreis und sekant schnittpunkt berechnen mit latitude longitude Allgemeine Java-Themen 4
B Java Diffentialgleichungen berechnen Allgemeine Java-Themen 3
W 2D-Grafik Kontrast eines Bildes berechnen Allgemeine Java-Themen 6
T Taylorpolynom berechnen Allgemeine Java-Themen 14
S Erste Schritte Mittelsenkrechte berechnen Allgemeine Java-Themen 3
P Matrix Kurtosis berechnen Allgemeine Java-Themen 40
S Werte aus 2 eindimensionale boolean arrays mithilfe von logischen operatoren berechnen Allgemeine Java-Themen 6
S Teiler Berechnen Allgemeine Java-Themen 6
Kr0e Differenzen von Bildern berechnen - Remote control Allgemeine Java-Themen 2
D md5 berechnen für BufferedImage Allgemeine Java-Themen 5
J bewegliche Feiertage berechnen Allgemeine Java-Themen 7
W Rechnungsbetrag berechnen Allgemeine Java-Themen 2
reibi Checksumme für ein File berechnen Allgemeine Java-Themen 12
M Integral berechnen Allgemeine Java-Themen 5
D Primzahlen berechnen funktioniert nicht Allgemeine Java-Themen 2
S Algorithmus um nächst folgende Primzahl zu berechnen Allgemeine Java-Themen 7
Developer_X Prozentdifferenz berechnen. Allgemeine Java-Themen 13
M Kombinationen über rekursiven Algorithmus berechnen? Allgemeine Java-Themen 10
M Monatliche Zeitspannen berechnen Allgemeine Java-Themen 3
Ark Arkussinus effizient berechnen Allgemeine Java-Themen 12
Iron Monkey Potenzzahlen mit shiftLeft berechnen? Allgemeine Java-Themen 13
N Rechenzeit berechnen? Allgemeine Java-Themen 3
H Schrifthöhe berechnen / Swing Allgemeine Java-Themen 5
T ungerade zahlen berechnen Allgemeine Java-Themen 3
X Suche Java Klasse die Feiertage berechnen kann Allgemeine Java-Themen 2
G ganzzahlige Potenz schnell berechnen Allgemeine Java-Themen 4
M Lautstärke von Audiosignal live berechnen Allgemeine Java-Themen 7
S CRC wert berechnen ergibt 0 ? Allgemeine Java-Themen 9
data89 Die Größe eines Strings in Byte berechnen? Allgemeine Java-Themen 12
T Arbeitsstunden berechnen Allgemeine Java-Themen 8
M Date Range auswerten und die Monate berechnen Allgemeine Java-Themen 2
V Setter zum Berechnen nutzen? Allgemeine Java-Themen 5
P Dauer (Tage, Stunden, Minuten, Sekunden) berechnen Allgemeine Java-Themen 5
D Mittelwert einer Menge von Doubles berechnen Allgemeine Java-Themen 3
P Winkel berechnen. Allgemeine Java-Themen 3
0 Alle Teiler einer Zahl performant berechnen? Allgemeine Java-Themen 9
B Was würdet ihr dafür berechnen? Allgemeine Java-Themen 7
T MessageDigest von einem char[] berechnen Allgemeine Java-Themen 7
S den zweit niedrigsten wert in einem array berechnen Allgemeine Java-Themen 2
E CRC 8 Berechnen Allgemeine Java-Themen 1
M Math-String-Formel berechnen lassen Allgemeine Java-Themen 4
B Ellipsen Kreisbahnen berechnen! Allgemeine Java-Themen 11
M Alle möglichen Kombinationen von mehreren Objekten berechnen Allgemeine Java-Themen 6
clemente lanman und nt password berechnen Allgemeine Java-Themen 7
J an und bn berechnen Allgemeine Java-Themen 5
F Datum mit anzahl tagen berechnen Allgemeine Java-Themen 3
B Differenz in Monaten berechnen --- DateDiff()? Allgemeine Java-Themen 12
B Distance berechnen! Allgemeine Java-Themen 7
D Feiertage berechnen Allgemeine Java-Themen 8
F vergangene Zeit berechnen Allgemeine Java-Themen 6
R Zeitspannen berechnen Allgemeine Java-Themen 7
N 2 hoch 100 berechnen Allgemeine Java-Themen 8
P Punkt berechnen Allgemeine Java-Themen 4
C x-te Wurzel berechnen Allgemeine Java-Themen 2
M Formel in einem String während Laufzeit berechnen. Allgemeine Java-Themen 4
pkm Berechnung der Fakultät von Fließkommazahlen anhand von Stirlingformel Allgemeine Java-Themen 4
Curtis_MC Collections Liste anhand mehrere Kriterien sortieren Allgemeine Java-Themen 6
H Aufruf eines Web Service anhand übergebenen Parameter Allgemeine Java-Themen 2
B Sprachdatei anhand von bestimmten Kriterien zerschneiden Allgemeine Java-Themen 0
E Datei anhand Datum identifizieren Allgemeine Java-Themen 3
B Objekte anhand von Properties file Allgemeine Java-Themen 41
H Liste sortieren anhand optionalem Property Allgemeine Java-Themen 3
D Liste anhand Standardnormalverteilung befüllen Allgemeine Java-Themen 1
L Object Instanz anhand eines Strings Allgemeine Java-Themen 10
J Berechnung anhand einer XML-Datei Allgemeine Java-Themen 3
C ArrayList anhand von zwei Attributen sortieren Allgemeine Java-Themen 4
S Bild anhand von Koordinaten einteilen Allgemeine Java-Themen 7
J ArrayList Objekte anhand Propertywerte filtern Allgemeine Java-Themen 3
C Threads anhand der CPU Cores erstellen? Allgemeine Java-Themen 2
multiholle Objekt einer Klasse anhand eines String erzeugen Allgemeine Java-Themen 3
D LinkedList anhand einer long-Variable der Objekte sortieren Allgemeine Java-Themen 5
M Sound anhand von gegebener Frequenz abspielen Allgemeine Java-Themen 2
M Programmierstill: Bitte testen anhand HTML-Tool Allgemeine Java-Themen 18

Ähnliche Java Themen

Neue Themen


Oben