您好、欢迎来到现金彩票网!
当前位置:刘伯温预言 > 图像变换 >

求一个C语言图形变换程序先进行图形绘制后能进行复制、移动、缩

发布时间:2019-08-09 07:46 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部从这一部分开始,进入了图形编程的比较烦琐的部分,要真正对图形编程有所了解,这一部分的内容是必须要掌握的。

  在计算机绘图过程中,经常需要进行绘图变换,主要包括二维图形变换和三维图形变换。这一部分讨论二维图形变换,其内容有用户坐标到屏幕坐标的变换、图形的比例变换、对称变换、错切变换、旋转变换、平移变换和复合变换等。后面讲到了二维剪裁,即线段裁剪与多边形裁剪。

  假设纸上有一个图形,要用计算机把它在屏幕上画出来。那么首先遇到的问题是,纸上的图形采用的坐标是实数域域中的直角坐标系或是极坐标系,统称为用户坐标系。而屏幕上采用的坐标系是整数域中直角坐标系,这类坐标系统称为设备坐标系。因此用户坐标系中图形需要经过变换才能绘制在屏幕上,显然这个变换的内容包括: 1)将用户坐标系中任意范围区域转换到屏幕某个范围区域,从而用户坐标系此范围区域内的图形也转换到屏幕上该范围区域内。 2)用户坐标系此区域内图形上的坐标值转换到屏幕上该范围区域内后不一定是整数,取整后才成为该范围区域内的屏幕坐标值。 3)用户坐标右手系到屏幕坐标左手系的坐标轴方向变换。 4)当屏幕坐标系水平方向与垂直方向刻度不等(即像素间距不等)时,为保持图形不走样,还要进行比例变换。下面介绍这些内容的具体计算问题。

  在用户坐标系中,指定一矩形域以确定要显示(或绘制)的图形部分,这个矩形区域称为窗口。在屏幕上可任选一矩形域以显示(或绘制)窗口内的图形,该域称为视口。如图2-1所示。

  经变换后应有,窗口的上边界线段(或下边界线变换成视口上边界线段(或下边界线。设其比例变换因子为k1,则可得

  同样,经变换后窗口的左边界线段(或右边界线变换成视口左边界线段(或右边界线。设其比例变换因子为k2,则可得

  于是对窗口内图形上任一点坐标(x,y)变换到屏幕上视口内成为(sx,sy),则

  上面对窗口内图形上任一点坐标(x,y)变换到屏幕上视口内成为(sx,sy),

  这样计算出来的sx,sy一般是实型值,而屏幕上视口内屏幕坐标是整型值,因此要将sx,sy实型值转换成屏幕坐标系的整型值。这可以通过四舍五入的方法将实型值的绝对值圆整化。由于C语言中已经替我们想到了这点,它提供的函数可以自动取整,因此用户在调用标准函数在屏幕上绘图时一般不需要考虑这个问题。当然也可以用赋值的类型转换规则来实现实型值到整型值的变换。

  一般屏幕坐标系是直角左手系,y轴方向向下为正,原点在屏幕的左上角,如图2-2所示。

  窗口内图形上任一点(x,y)变换到视口内成为(sx,xy),而(x,y)是相对用户坐标系(直角右手系)的。(sx,sy)是相对屏幕坐标系(直角左手系)的,因此y轴方向相反。为使窗口内图形变换到视口上图形其形状一致,需将视口上图形y轴方向变换成窗口内图形y轴方向。这只要将求得的视口内各点的sy整型坐标均用sy2去减,即sy2-sy(整型)代替sy(整型)即可,经这样的坐标轴方向变换后得到的视口内图形与窗口内图形一致。

  屏幕坐标系x方向与y方向上的刻度可能不一样,这取决于水平方向像素间距与垂直方向偈素间距大小是否一致。如果两个方向的刻度不相等,那么用户坐标系下一个正方形将显示(或绘制)成为一个长方形有,一个圆将成为一个椭圆。

  为保持原图形的长宽比。使图形显示(或绘制)后不走样,需求出屏幕上两侍标轴刻度的比值(即纵横比)。可以用函数getaspectratio()(见前文所述)返回x方向和y方向的比例数,从而求得这个比值。再瘵原图形y方向坐标乘以该比值,这样显示(或绘制)出来的图形应不走样。若不考虑图形的走样,就不必作这个变换。

  图形的几何变换一般是指对图形的几何信息经过变换后产生新的图形,图形几何变换既可以看作是坐标系不动而图形变动,变动后的图形在坐标系中的坐标值发生变化;出可以看作图形不动而坐标系变动,变动后的图形在新坐标系下具有新的坐标值。这两种情况本质上都是一样的,都是图形由新的坐标值表示,因此是新产生的图形。图形几何变换包括比例变换、对称变换、错切变换、旋转变换、平移变换及其复合变换。图形上所有的点在几何变换前后的坐标关系一般用解析几何方法可以求得,但这些几何关系用矩阵方法表示,运算更为方便。

  图形基本几何变换是指比例变换、对称变换、错切变换、旋转变换和平移变换等。除平移变换外,这里其它四种几何变换都可以用组成图形的点向量(或称1×2阶矩阵)和2×2阶变换矩阵相乘表示,而平移变换需引入新方法来实现。

  式中b,d为不全为零的常 数,点P(x,y)为新图形上相应的点,这个变换称为图形的错切变换。

  ① 当d=0时,x=x+by,y=y,这时图形的y坐标不变,x坐标值随(x,y)及系数b作线时,图形沿x轴作错切位移;若b0,图形沿x轴负向作错切位移。

  ② 当b=0时,x=x,y=dx+y,此时图形的x坐标不变y坐标随(x,y)及系数d作线,图形沿y轴正向作错切位移;如d0,图形沿y轴负向作错切位移。

  设图形上一点P(x,y)绕原点逆时针旋转θ角后成为新的图形上一点P(x,y),则由解析几何方法可得

  式中l,m不全为零,这称为平移变换。但此变换无法用组成图形的点向量和2×2阶变换矩阵相乘来实现。

  用二维点向量和2×2阶矩阵相乘不能表示图形的平移变换,那么自然会想到用三维点向量和3×3阶矩阵相乘来实现图形的平移变换。因此对图形上二个坐标的点向量需要添加一个坐标,使之成为三维点向量以便与三阶矩阵相乘,进而实现用矩阵表示平移变换。实际上就是对上面的二个坐标变换式添加第三个坐标变换式,即成为

  这第三个坐标变换式(即k=k)必须是恒等式,因为不需作变换,本质上是为了进行矩阵运算而引入的。

  将此三个变换式(仍然是图形的平移变换,不妨将k = k取成1=1)写成矩阵得

  这里通过对原图形上二维点向量引进第三个坐标成为三维点向量,从而使原图形的平移变换 能用矩阵表示。同样其它基本变换也可以如此用矩阵表示。因此图形的基本变换都可以在这样的三维点向量下统一、整齐用矩阵表示。这样的三维点向量称为齐次点向量,也叫三维齐次坐标点,简称三维齐次坐标。只有在三维齐次坐标下,二维几何变换才都可以用矩阵表示。下面再进一步讨论一下齐次坐标的优点。

  式中左上角二阶矩阵实现比例、对称、错切、旋转等变换,左下角1×2阶矩阵实现平移变换,其中a,b,c,d,l,m只要赋以相应的值,并建立图形上点的齐次坐标(即在图形上点的坐标后引入第三个坐标1),这样就可以用图形上点的三维齐次坐标与此三阶矩阵相乘来表示三维图形的基本几何变换了。而变换后,不用考虑第三个坐标1,前面两个坐标就反映了图形的整个变换情况。

  用齐次坐标表示一个图形上的点,可以有多种表示,如(6,8,1)、(12,16,2)、(30,40,5)等均表示图形上同一个点(6,8)。这样,齐次坐标可以表示计算机无法容纳的数。例如当计算机的字长为16位时,它能表示的最大整数为216-1=32767。若点坐标为(80 000,40 000),则计算机无法表示。但用齐次坐标可表示为(20 000,10 000,1/4),经过处理后再用第三个坐标支除前面两个坐标,从而得到原来通常的坐标。

  齐次坐标优点很多,在计算机绘图中都采用这种表示来处理图形。下面介绍的图形复合几何变换就是如此。

  图形的复合几何变换是指图形作一次以上的基本几何变换,变换结果是每次基本变换矩阵的乘积。图殂的复合几何变换简称复合变换。

  若对图形首先作平移变换 T1,然后再作平移变换T2,相应的平移变换矩阵分别为

  展开全部PHotoshop快捷健:PHOTOSHOP热键一览表,工具箱(多种工具共用一个快捷键的可同时按加此快捷键选取) 矩形、椭圆选框工具 裁剪工具移动工具 套索、多边形套索、磁性套索

  在Layers、Channels、Paths调色板上,按Alt单击这些调色板底部的工具图标时,对于有对话框的工具可调出相应的对话框来更改设置。

  移动图层和选取框时,按住Shift键可做水平、垂直或45度角的移动,按键盘上的方向键可做每次lpixel的移动,按住Shift 键再按键盘上的方向键可做每次10pixel的移动。

  在使用选取工具时,按Shift键拖动鼠标可以在原选取框外增加选取范围(开集);按Alt键拖动鼠标可以删除与原选取框重叠部分的选取范围;同时按Shift与Alt键拖动鼠标可以选取与原选取框重叠的范围(交集)。

  调用Curves对话框时,按住Alt键于格线内单击鼠标可以增加网格线,提高曲线精度。

  更改某一对话框的设置后,若要恢复为默认值,只要按住Alt键,Cancel键会变成Reset键,在Reset键上单击即可。

  若要将某一图层上的图像拷贝到尺寸不同的图像窗口中央位置时,可以在拖动鼠标的同时按住Shift键,图像拖动到目的窗口后会自动居中。

  若要将图像用于网络传输,可将图像模式设置为Indexed Color索引色彩色模式,有文件小、传输快的优点,如果再选择GIF89a Export(GIF输出),可以设置透明的效果,并将文件保存成GIF格式。

  在使用自由变形(Layer/Free Transform)功能时,按Ctrl键并拖动某一控制点可以进行随意变形的调整;“Shift+Ctrl”键并拖动某一控制点可以进行倾斜调整;按Alt键并拖动某一控制点可以进行对称调整;按“Shift+Ctrl+Alt”键并拖动某一控制点可以进行透视效果的调整。

  在layers调色板上,按住Ctrl用鼠标单击某一图层时,可载入该层图像成选取框(Background层除外,改名后可以)。

  使用路径(Path)工具时的几个技巧:使用笔形(Pen)工具制作路径时按住Shift键可以强制路径或方向线度角,按住Ctrl键可暂时切换到路径选取工具,按住Alt键将笔形光标在在黑色节点上单击可以改变方向线的方向,使曲线能够转折;按Alt键用路径选取(Direct

  Selection)工具单击路径会选取整个路径;要同时选取多个路径可以按住Shift后逐个单击;使用路径选工具时按住“Ctrl+Alt”键移近路径会切换到加节点与减节点笔形工具。

  若要切换路径(path)是否显示,可以按住Shift键后在路径调色板的路径栏上单击鼠标, 或者在路径调色版灰色区域单击即可.

  若要一起执行数个宏(Action),可以先增加一个宏,然后录制每一个所要执行的宏。 若要在一个宏(Action)中的某一命令后新增一条命令,可以先选中该命令,然后单击调色板上的开始录制(Begin recording)图标,选择要增加的命令,再单击停止录制(Stop

  使用Filter/Render/Clouds滤镜时,若要产生更多明显的支纹图案,可先按住Alt键后再执行该命令;若要生成低漫射支彩效果,可先按住Shift键后再执行命令。

  在使用Filter/Render/Lighting Effects滤镜时,若要在对话框内复制光源时,可先按住Alt键后再拖动光源即可实现复制。

  若要在Color调色板上直接切换色彩模式,可先按住Shift键后,再将光标移到色彩条上单击即可。

  变换标志框卷标(开关) 变换标志框平面(开关) 变换标志框中心(开关) 变换输入 F12 播放动画 / 捕捉(?/pre

http://3dtvsource.com/tuxiangbianhuan/660.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有