vb关于自定义坐标的问题,求大神们来解答一下。

vb关于自定义坐标的问题,求大神们来解答一下。什么是自定义坐标,初始坐标和自定义坐标的区别?最好是画个图解释一下!还有就是form1.sacle(0,500)-(500,... vb关于自定义坐标的问题,求大神们来解答一下。什么是自定义坐标,初始坐标和自定义坐标的区别?最好是画个图解释一下!还有就是form1.sacle (0,500)-(500,0)这句命令是使用自定义坐标,意思整个窗体的坐标是往上走了?但是书上不是窗体的坐标跟内部的坐标是没有关系么?那为什么使用自定义坐标后,画出来的直线会不一样?
这个逆算是什么意思啊
展开
 我来答
网海1书生
科技发烧友

2016-11-17 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
所谓自定义坐标,就是由自己来设定坐标的原点、坐标轴的方向、坐标轴的单位等。

VB的默认坐标配模系统是以窗体的左上角为坐标原点、x轴向右、y轴向下、单位为缇。

如果要使用数学中常用的四象限的坐标系统则是以窗体中心为原点,x轴向右、y轴向上,单位最好为像素。

Form1.Scale (0, 500) - (500, 0) 的意思就是窗体Form1的左上角坐标为(0, 500),右下角坐标为(500, 0),也就是说右上角的坐标为(500, 500),左下角的坐标为(0, 0),从中可看出,培睁缓这个自定义坐标系统的原点在窗体的左下角,x轴向右,y轴向上,x轴的单位是ScaleWidth/500,y轴的单位是ScaleHeight/500(也就是说x轴的1与y轴的早塌1是不相等的,除非窗体的内部区域是正方形)。然后后面的绘图命令就会根据这个新的坐标系统来工作了,比如你在(0, 0)的位置用PSet画个点,它会画在左下角,而不是左上角!!!

你所说的窗体的坐标系统是这个窗体相对于操作系统而言的(即对外的),而窗体的内部坐标系统则是相对于其内部的控件以及各种绘图命令而言的(即对内的)。就好比你的房子位于北纬xxx度,东经xxx度,而你房间里的沙发距离墙壁xx厘米,这是两套完全不相关的坐标系统好不好?!
更多追问追答
追问
那么我想问下,有人说知道了两个点就可以确定坐标系,原点坐标轴方向,但是我两个点不是有两种方向可以连起来么?岂不是有两个原点?还有就是form1.sacle(0,500)-(500,0)这是我书上的例子,我想问下这个500的值是什么意思,例如我想以窗体为中心画线或者圆,我应该选择多少值呢?靠猜?
追答

两点决定一条直线,哪来的两种方向连起来呢?坐标轴的方向是以由小到大来决定的,反过来那就是反方向啦,哪来的两种方向?


Form1.Scale (0, 500) - (500, 0)  (顺便纠正一下,是scale,不是sacle,你老是发错)

这个500就是自定义的啦,你可以这样来理解:就是把窗体横向分割为500等份,纵向也分割为500等份,每一等份就是一个自定义的单位(既不是像素,也不是缇、英寸、厘米等,总之就是自定义的),而且如果窗体的长宽是不相等的,那么x轴的单位与y轴的单位在物理上是不相等的,这个能理解吧?


如果把窗体的左上角坐标设为(x1, y1),右下角坐标设为(x2, y2), 那么右上角的坐标就是(x2, y1),左下角的坐标为(x1, y2)。而窗体的中心点的坐标则是((x2 + x1) / 2, (y2 + y1) / 2),另外,如果 x2 > x1,则x轴的方向是向右的,反之就是向左;同样,如果 y2 > y1,则y轴的方向是向下的,反之就是向上。


因此,假如你想在窗体上建立一个标准的数学四象限坐标系统,根据上面的分析,就有:

(x2 + x1) / 2 = 0

(y2 + y1) / 2 = 0

化简后得到:

x2 = -x1

y2 = -y1

而且 x2是正数,x1是负数,y2是负数,y1是正数。

最后就是设定这个坐标系的坐标轴单位,这个一般遵循的原则就是让所画出的图像在窗体中看起来相对比较舒服的位置和比例。比如说要在窗体中心画一个半径为100的圆,那么坐标轴的半轴长度就要比100稍大(这里设为120),看起来才好看(否则就会画到窗体外面或者看起来很小),另外,一般情况下窗体都是宽度大于高度的长方形,因此这里要以高度为标准,也就是说y1=120,y2=-120。而x轴可以根据窗体的物理宽高比例来设(当然也可以自定义),默认情况下宽是高的1.5倍,那么x2=180,x1=-180,这样的话自定义坐标系就可以这样来建立:

Form1.Scale (-180, 120) - (180, -120)

然后画圆的命令就可以这样来:

Form1.Circle (0, 0), 100

这样画出来的圆就像超级月亮一样完美了:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式