在三维建模中使用参数化绘图用线性建模标注两点的距离怎么标注不了怎么回事

前面一节我们讲解了图片的显示其中很多都用到了坐标的变化,这一节我们简单讲一下Qt的坐标系统其实也还是主要讲上一节的那几个函数。这里我们先讲解一下Qt的坐標系然后讲解那几个函数,它们分别是: translate()函数进行平移变换;scale()函数,进行比例变换;rotate()函数进行旋转变换;shear()函数,进行扭曲变换 最後介绍两个有用的函数save()和restore(),利用它们来保存和弹出坐标系的状态从而实现快速利用几个变换来绘图。 一、坐标系简介 Qt中每一个窗口都囿一个坐标系,默认的窗口左上角为坐标原点,然后水平向右依次增大水平向左依次减小,垂直向下依次增大垂直向上依次减小。原点即为(00)点,然后以像素为单位增减 例如: void 我们先在原点(0,0)绘制了一个长宽都是100像素的红色矩形又在(-50,-50)点绘制了一个哃样大小的黄色矩形可以看到,我们只能看到黄色矩形的一部分效果如下图。 二、坐标系变换 坐标系变换是利用变换矩阵来进行的,我们可以利用QTransform类来设置变换矩阵因为一般我们不需要进行更改,所以这里不在涉及下面我们只是对坐标系的平移,缩放旋转,扭曲等应用进行介绍 因为默认的rotate()函数是以原点为中心进行顺时针旋转的,所以我们要想使其以其他点为中心进行旋转就要先进行原点的變换。这里的painter.translate(100,100)将(100100)设置为新的原点,想让直线以其为中心进行旋转可是你已经发现效果并非如此。是什么原因呢我们添加一条语呴,如下: void Dialog::paintEvent(QPaintEvent *) painter.drawLine(0,0,100,0); } 效果如下 这时就是我们想要的效果了。我们加的一句代码为painter.rotate(-30)这是因为前面已经将坐标旋转了30度,我们需要将其再旋转回去才能是以前正常的坐标系统。不光这个函数如此这里介绍的这几个函数均如此,所以很容易出错下面我们将利用两个函数来很好的解决这个问题。 三、坐标系状态的保护

}

前面一节我们讲解了图片的显示其中很多都用到了坐标的变化,这一节我们简单讲一下Qt的坐标系统其实也还是主要讲上一节的那几个函数。这里我们先讲解一下Qt的坐標系然后讲解那几个函数,它们分别是: translate()函数进行平移变换;scale()函数,进行比例变换;rotate()函数进行旋转变换;shear()函数,进行扭曲变换 最後介绍两个有用的函数save()和restore(),利用它们来保存和弹出坐标系的状态从而实现快速利用几个变换来绘图。 一、坐标系简介 Qt中每一个窗口都囿一个坐标系,默认的窗口左上角为坐标原点,然后水平向右依次增大水平向左依次减小,垂直向下依次增大垂直向上依次减小。原点即为(00)点,然后以像素为单位增减 例如: void 我们先在原点(0,0)绘制了一个长宽都是100像素的红色矩形又在(-50,-50)点绘制了一个哃样大小的黄色矩形可以看到,我们只能看到黄色矩形的一部分效果如下图。 二、坐标系变换 坐标系变换是利用变换矩阵来进行的,我们可以利用QTransform类来设置变换矩阵因为一般我们不需要进行更改,所以这里不在涉及下面我们只是对坐标系的平移,缩放旋转,扭曲等应用进行介绍 因为默认的rotate()函数是以原点为中心进行顺时针旋转的,所以我们要想使其以其他点为中心进行旋转就要先进行原点的變换。这里的painter.translate(100,100)将(100100)设置为新的原点,想让直线以其为中心进行旋转可是你已经发现效果并非如此。是什么原因呢我们添加一条语呴,如下: void Dialog::paintEvent(QPaintEvent *) painter.drawLine(0,0,100,0); } 效果如下 这时就是我们想要的效果了。我们加的一句代码为painter.rotate(-30)这是因为前面已经将坐标旋转了30度,我们需要将其再旋转回去才能是以前正常的坐标系统。不光这个函数如此这里介绍的这几个函数均如此,所以很容易出错下面我们将利用两个函数来很好的解决这个问题。 三、坐标系状态的保护

}

我要回帖

更多关于 线性建模 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信