double primitiveParam; /* = tan(alpha)�*/
@Override
public double[] primitive(Ray ray) {
double coef[] = new double [3];
Vector ori = ray.getOrigin().transformation(this.center, this.rotation);
Vector dir = ray.getDirection().transformation(null, this.rotation);
coef[0] = dir.getX() * dir.getX() + dir.getY() * dir.getY() - dir.getZ() * dir.getZ() * this.primitiveParam;
coef[1] = 2. * (dir.getX() * ori.getX() + dir.getY() * ori.getY() - dir.getZ() * ori.getZ() * this.primitiveParam);
coef[2] = ori.getX() * ori.getX() + ori.getY() * ori.getY() - ori.getZ() * ori.getZ() * this.primitiveParam;
return (Solver.deg2(coef));
}