Subversion Repositories distributed

Compare Revisions

Regard whitespace Rev 44 → Rev 45

/ViaThinkSoft Distributed/src/de/viathinksoft/marschall/raumplan/formula/FormulaProbe.java
2,12 → 2,63
 
public class FormulaProbe {
 
private static final double PRECIOUS = 1000;
 
/**
* Kollissionsradius für 2D-Raum
*
* @param b
* Korridorverkleinerungsfaktor
* @param g
* Raumverkleinerungsfaktor
* @param w
* Verhältnis des initialen Korridors mit dem Ursprungsraum
* @return =0 für Berührung, <0 für Abstand, > für Kollission
*/
private static double calc_2d(double b, double g, double w) {
return (3 - g) / (1 - g) - g + Math.pow(g, 2) - 4 + 2 * w
* (b / (1 - b) - b - Math.pow(b, 2) - 1);
}
 
/**
* Kollissionsradius für 3D-Raum
*
* @param b
* Korridorverkleinerungsfaktor
* @param g
* Raumverkleinerungsfaktor
* @param w
* Verhältnis des initialen Korridors mit dem Ursprungsraum
* @return =0 für Berührung, <0 für Abstand, > für Kollission
*/
private static double calc_3d(double b, double g, double w) {
return w * b * (1 / (1 - b) - 1 - b - Math.pow(b, 2)) + 1 / (1 - g) - 1
- g - Math.pow(g, 2) - w;
}
 
/**
* Findet 2D=0 Punkte
*
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
for (int bi = 0; bi < PRECIOUS; bi++) {
for (int gi = 0; gi < PRECIOUS; gi++) {
for (int wi = 0; wi < PRECIOUS; wi++) {
double b = (double) bi / PRECIOUS;
double g = (double) gi / PRECIOUS;
double w = (double) wi / PRECIOUS;
double r2d = calc_2d(b, g, w);
double r3d = calc_3d(b, g, w);
 
if ((Math.abs(r2d) == 0) /* || (Math.abs(r3d) == 0) */) {
System.out.println("(b=" + b + ", g=" + g + ", w=" + w
+ ") = " + r2d + " (2D), " + r3d + " (3D)");
}
}
}
}
 
System.out.println("Beendet");
}
}