//--------------------------------------------------------------------------- // konwersja współrzędnych sferycznych na kartezjańskie public static Punkt RFiTetaToXYZ(double r, double fi, double teta) { float a = (float)Math.PI / 180.0f; float b = (float)(r * Math.Sin(a * teta)); Punkt xyz = new Punkt(b * (float)Math.Cos(a * fi), b * (float)Math.Sin(a * fi), (float)(r * Math.Cos(a * teta))); return(xyz); }
//--------------------------------------------------------------------------- // Odległość 2 punktów public double odleglosc(Punkt p) { return(Math.Sqrt((x - p.x) * (x - p.x) + (y - p.y) * (y - p.y) + (z - p.z) * (z - p.z))); }
//--------------------------------------------------------------------------- // Odległość 2 punktów public double odleglosc(Punkt pa, Punkt pb) { return(Math.Sqrt((pa.x - pb.x) * (pa.x - pb.x) + (pa.y - pb.y) * (pa.y - pb.y) + (pa.z - pb.z) * (pa.z - pb.z))); }