Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2008-04-30
年龄: 40
帖子: 13
声望力: 18 ![]() |
![]()
void CChengxu3View::OnInitialUpdate()
{ CView::OnInitialUpdate(); m_h = winaxes(this->m_hWnd); ksh_start(-50,4,2,1,2,1,1,1,2,2,0,60,8,3000,-90,0.1,400,1500,i_o,x,y,z,ta_x,ta_y,ta_z,index_t); hold(TM("off")); m_hplot=plot3((CL(x),y,z)); m_hplot1=plot3((CL(ta_x(colon(1.0,1.0,index_t-1.0))),ta_y(colon(1.0,1.0,index_t-1.0)),ta_z(colon(1.0,1.0,index_t-1.0)),TM("r"))); hold(TM("on")); axis(TM("equal")); axis(TM("ij")); grid(TM("on")); } void CChengxu3View::OnCeshi() { ClearData(m_hplot); ksh_start(-200,4,2,1,2,1,1,1,2,2,0,60,8,3000,-90,0.1,400,1500,i_o,x,y,z,ta_x,ta_y,ta_z,index_t); hold(TM("off")); m_hplot=plot3((CL(x),y,z)); m_hplot1=plot3((CL(ta_x(colon(1.0,1.0,index_t-1.0))),ta_y(colon(1.0,1.0,index_t-1.0)),ta_z(colon(1.0,1.0,index_t-1.0)),TM("r"))); hold(TM("on")); axis(TM("equal")); axis(TM("ij")); grid(TM("on")); } 程序启动后是图1,按下测试按钮后是图2。画面上显示不了用红色画的线,经过我拖动画面后,红色线在画面3上如此显示。 ksh_start这个函数是输出x,y,z,ta_x,ta_y,ta_z,index_t这些参数,然后用x,y,z画三维曲线,直接画的话 ksh_start(-50,4,2,1,2,1,1,1,2,2,0,60,8,3000,-90,0.1,400,1500,i_o,x,y,z,ta_x,ta_y,ta_z,index_t); m_hplot=plot3((CL(x),y,z)); m_hplot1=plot3((CL(ta_x(colon(1.0,1.0,index_t-1.0))),ta_y(colon(1.0,1.0,index_t-1.0)),ta_z(colon(1.0,1.0,index_t-1.0)),TM("r"))); 显示图1, ksh_start(-200,4,2,1,2,1,1,1,2,2,0,60,8,3000,-90,0.1,400,1500,i_o,x1,y1,z1,ta_x1,ta_y1,ta_z1,index_t1); m_hplot=plot3((CL(x),y,z)); m_hplot1=plot3((CL(ta_x(colon(1.0,1.0,index_t-1.0))),ta_y(colon(1.0,1.0,index_t-1.0)),ta_z(colon(1.0,1.0,index_t-1.0)),TM("r"))); 显示图2。 现在我就希望图2里面的红色线和蓝色线同时显示在画面内,我用axis的各种参数试过了,都达不到我这个目的,请问这是什么原因。 而且,还有个视角的问题,如何能比较方便的调节这个视角? 这个ksh_start(-50,4,2,1,2,1,1,1,2,2,0,60,8,3000,-90,0.1,400,1500,i_o,x,y,z,ta_x,ta_y,ta_z,index_t);在.m原始文件中的运行的结果是如图4这样的,角度比较合适观察,而经过matcom转换后在vc.net里面的效果却是如图1的(我并没有改变默认视角)。虽然说这个效果图1比图4强,但是其他参数的图就差多了,而且,三个坐标轴的单位变化量是不一样的,我希望一样,使用了axis(TM("equal"));也没什么效果。 请高手帮忙解答一下。 |
![]() |
![]() |