Gamestudio Links
Zorro Links
Newest Posts
AlpacaZorroPlugin v1.3.0 Released
by kzhao. 05/22/24 13:41
Free Live Data for Zorro with Paper Trading?
by AbrahamR. 05/18/24 13:28
Change chart colours
by 7th_zorro. 05/11/24 09:25
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
3 registered members (Akow, AndrewAMD, degenerate_762), 1,429 guests, and 11 spiders.
Key: Admin, Global Mod, Mod
Newest Members
AemStones, LucasJoshua, Baklazhan, Hanky27, firatv
19055 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Frage zu Vorhaltepunktberrechnung (Rechengenauigkeit) #401935
05/26/12 16:08
05/26/12 16:08
Joined: Mar 2012
Posts: 44
A
Abarudra Offline OP
Newbie
Abarudra  Offline OP
Newbie
A

Joined: Mar 2012
Posts: 44
Hallo liebe Community,

ich bin in meinem Script auf ein Problem gestoßen, das ich ohne eure Hilfe nicht lösen kann.

(I can try to describe my problem in english too if necessary)

Es geht um folgendes: Ich habe eine Funktion geschrieben die mir die die Distanz zurückliefert die ich vorhalten muss damit mein Projektil ein sich bewegendes Ziel trifft (ohne Gravitation).

Code:
// Berrechne die Länge 2er Dreiecksseiten des Dreiecks A-B-C
/*
	Dazu muss gegeben sein:
	
		- Die Länge der Seite A-B (Distanz zum Ziel)
		- Der Winkel zwischen A-B und B-C
		- Das Seitenlängenverhältnis von B-C und A-C 
	
	-> Die Funktion liefert die Länge von A-C zurück
	-> Multipliziert mit dem Seitenlängenverhältnis ergibt sich die Sitenlänge von B-C

*/

function calc_triangle_side(given_side,given_arc,aspect_ratio)
{
	var a = 1-(aspect_ratio*aspect_ratio);
	var b = 2*given_side*aspect_ratio*cos(given_arc);
	var c = given_side*given_side;
	var my_temp;
	
	my_temp = (-b+sqrt((b*b)+(4*a*c)))/(2*a);
	return(my_temp);
}



die Seitenlänge B-C entspricht dem Wert den ich vorhalten müsste
die Seitenlänge A-B ist der Abstand zum Ziel zum Schusszeitpunkt
die Seitenlänge A-C ist die Strecke die das Projektil zurücklegen muss

Diese Formel funktioniert sowohl auf dem Papier als auch mit kleineren Werten in der Engine.

ABER:

- wenn der Abstand zum Ziel über ca. 2000 liegt und der Winkel gleichzeitig sehr klein ist (<15) krieg ich extrem falsche Werte (anstatt zb. 1800 krieg ich Werte wie -2.000.000)

- wenn der Abstand noch größer ist 5000 - 10000 tritt das Problem auch bei größeren Winkeln auf.

Ich hoffe das war jetzt einigermaßen verständlich erklärt (bin da nicht so gut drinn) laugh

Ich befürchte das meine Zahlen während der Berrechnung viel zu groß werden und das zwar mein Taschenrechner schafft, aber die Engine da Probleme hat grin

Ich entschuldige mich für den langen Post und sag schon mal danke.

MfG

Re: Frage zu Vorhaltepunktberrechnung (Rechengenauigkeit) [Re: Abarudra] #401946
05/26/12 19:51
05/26/12 19:51
Joined: Mar 2006
Posts: 2,252
Hummel Offline
Expert
Hummel  Offline
Expert

Joined: Mar 2006
Posts: 2,252
Versuch's mal mit floats.

Re: Frage zu Vorhaltepunktberrechnung (Rechengenauigkeit) [Re: Hummel] #401949
05/26/12 20:32
05/26/12 20:32
Joined: Mar 2012
Posts: 44
A
Abarudra Offline OP
Newbie
Abarudra  Offline OP
Newbie
A

Joined: Mar 2012
Posts: 44
@ Hummel danke für den Tipp

Ich habe jetzt noch ein paar Tests gemacht (mit var und float). Den Grund für die falschen Werte habe ich gefunden.

Der Wert für "given_side" wird nur bis 1448 (bei var sogar nur bis 800) korrekt berrechnet. Erhöhe ich auf 1449 erhalte ich anstatt 2.099.601 das Ergebniss -2.094.703

Gibt es einen anderen Datentyp den ich verwenden kann? Aber ich befürchte das ich mir einen anderen Rechenweg suchen muss.


Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1