Java examples for java.lang:Math Geometry Shape
cartesian To Spherical and return JavaFX Point3D
/**/*from w w w . ja va 2 s .c o m*/ * MathUtils.java * * Copyright (c) 2013-2015, F(X)yz * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * Neither the name of the organization nor the * names of its contributors may be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ //package com.java2s; public class Main { public static final double DBL_EPSILON = 2.220446049250313E-16d; public static final double PI = Math.PI; public static javafx.geometry.Point3D cartesianToSpherical( javafx.geometry.Point3D cartCoords) { double x = cartCoords.getX(); double storex, storey, storez; if (x == 0) { x = DBL_EPSILON; } storex = Math.sqrt((x * x) + (cartCoords.getY() * cartCoords.getY()) + (cartCoords.getZ() * cartCoords.getZ())); storey = Math.atan(cartCoords.getZ() / x); if (x < 0) { storey += PI; } storez = Math.asin(cartCoords.getY() / storex); return new javafx.geometry.Point3D(storex, storey, storez); } }