Ich versuche, einen Faktor zu berechnen, mit dem ich in einer Parallelprojektion einen Pixelabstand auf der Canvas3D in einen Vektor im Weltkoordinatensystem umrechnen kann. Allerdings liegt mein Ergebnis immer um einen konstanten Faktor neben dem mit einer Pick-Canvas ermittelten korrekten Wert. Diesen gleiche ich im Moment mit der Konstanten LINEARE_ABWEICHUNG mehr schlecht als recht aus. Wie diese Konstante zustande kommt, ist mir allerdings ein Rätsel.
Hat jemand eine Idee, was ich nicht berücksichtigt habe?
Hat jemand eine Idee, was ich nicht berücksichtigt habe?
Code:
final double LINEARE_ABWEICHUNG = 1.30479102956167;
double ratio = myCanvas3D.getPhysicalWidth() / myCanvas3D.getWidth();
double pixelToMeters = (ratio * LINEARE_ABWEICHUNG) / (myCanvas3D.getView.getScreenScale());