最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

透视图

IT圈 admin 14浏览 0评论

透视图

透视图三维投影代码如下:

void CTestView::Project(int x,int y,int z)//透视变换

{

    double x0,y0,z0;//观察坐标系三维坐标

    x0=k[1]*x-k[3]*y;

    y0=-k[7]*x-k[8]*y+k[2]*z;

    z0=-k[5]*x-k[6]*y-k[4]*z+R;

    x2d=D*x0/z0;y2d=D*y0/z0;//屏幕坐标系二维坐标

}

 

void CTestView::InitParameter()//初始化参数

{  

    k[1]=sin(PI*Theta/180);

    k[2]=sin(PI*Phi/180);

    k[3]=cos(PI*Theta/180);

    k[4]=cos(PI*Phi/180);

    k[5]=k[3]*k[2];

    k[6]=k[1]*k[2];

    k[7]=k[3]*k[4];

    k[8]=k[1]*k[4];    

}

 

x0=sinθ* x- cosφ* y= BC;

y0=-cosφ* cosθ* x- y* cosφ* sinθ+ z* sinφ= -BY1-MN+ z* sinφ= -MY2+ Y3Y4;

z0=-x* cosθ* sinφ– y* sinθ* sinφ–z* cosφ+ R= -OY1-Y1Y2-OY3+R;

其实是相当于求点P在视线坐标系下的三维投影值(x0,y0,z0),然后将其对应地投影到屏幕坐标系上,其中, 视点是球面坐标系,原点O到视点的距离为R.,视线与Z轴夹角为φ,视线在XY平面上的投影与X轴的夹角为θ.

如图:

 

--------------------------------------------------------------------------------

 --------------------------------------------------------------------------------

 

其实在研究这个三维投影问题时,我差点就不想再想了,或者干脆问一下别人得了,后来我发现这样并不好,我一定要把它个问题搞懂,这样我的收获才更大,才能研究得更深入,否则我只得到了无数的问题,而没有把它们解决,这是非常不好的,即使你学的再多,再广也没有用,因为你没有深入到一个方向,我要的是深度,是解决问题.

透视图

透视图三维投影代码如下:

void CTestView::Project(int x,int y,int z)//透视变换

{

    double x0,y0,z0;//观察坐标系三维坐标

    x0=k[1]*x-k[3]*y;

    y0=-k[7]*x-k[8]*y+k[2]*z;

    z0=-k[5]*x-k[6]*y-k[4]*z+R;

    x2d=D*x0/z0;y2d=D*y0/z0;//屏幕坐标系二维坐标

}

 

void CTestView::InitParameter()//初始化参数

{  

    k[1]=sin(PI*Theta/180);

    k[2]=sin(PI*Phi/180);

    k[3]=cos(PI*Theta/180);

    k[4]=cos(PI*Phi/180);

    k[5]=k[3]*k[2];

    k[6]=k[1]*k[2];

    k[7]=k[3]*k[4];

    k[8]=k[1]*k[4];    

}

 

x0=sinθ* x- cosφ* y= BC;

y0=-cosφ* cosθ* x- y* cosφ* sinθ+ z* sinφ= -BY1-MN+ z* sinφ= -MY2+ Y3Y4;

z0=-x* cosθ* sinφ– y* sinθ* sinφ–z* cosφ+ R= -OY1-Y1Y2-OY3+R;

其实是相当于求点P在视线坐标系下的三维投影值(x0,y0,z0),然后将其对应地投影到屏幕坐标系上,其中, 视点是球面坐标系,原点O到视点的距离为R.,视线与Z轴夹角为φ,视线在XY平面上的投影与X轴的夹角为θ.

如图:

 

--------------------------------------------------------------------------------

 --------------------------------------------------------------------------------

 

其实在研究这个三维投影问题时,我差点就不想再想了,或者干脆问一下别人得了,后来我发现这样并不好,我一定要把它个问题搞懂,这样我的收获才更大,才能研究得更深入,否则我只得到了无数的问题,而没有把它们解决,这是非常不好的,即使你学的再多,再广也没有用,因为你没有深入到一个方向,我要的是深度,是解决问题.

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论