vc++ 小数 画图 20
大家好,我在用VC++实现画图时遇到下列问题,请帮忙:有两个数组都是小数,想画出对应的曲线。我将坐标已转化,可是MOVETO和LINETO只能画整数,结果一直不对。见关键...
大家好,我在用VC++实现画图时遇到下列问题,请帮忙:
有两个数组都是小数,想画出对应的曲线。我将坐标已转化,可是MOVETO和LINETO只能画整数,结果一直不对。见关键代码:
int iMode = pDC->SetMapMode(MM_ANISOTROPIC);//设置映射模式;
pDC->SetViewportOrg(Xd1,Yd1);//设置视口左上角的坐标;
pDC->SetViewportExt(rect1.Width(),rect1.Height());//设置视口度量;
pDC->SetWindowOrg(0,0);//设置窗口左上角的坐标(0,0)
pDC->SetWindowExt(10,-2);//设置窗口度量
double Tb=5;
for(i=0;i<200;i++)
{
time[i]=0.005*i*Tb;
A1[i]=A0*exp(-1*(time[i]-Tb/2)*(time[i]-Tb/2)/T0/T0);//
}
for(i=0;i<200;i++)
{
pDC->MoveTo(time[i],A1[i]);
i=i+1;
pDC->LineTo(time[i],A1[i]);
} 展开
有两个数组都是小数,想画出对应的曲线。我将坐标已转化,可是MOVETO和LINETO只能画整数,结果一直不对。见关键代码:
int iMode = pDC->SetMapMode(MM_ANISOTROPIC);//设置映射模式;
pDC->SetViewportOrg(Xd1,Yd1);//设置视口左上角的坐标;
pDC->SetViewportExt(rect1.Width(),rect1.Height());//设置视口度量;
pDC->SetWindowOrg(0,0);//设置窗口左上角的坐标(0,0)
pDC->SetWindowExt(10,-2);//设置窗口度量
double Tb=5;
for(i=0;i<200;i++)
{
time[i]=0.005*i*Tb;
A1[i]=A0*exp(-1*(time[i]-Tb/2)*(time[i]-Tb/2)/T0/T0);//
}
for(i=0;i<200;i++)
{
pDC->MoveTo(time[i],A1[i]);
i=i+1;
pDC->LineTo(time[i],A1[i]);
} 展开
3个回答
展开全部
小数精度多少纵横就放大多少倍,同时增加线径,完了把绘制的图按比率缩放显示,如何?
追问
能不能针对我上面的程序讲的具体一点,我试了一下,结果不对,可能我理解的有问题,谢谢了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
time[],A1[]两个数据好像都是小数,而Moveto、LineTo函数要求传送的参数都是整数,小数就会被隐士转换为整数,即保留整数位,小数位忽略,所以你看到的画的都是整数!参考一下!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用GDI+。GDI+支持浮点数坐标。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询