Guten Tag,
ich habe vor im Zuge meiner Facharbeit ein Programm zu schreiben (Java) welches die Satellitenbahn berechnen soll (evtl. später auch Plantenbahn).
Bisher habe ich das:
public class Satellite
{
// instance variables - replace the example below with your own
double x ;
double y ;
double vx;
double vy;
double w;
double r;
double ax;
double ay;
double t;
double deltaT;
/**
* Constructor for objects of class Satellite
*/
public Satellite(double x, double y, double vx, double vy, double m)
{
r = quadratwurzel(x*x+y*y);
t = 0;
deltaT = 0.1;
}
/**
* An example of a method - replace this comment with your own
*
* @param y a sample parameter for a method
* @return the sum of x and y
*/
public double xKoordinate(double M){
ax = -6.673*potenzieren(10, -11)*M*(x/r*r*r);
vx = vx + ax*deltaT/2;
x = x + vx*deltaT;
t = t+deltaT;
return x;
}
public double yKoordinate (double M) {
ay = -6.673*potenzieren(10, -11)*M*(y/r*r*r);
vy = vy + ay*deltaT/2;
y = y + vy*deltaT;
t = t+deltaT;
return y;
}
public double quadratwurzel(double a)
{
double i;
for( i = 0.00; i <= 1000.00; i++)
w = (1 / 2) * (w + a / w);
return w;
}
public double potenzieren (double a, int p)
{
double i;
if (p<0){
for (i=0; p<i; i--){
a = 1/a;
}
}else{
for (i=1; p<i;i++){
a=a*a;
}
}
return a;
}
}
Jedoch wird bei jeder Methode immer NaN ausgegeben. Ich vermute das hat was mit den Datentypen int und double zu tun?
Des weiteren habe ich die Frage wie es möglich ist, die Satellitenbahn grafisch darzustellen (sprich aus der Vogelperspektive.
-Ich muss den Objekten aufjedenfall ein Bild zuweisen und die Objekte dann im Bild platzieren.
-Dabei soll das Koordinatensystem im Mittelpunkt des Zentralkörpers liegen
-Die Bahn müsste sich zeichnen lassen in dem ich das Objekte immer auf die nächste X und Y Koordinate bewege
Danke vielmals!
MfG,
Thison
ich habe vor im Zuge meiner Facharbeit ein Programm zu schreiben (Java) welches die Satellitenbahn berechnen soll (evtl. später auch Plantenbahn).
Bisher habe ich das:
public class Satellite
{
// instance variables - replace the example below with your own
double x ;
double y ;
double vx;
double vy;
double w;
double r;
double ax;
double ay;
double t;
double deltaT;
/**
* Constructor for objects of class Satellite
*/
public Satellite(double x, double y, double vx, double vy, double m)
{
r = quadratwurzel(x*x+y*y);
t = 0;
deltaT = 0.1;
}
/**
* An example of a method - replace this comment with your own
*
* @param y a sample parameter for a method
* @return the sum of x and y
*/
public double xKoordinate(double M){
ax = -6.673*potenzieren(10, -11)*M*(x/r*r*r);
vx = vx + ax*deltaT/2;
x = x + vx*deltaT;
t = t+deltaT;
return x;
}
public double yKoordinate (double M) {
ay = -6.673*potenzieren(10, -11)*M*(y/r*r*r);
vy = vy + ay*deltaT/2;
y = y + vy*deltaT;
t = t+deltaT;
return y;
}
public double quadratwurzel(double a)
{
double i;
for( i = 0.00; i <= 1000.00; i++)
w = (1 / 2) * (w + a / w);
return w;
}
public double potenzieren (double a, int p)
{
double i;
if (p<0){
for (i=0; p<i; i--){
a = 1/a;
}
}else{
for (i=1; p<i;i++){
a=a*a;
}
}
return a;
}
}
Jedoch wird bei jeder Methode immer NaN ausgegeben. Ich vermute das hat was mit den Datentypen int und double zu tun?
Des weiteren habe ich die Frage wie es möglich ist, die Satellitenbahn grafisch darzustellen (sprich aus der Vogelperspektive.
-Ich muss den Objekten aufjedenfall ein Bild zuweisen und die Objekte dann im Bild platzieren.
-Dabei soll das Koordinatensystem im Mittelpunkt des Zentralkörpers liegen
-Die Bahn müsste sich zeichnen lassen in dem ich das Objekte immer auf die nächste X und Y Koordinate bewege
Danke vielmals!
MfG,
Thison
Zuletzt bearbeitet: