package models.distances;
import models.coordinates.EquatorialCoordinates;
import views.Astre;
/**
* Angular Euclidian 2D distance close to what can be seen from the Earth
* @author clement
*
*/
public class Euclidian2D extends Distance {
private static String name = "Euclidean";
private static String description = "Distance euclidienne";
private static final int dimension = 2;
/**
*
* @param a
* @param b
* @return The visible angle (in rad) between two stars
*/
@Override
public double get(Astre a, Astre b) {
EquatorialCoordinates ac = a.getCoodinates();
EquatorialCoordinates bc = b.getCoodinates();
return Math.acos(Math.sin(ac.getDeclinaison())*Math.sin(bc.getDeclinaison()) +
Math.cos(ac.getDeclinaison())*Math.cos(ac.getDeclinaison())*Math.cos(bc.getAscention() - ac.getAscention()));
}
@Override
public String getName() {
return name;
}
@Override
public String getDescription() {
return description;
}
@Override
public int getDimension(){
return dimension;
}
}