已知有一个抛物面,其方程与某一点的法线方程为:
x*x+y*y-4*R*z=0;//抛物面方程
// R为抛物面的焦距
/*
法线 方程:
(x-x0)/(2*x0)=(y-y0)/(2*y0)=(z-z0)/(-4R)
*/
我使用的方法为
double vx,vy,vz,temp;
vx=-x0/(curvature);//curvature 为该点处抛物面的曲率半径
vy=-y0/(curvature);
vz=1.;
temp=sqrt(vx*vx+vy*vy+vz*vz);
vx/=temp;
vy/=temp;
vz/=temp;
x1 = x0+vx*curvature;
y1 = y0+vy*curvature;
z1 = z0+vz*curvature;
cout<" "<" "<
运行结果及报错内容
得到的结果如图,对称位置处的曲率半径连线并没有焦点,且也不与主轴重合。

通过上图可知,我使用的方法并不正确,所以寻思着还得从方程入手,但是这一点我并不是很明白应该怎么写……
我想要达到的结果
希望能够有人解答,在已知三维空间中一直线方程(法线方程)的情况下,并且知道直线上一点的坐标,怎么求得直线上某一个固定距离处的点的位置?