作者klio0047 (No.81 亚当‧龙)
看板Visual_Basic
标题[VB6 ] Scale(x1,0)-(x2,0)的绘图问题
时间Mon Dec 10 10:58:49 2012
我正在写一个利用回圈来绘图的程式
因为图片的大小是由回圈中其中一个参数决定
所以回圈里绘图程式码的目前先是这样打:
If Pout > PoutT Then
PoutS = Pout
End If
Picture3.Scale (-NO * 0.02, PoutS*1.2)-(NO * 1.3,-PoutS*0.09)
Picture3.Line (-NO * 0.02, 0)-(NO* 1.3, 0)
Picture3.Line (0, -PoutS * 0.02)-(0, PoutS * 1.2)
Picture3.Line (N, Pout)-(NT, PoutT), RGB(50, 205, 50)
PoutT = Pout
NT=N
这个程式的目的是求得Pout的曲线图
回圈是由N来控制,由Pout及NT纪录上一个回圈中Pout及N的值来画线
由PoutS来比较每个Pout的大小,将最大的Pout选出後来决定Scale中Y轴的值
但是似乎问题在於在计算程式码中所算出来的第一个Pout是「0」
编译时似乎不能接受Scale(x1,0)-(x2,0)的状况,会跑出错误「除以0」
所以我本来想说在个Scale前面加个
If PoutS=0 Then PoutS=0.000001 End If
用一个趋近於零的数字来取代
但是这样就变成跑出来的图出现错误
在Pout<PoutS时的PoutT通通变成另一个数值
结果在Pout<PoutS时的线会自己连到其他地方了
不知道有没有高手知道解决方法呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.134.202.38
1F:→ MOONRAKER:先跑一次找出最大值然後scale一次不就结了 12/10 11:26
2F:→ MOONRAKER:何必每次都scale 12/10 11:26
3F:→ klio0047:我把Scale放在Next後面,XY轴有画出来,但是Pout曲线却 12/10 15:09
4F:→ klio0047:出不来,有没有其他解决方式呢? 12/10 15:09