+ -
当前位置:首页 → 问答吧 → 新手求助,走过路过的帮帮忙吧!

新手求助,走过路过的帮帮忙吧!

时间:2011-07-26

来源:互联网

初学者求助,我想设计一个小程序,不过能力有限,需要求助。

我想通过VB画图,用command1在picture1中画出直角坐标系和直线方程y=ax+b,还有顺便做几个与直线方程无关的点(c,d),这些点的横竖坐标是来源于我的两个数组text1(i)和text2(i),因此,点是未必落在直线上的。

然后我的直角坐标系无需太复杂,只要x大于等于0以及y大于等于0的第一象限就够了。不过这里涉及到一个问题,例如我的直线方程是y=0.00917x+0.0325,x与y刻度相差很大,所以我想说能否做到x与y的刻度标示是不对等的,那几个来源于数组的点的数值也是类似于这样,有点悬殊,求助大家,谢谢!

作者: serviceone_   发布时间: 2011-07-26

说白了就是一个坐标映射的问题。每多少像素对应多少值。可以根据数据最大最小值/窗口坐标最大最小值去计算。

作者: caozhy   发布时间: 2011-07-26

引用 1 楼 caozhy 的回复:

说白了就是一个坐标映射的问题。每多少像素对应多少值。可以根据数据最大最小值/窗口坐标最大最小值去计算。


能否教一下我呢,谢谢!

作者: serviceone_   发布时间: 2011-07-26

Scale 方法,重新定义坐标系,示例:
picture1.Scale (0,100)-(300,0) 
’picture1的左上角坐标将映射为新坐标系的(0,100),右下角坐标映射为(300,0),也就是说picture1的左下角将是新坐标系的原点,这里的100,300你可以根据你的数据计算来进行替换

作者: c_cyd2008   发布时间: 2011-07-26

引用 3 楼 c_cyd2008 的回复:

Scale 方法,重新定义坐标系,示例:
picture1.Scale (0,100)-(300,0)
’picture1的左上角坐标将映射为新坐标系的(0,100),右下角坐标映射为(300,0),也就是说picture1的左下角将是新坐标系的原点,这里的100,300你可以根据你的数据计算来进行替换


谢谢阿 我马上来试 不过 为什么我画出来的只有第一象限的坐标系总是有问题呢 能不能教我画出一个符合我上述条件的坐标系 让我学习一下 谢谢了

作者: serviceone_   发布时间: 2011-07-26

picture1.Scale (x1,y1)-(x2,y2)是可以定义你要的坐标系的,你可以这样定义:
picture1.scale (0,1000)-(0,1)
这将意味着你的坐标原点在picture1的右下角,而picture1.height被分成了1000个单位,picture1.width只表示新坐标系的横轴的一个单位,即是说新坐标系的横轴和纵轴的单位是可以不统一的。

作者: c_cyd2008   发布时间: 2011-07-26

打错了;
是:

picture1.scale (0,1000)-(1,0)

这将意味着你的坐标原点在picture1的左下角

作者: c_cyd2008   发布时间: 2011-07-26