public class Point3D {
    public float x, y, z;           // coordinate of vertex

    public Point3D() {
    }

    public Point3D(float xval, float yval, float zval) {
        x = xval;
        y = yval;
        z = zval;
    }

  public void normalize() {
    float foo = (float)Math.sqrt(x*x+y*y+z*z);
    x /= foo;
    y /= foo;
    z /= foo;
  }

  public float dot(Point3D foo) {
    return x*foo.x + y*foo.y + z*foo.z;
  }

    public String toString() {
        return new String(" ["+x+", "+y+", "+z+"]");
    }
}
