Klasa pkt3d
Janusz Sobieraj - 28 LO

Punkty w R3 - klasa pkt3d

package liceum28; 
public class pkt3d 
{ 
  public double x,y,z; 
  public pkt3d(double wx,double wy,double wz) 
  { 
    this.x=wx;this.y=wy;this.z=wz; 
  } 
  //----------------------------------------------
  public void war(double nx,double ny, double nz) 
  { 
    x=nx; y=ny; z=nz; 
  } 
  //----------------------------------------------
  public double dl() 
  { 
    return(Math.sqrt(x*x+y*y+z*z)); 
  } 
  //----------------------------------------------
  public void ob_x( int kat ) 
  {double fi=(double)kat*Math.PI/180; 
    double yo=y; 
    y = -z * Math.sin(fi) + yo * Math.cos(fi); 
    z = z * Math.cos(fi) + yo * Math.sin(fi); 
  } 
  //----------------------------------------------
  public void ob_y( int kat ) 
  { double fi=(double)kat*Math.PI/180; 
    double xo = x; 
    x = xo * Math.cos(fi) + z * Math.sin(fi); 
    z = -xo * Math.sin(fi) + z * Math.cos(fi); 
  } 
  //----------------------------------------------
  public void ob_z( int kat ) 
  { double fi=(double)kat*Math.PI/180; 
    double xo = x; 
    x = xo * Math.cos(fi)-y * Math.sin(fi); 
    y = y * Math.cos(fi)+xo * Math.sin(fi); 
  } 
} 
Klasa pkt3d i dzidziczone metody z klasy lo28 rozwiązują problem adresowania rzeczywistego
w R3.

W klasie znajduje się metoda tworząca
(np pkt3d w=new pkt3d(2,3,-4)),
zmieniająca wartość (np w.war(-4,-1,7)).
Przydatna jest również funkcja dl, obliczająca długość wektora [x,y,z]

W zależności od realizowanych zadań można tworzyć inne metody, w moim przykładzie są to metody przeliczające współrzędne punktu po obrocie dookoła, odpowiednio osi OX, OY i OZ o dany kąt (tu w stopniach typu int).