当前位置:文档之家› VC6.0中画曲线的函数

VC6.0中画曲线的函数


py=630-(pointy[0]-pymin)*stepy;
dc.MoveTo(px,py);
for(j=1;j<i;j++) {
px=(pointx[j]-pxmin)*stepx+100;
py=630-(pointy[j]-pymin)*stepy;
dc.LineTo(px,py);}
}
金广林 2011 年 6 月 17 日星期五
VC6.0 中画曲线的函数 OnHqx() {
CClientDC dc(this); CPen pen; pen.CreatePen(PS_SOLID,1,0x000000ff); dc.SelectObject(&pen); CBrush brush; brush.CreateSolidBrush(0x000000ff); dc.SelectObject(&brush); int i,j; double pxmax,pxmin,pymax,pymin,stepx,
pointx[0]=0.1399;
pointy[0]=-84.20;
pointx[1]=0.4409;
pointy[1]=-99.80;
pointx[2]=0.6170;
pointy[9;
pointy[3]=-114.20;
pointx[4]=0.8388;
px,py,stepy,pointx[100],pointy[100]; i=10; //总点数,可修改 //图形的范围为 800*600
//点坐标清零 for(j=0;j<i;j++) {
pointx[j]=0; pointy[j]=0;} //x 轴和向右的箭头 dc.MoveTo(50,650); dc.LineTo(850,650); dc.MoveTo(850,650); dc.LineTo(800,655); dc.MoveTo(850,650); dc.LineTo(800,645); //y 轴和向上的箭头 dc.MoveTo(50,650); dc.LineTo(50,50); dc.MoveTo(50,50); dc.LineTo(45,100); dc.MoveTo(50,50); dc.LineTo(55,100);
pointy[3]=-45.35;
pointx[4]=0.8388;
pointy[4]=-48.13;
pxmax=pointx[0]; pxmin=pointx[0]; pymax=pointy[0]; pymin=pointy[0]; //找出最大值和最小值。 for(j=1;j<i;j++) {
//下面输入数据:
i=5; //总点数,可修改 //下面是浓度的对数值和 K 的电压值:
pointx[0]=0.1399;
pointy[0]=-15.56;
pointx[1]=0.4409;
pointy[1]=-29.12;
pointx[2]=0.6170;
pointy[2]=-38.20;
pointx[3]=0.7419;
//
改笔颜色可用下面的语句:
//
pen.DeleteObject();
//
pen.CreatePen(PS_SOLID,1,0x00ff0000);
//
dc.SelectObject(&pen);
dc.TextOut(400,50,"红色的是浓度的对数值和 k 的电压值的曲线。");
px=(pointx[0]-pxmin)*stepx+100;
if (pointx[j]>pxmax) pxmax=pointx[j];
if (pointx[j]<pxmin) pxmin=pointx[j];
if (pointy[j]>pymax) pymax=pointy[j];
if (pointy[j]<pymin) pymin=pointy[j];
} stepx=800/(pxmax-pxmin); stepy=600/(pymax-pymin);
if (pointx[j]<pxmin) pxmin=pointx[j];
if (pointy[j]>pymax) pymax=pointy[j];
if (pointy[j]<pymin) pymin=pointy[j];
} stepx=800/(pxmax-pxmin); stepy=600/(pymax-pymin);
pointy[4]=-115.89;
pxmax=pointx[0]; pxmin=pointx[0]; pymax=pointy[0]; pymin=pointy[0];
//找出最大值和最小值。 for(j=1;j<i;j++) {
if (pointx[j]>pxmax) pxmax=pointx[j];
py=630-(pointy[0]-pymin)*stepy;
dc.MoveTo(px,py);
for(j=1;j<i;j++) {
px=(pointx[j]-pxmin)*stepx+100;
py=630-(pointy[j]-pymin)*stepy;
dc.LineTo(px,py);}
//下面是浓度的对数值和 Na 的电压值:
//
改笔颜色可用下面的语句:
pen.DeleteObject();
pen.CreatePen(PS_SOLID,1,0x00ff0000);
dc.SelectObject(&pen);
dc.TextOut(400,80,"蓝色的是浓度的对数值和 Na 的电压值的曲线。");
px=(pointx[0]-pxmin)*stepx+100;
相关主题