当前位置:文档之家› VC6.0简单绘图说明

VC6.0简单绘图说明

VC6.0简单绘图说明
VC6.0简单绘图说明

第二章VC6.0简单绘图说明

许多学编程的都是从C 语言开始入门的,而目前的现状是:有些学校以Turbo C 为环境讲C 语言,只是Turbo C 的环境实在太老了,复制粘贴都很不方便。

有些学校直接拿VC 来讲C 语言,因为VC 的编辑和调试环境都很优秀,并且VC 有适合教学的免费版本。可惜在VC 下只能做一些文字性的练习题,想画条直线画个圆都很难,还要注册窗口类、建消息循环等等,初学者会受严重打击的。初学编程想要绘图就得用TC,很是无奈。还有计算机图形学,这门课程的重点是绘图算法,而不是Windows 编程。所以,许多老师不得不用TC 教学,因为Windows 绘图太复杂了,会偏离教学的重点。新的图形学的书有不少是用的OpenGL,可是门槛依然很高。

要给初学者一个简单的学习平台,就要VC的开发平台和TC的简单的绘图功能,于是就有了这个EasyX 库,我们需要在VC下下载安装EasyX库,下载地址:http://https://www.doczj.com/doc/8617998320.html,/。下面是VC下简单绘图函数的基本说明。

1.系统支持

操作系统版本:Windows 2000 及以上系统。

编译环境版本:Visual C++ 6.0 / 2008(x86 & x64) / 2010(x86 & x64)。

2.安装

请先将下载的压缩包解压缩,然后执行Setup.hta,并跟随提示安装。

安装程序会检测已经安装的VC 版本,并根据选择将对应的.h 和.lib 文件安装至VC 的include 和lib 文件夹内。安装程序不会修改注册表或者本机的任何文件。

如果需要手动安装,请根据下面的文件列表说明将安装包里的相关文件分别复制到VC 对应的include 和lib 文件夹内,或者将include 和lib 文件夹放到任意位置,然后修改VC 中的Lib 和Include 的引用路径。

3.卸载

由于安装程序并不改写注册表,因此在“添加删除程序”中不会看到EasyX 的卸载项。如需卸载,请执行相应版本的Setup.hta,并根据提示卸载

4.文件列表说明

下载的压缩包里文件列表及对应说明如下:

压缩包

├include <文件夹>

│└graphics.h/* 程序需要引用的头文件*/

├lib <文件夹>

│├amd64 <文件夹>

││├graphicsw.lib /* VC2008 / VC2010 MBCS 库文件(x64) */

││└graphicswu.lib/* VC2008 / VC2010 Unicode 库文件(x64) */

│├graphics.lib/* VC6 MBCS 库文件*/

│├graphicsu.lib /* VC6 Unicode 库文件*/

│├graphicsw.lib /* VC2008 / VC2010 MBCS 库文件(x86) */

│└graphicswu.lib/* VC2008 / VC2010 Unicode 库文件(x86) */

├EasyX_Help.chm/* 帮助文件*/

└Setup.hta /* 安装程序项目依赖*/

使用上,基本和Turbo C 没太大区别。启动Visual C++,创建一个控制台项目(Win32 Console Application),然后添加一个新的代码文件(.cpp),并引用graphics.h 头文件就可以了。来看一个简单例子:

【例2-1】画一个圆。

#include /* 就是需要引用这个图形库*/

#include

void main()

{

initgraph(640, 480); /* 这里和TC 略有区别*/

circle(200, 200, 100); /* 画圆,圆心(200, 200),半径100*/

getch(); /* 按任意键继续*/

closegraph(); /* 关闭图形界面*/

}

TC绘图有不少区别的,比如颜色上,TC 只有16 色,而这个库支持了真彩色。还有,这个库增加了鼠标、批量绘图、读取图片(点阵或矢量)等功能。

2.1几个基本概念

1.颜色

EasyX 使用24bit 真彩色,不再支持调色板模式。表示颜色有以下几种办法:

1)用预定义颜色常量,如下表所示:

表2-1预定义颜色常量

2)用16 进制的颜色表示,形式为:

0xbbggrr (bb=蓝,gg=绿,rr=红)

3)用RGB 宏合成颜色。详见RGB。

4)用HSLtoRGB、HSVtoRGB 转换其它色彩模型到RGB 颜色。详见HSLtoRGB、

HSVtoRGB。

以下是部分设置前景色的方法:

setcolor(0xff0000);

setcolor(BLUE);

setcolor(RGB(0, 0, 255));

setcolor(HSLtoRGB(240, 1, 0.5));

2.坐标

在EasyX 中,坐标分两种:逻辑坐标和物理坐标。

1)逻辑坐标

逻辑坐标是在程序中用于绘图的坐标体系。坐标默认的原点在屏幕的左上角,X 轴向右为正,Y 轴向下为正,度量单位是像素。

坐标原点可以通过setorigin() 函数修改;

坐标轴方向可以通过setaspectratio() 函数修改;

缩放比例可以通过setaspectratio() 函数修改。

在本书中,凡是没有注明的坐标,均指逻辑坐标。

2)物理坐标

物理坐标是描述设备的坐标体系。坐标原点在屏幕的左上角,X 轴向右为正,Y 轴向下为正,度量单位是像素。坐标原点,坐标轴方向,缩放比例都不能改变。

3.设备

所谓“设备”,简单来说,就是绘图表面。

在EasyX 中,设备分两种,一种是默认的绘图窗口,另一种是IMAGE 对象。通过SetWorkingImage() 函数可以设置当前用于绘图的设备。设置当前用于绘图的设备后,所有的绘图函数都会绘制在该设备上。

2.2函数说明

EasyX 函数共分以下几大类:

1.绘图环境相关函数;

2.颜色表示及相关函数;

3.绘制图形相关函数;

4.文字输出相关函数;

5.图像处理相关函数;

6.鼠标相关函数;

7.其它函数。

函数的详细说明详见附录A。

2.3简单绘图

【例2-2】实现一个简单绘图。

#include /* 绘图库头文件,绘图语句需要*/

#include /* 控制台输入输出头文件,getch()语句需要*/

void main()

{

initgraph(640, 480); /* 初始化640x480的绘图屏幕*/

line(200, 240, 440, 240); /* 画线(200,240) - (440,240) */

line(320, 120, 320, 360); /* 画线(320,120) - (320,360) */

getch(); /* 按任意键*/

closegraph(); /* 关闭绘图屏幕*/

}

说明:

1.创建的绘图屏幕640x480,表示横向有640个点,纵向有480个点。注意:左上角

是原点(0,0),也就是说,y轴和数学的y轴是相反的。

2.getch实现按任意键功能,按任意键后,程序继续执行。否则,程序会立刻执行

closegraph以至于看不到绘制的内容。

【练习题】

1)用线条画出更多的图形,要求不少于10条直线,并熟悉调试过程。

2.4常用的绘图语句

1.常用的绘图语句

line(x1, y1, x2, y2); /* 画直线(x1,y1)-(x2,y2),都是整型*/

circle(x, y, r); /* 画圆,圆心为(x,y),半径为r*/

putpixel(x, y, c); /* 画点(x,y),颜色c*/

还有很多,如画椭圆、圆弧、矩形、多边形,等等,请参考2.2节函数说明。

2.设置颜色

setcolor(c); /* 设置绘图颜色,如setcolor(RED)设置为红色等*/

常用的颜色常量可以用:

BLACK 黑DARKGRAY 深灰

BLUE 蓝LIGHTBLUE 亮蓝

GREEN 绿LIGHTGREEN 亮绿

CYAN 青LIGHTCYAN 亮青

RED 红LIGHTRED 亮红

MAGENTA 紫LIGHTMAGENTA 亮紫

BROWN 棕YELLOW 黄

LIGHTGRAY 浅灰WHITE 白

3.配出更多的颜色

颜色除了前面写的16种以外,还可以自由配色。格式:

RGB(r, g, b)

r / g / b 分别表示红色、绿色、蓝色,范围都是0~255。

例如,RGB(255,0,0) 表示纯红色。

红色和绿色配成黄色,因此RGB(255,255,0) 表示黄色。

嫌调色麻烦可以用画笔里面的调色试试,调好了以后直接将数值抄过来就行。

例如,画两条红色浓度为200的直线,可以写:

setcolor(RGB(200,0,0));

line(100,100, 200,100);

line(100,120, 200,120);

4.用数字表示颜色

除了用RGB(r,g,b)方式外,还可以用16进制表示颜色,格式:0xrrggbb

例如,setcolor(0xff0000) 和setcolor(RGB(255,0,0)) 是等效的。

5.延时语句

这个很简单Sleep(n) 就可以表示n 毫秒的延时。例如延时3秒,可以用Sleep(3000);

【练习题】

1)绘制更丰富的图形内容,不低于20行。

2)将延时语句适当的插入上一小节的练习题的代码中,看看执行效果。

2.5结合流程控制语句来绘图

1.熟练使用循环语句来控制程序流程。

【例2-3】使用for循环语句画10条直线。

#include

#include

void main()

{

initgraph(640, 480);

for(int y=100; y<200; y+=10)

line(100, y, 300, y);

getch();

closegraph();

}

【例2-4】修改一下循环的范围和间隔。

#include

#include

void main()

{

initgraph(640, 480);

for(int y=0; y<256; y++)

{

setcolor(RGB(0,0,y));

line(100, y, 300, y);

}

closegraph();

}

2.熟练使用判断语句来控制程序流程。

【例2-5】配合if语句,实现红色、蓝色交替画线。

#include

#include

void main()

{

initgraph(640, 480);

for(int y=100; y<200; y+=10)

{

if ( y/10 % 2 == 1) /* 判断奇数行偶数行*/

setcolor(RGB(255,0,0));

else

setcolor(RGB(0,0,255));

line(100, y, 300, y);

}

getch();

closegraph();

}

【练习题】

1)画围棋棋盘。

2)画中国象棋的棋盘

3)画国际象棋的棋盘,看手册找到颜色填充语句,实现过期象棋棋盘的区块填充。

2.6数学知识在绘图中的运用

数学在绘图中起着重要作用。

1.绘一个全屏的渐变色问题

例如,如果需要将将0~255的颜色和0~479的y轴对应起来:

c 表示颜色,范围0~255

y 表示y轴,范围0~479

于是:

c / 255 = y / 479

c = y / 479 * 255 = y * 255 / 479

说明:先算乘法再算除法可以提高精度。

【例2-6】绘一个全屏的渐变色。

#include

#include

{

initgraph(640, 480);

int c;

for(int y=0; y<480; y++)

{

c = y * 255 / 479;

setcolor(RGB(0,0,c));

line(0, y, 639, y);

}

getch();

closegraph();

}

2.画一个圆形的渐变色问题

首先,我们要用到圆形的基本公式:x*x + y*y = r*r;让弧度从0~2*3.14,然后需要根据弧度和半径算出(x,y),用pi表示圆周率;用r表示半径;用a表示弧度(小数);用c表示颜色。于是:

x=r*cos(a)

y=r*sin(a)

c=a*255/(2*pi)

【例2-7】画一个圆形的渐变色。

#include

#include

#include

void main()

{

initgraph(640, 480);

int c;

double a;

int x, y, r=200;

for(a=0; a

{

x=(int)(r*cos(a) + 320 + 0.5);

y=(int)(r*sin(a) + 240 + 0.5);

c=(int)(a*255/(2*PI) + 0.5);

setcolor(RGB(c,0,0));

line(320, 240, x, y);

}

getch();

closegraph();

}

2.7实现简单动画

所谓动画,其实是连续显示一系列图形而已。结合到程序上,我们需要以下几个步骤:

1.绘制图像;

2.延时;

3.擦掉图像;

循环以上即可实现动画。

【例2-8】举一个例子,我们实现一条直线从上往下移动。

#include

#include

void main()

{

initgraph(640, 480);

for(int y=0; y<480; y++)

{

/* 绘制绿色直线*/

setcolor(GREEN);

line(0, y, 639, y);

Sleep(10); /* 延时*/

/* 绘制黑色直线(即擦掉之前画的绿线)*/

setcolor(BLACK);

line(0, y, 639, y);

}

closegraph();

}

【例2-9】再看一个例子,实现一个圆从左往右跳动。

#include

#include

void main()

{

initgraph(640, 480);

for(int x=100; x<540; x+=20)

{

/* 绘制黄线、绿色填充的圆*/

setcolor(YELLOW);

setfillstyle(GREEN);

fillcircle(x, 100, 20);

Sleep(500); /* 延时*/

/* 绘制黑线、黑色填充的圆*/

setcolor(BLACK);

setfillstyle(BLACK);

fillcircle(x, 100, 20);

}

closegraph();

}

说明:移动的间距小、延时短,动画就会越细腻。但当画面较复杂时,会带来画面的闪烁。

【练习题】

1)绘制一个沿45 度移动的球,碰到窗口边界后反弹。

2.8捕获按键,实现动画的简单控制

最常用的一个捕获按键的函数:getch();

前几课,都把这个函数当作“按任意键继续”来用,现在我们用变量保存这个按键:char c = getch();

然后再做判断即可。

不过程序执行到getch() 是会阻塞的,直到用户有按键才能继续执行。可游戏中总不能因为等待按键而停止游戏执行吧?所以,要有一个函数,判断是否有用户按键:kbhit() 这个函数返回当前是否有用户按键,如果有,再用getch() 获取即可,这样是不会阻塞的。即:

char c;

if (kbhit())

c = getch();

【例2-10】如果有按键,就输出相关按键。否则,输出“.”。每隔100 毫秒输出一次。按ESC 退出。

注:ESC 的ASCII 码是27。

#include

#include

#include

void main()

{

char c = 0;

while(c != 27)

{

if (kbhit())

c = getch();

else

c = '.';

printf("%c", c);

Sleep(100);

}

}

结合上一课的简单动画,就可以做出来靠按键移动的图形了。【例2-11】实现 a s 控制圆的左右移动。

#include

#include

void main()

{

initgraph(640, 480);

int x = 320;

/* 画初始图形*/

setcolor(YELLOW);

setfillstyle(GREEN);

fillcircle(x, 240, 20);

char c;

while(c != 27)

{

/* 获取按键*/

c = getch();

/* 先擦掉上次显示的旧图形*/

setcolor(BLACK);

setfillstyle(BLACK);

fillcircle(x, 240, 20);

/* 根据输入,计算新的坐标*/

switch(c)

{

case 'a': x-=2; break;

case 'd': x+=2; break;

case 27: break;

}

/* 绘制新的图形*/

setcolor(YELLOW);

setfillstyle(GREEN);

fillcircle(x, 240, 20);

/* 延时*/

Sleep(10);

}

closegraph();

}

【练习题】

请继续完成这个程序,实现以下功能:

1)上下的控制;

2)边界检测;

3)结合kbhit 实现惯性移动(即按一下方向键,圆就会一直向这个方向移动)

注:上下左右等按键的控制,会返回2 个字符。由于该系列教程面向初学者,因此有兴趣的请查看MSDN。

2.9用函数简化相同图案的制作

实际中有许多类似的图案,如果一一单独绘制,太麻烦。于是,我们需要一个公用的绘制过程,就是函数。

例如,我们需要画5个三角形,位于不同的位置。我们可以将绘制单个三角形的过程写成函数,函数内是一个独立的程序段,这个绘制过程很简单。

然后,在需要绘制的时候,调用这个函数即可。可以通过参数来解决细微差异(图案的坐标、颜色等)。

【例2-12】画5个位于不同位置的三角形。

#include

#include

/* 在坐标(x,y) 处,用颜色c 绘制三角形*/

void sanjiaoxing(int x, int y, int c)

{

/* 设置画线颜色*/

setcolor(c);

/* 画三角形的三条边*/

line(x, y, x+50, y);

line(x, y, x, y+50);

line(x+50, y, x, y+50);

}

void main()

{

initgraph(640, 480); /* 初始化图形窗口*/

sanjiaoxing(100, 100, RED);

sanjiaoxing(120, 160, BLUE);

sanjiaoxing(140, 220, GREEN);

sanjiaoxing(160, 120, BLUE);

sanjiaoxing(160, 160, GREEN);

sanjiaoxing(220, 140, GREEN);

getch(); /* 按任意键继续*/

closegraph(); /* 关闭图形窗口*/

}

【例2-13】结合循环等控制条件,绘制更复杂漂亮的图案。

#include

#include

void sanjiaoxing(int x, int y, int color)

{

/* 设置画线颜色*/

setcolor(color);

/* 画三角形的三条边*/

line(x, y, x+10, y);

line(x, y, x, y+10);

line(x+10, y, x, y+10);

}

void main()

{

initgraph(640, 480); /* 初始化图形窗口*/

for(int x=0; x<640; x+=10)

for(int y=0; y<480; y+= 10)

sanjiaoxing(x, y, RGB(x*255/640, y*255/480, 0));

getch(); /* 按任意键继续*/

closegraph(); /* 关闭图形窗口*/

}

运行效果如下图:

图2-1运行效果图

【练习题】

1)绘制Windows 自带游戏“扫雷”的初始界面。

2.10绘图中的位运算

位运算和绘图有什么关系?先举个例子来个感性认识:使用XOR运算可以实现擦除图形后不破坏背景,这在时钟程序中绘制表针是很有用的。稍后我们会给出这样的例子。1.位运算的运算法则

位运算主要分4种:NOT、AND、OR、XOR

位运算的运算对象是二进制数(十进制要转换为二进制,计算机会自动转换)。

运算法则如下:

1)NOT

表示“取反”,将二进制位的1变0、0变1。

C语言用符号~ 表示。如:

二进制:~1101 = 0010

用十进制表示就是:~13 = 2

2)AND

表示“并且”,只有两数的对应二进制位都为1,结果的二进制位才为1;否则,结果的二进制位为0。

C语言用符号& 表示。如:

二进制:1101 & 0110 = 0100

用十进制表示就是:13 & 6 = 4

3)OR

表示“或者”,两数的对应二进制位只要有一个是1,结果的二进制位就是1;否则,结果的二进制位为0。

C语言用符号| 表示。如:

二进制:0101 | 0110 = 0111

用十进制表示就是:5 | 6 = 7

4)XOR

表示“异或”,两数的对应二进制位不同,结果的二进制位为1;相同,结果的二进制位为0。C语言用符号^ 表示。如:

二进制:0101 ^ 1110 = 1011

以上只是简单介绍一下,详细的还是请大家看C语言教程上的讲解。

2.位运算的应用

位运算的应用很多,例如AND 和OR 在获取和设置标志位时经常使用。更多的,以后大家会逐渐遇到,暂时先记下有这么回事。

这里着重说一下XOR 运算,它有一个重要的特性:

(a ^ b) ^ b = a

也就是说,a ^ b 之后可能是某些其它数字,但是只要再^b 一下,就又成了a。

一些简单的加密就用的XOR 的这个特性。

至于绘图,假如 a 是背景图案,b 是将要绘制的图案,只要用XOR 方式绘图,连续

绘两次,那么背景是不变的。

【例2-14】一个简单的绘图XOR 运算演示。

#include

#include

void main()

{

initgraph(640, 480); /* 初始化640 x 480 的绘图窗口*/

setlinestyle(PS_SOLID, NULL, 10); /* 设置线宽为10,这样效果明显*/

rectangle(100,100,200,200); /* 画一个矩形,当作背景图案*/

setwritemode(R2_XORPEN); /* 设置XOR 绘图模式*/

setcolor(RED); /* 设置画线颜色*/

line(50,0, 200,300); /* 画线*/

getch(); /* 等待按任意键*/

line(50,0, 200,300); /* 画线(XOR 方式重复画线会恢复背景图案)*/

getch(); /* 等待按任意键*/

closegraph(); /* 关闭绘图窗口*/

}

运行一下,看到第一次画线后,矩形与直线相交的部分,颜色变成了青色,青色就是白色和红色XOR 的值。当再次以红色画线时,青色部分消失了,还原为完整的白色矩形框。

【例2-15】写一个钟表程序,三个表针用的都是XOR 方式绘制。

#include

#include

#include

void Draw(int hour, int minute, int second)

{

double a_hour, a_min, a_sec; /* 时、分、秒针的弧度值*/

int x_hour, y_hour, x_min, y_min, x_sec, y_sec; /* 时、分、秒针的末端位置*/

/* 计算时、分、秒针的弧度值*/

a_sec = second * 2 * PI / 60;

a_min = minute * 2 * PI / 60 + a_sec / 60;

a_hour= hour * 2 * PI / 12 + a_min / 12;

/* 计算时、分、秒针的末端位置*/

x_sec = 320 + (int)(120 * sin(a_sec));

y_sec = 240 - (int)(120 * cos(a_sec));

x_min = 320 + (int)(100 * sin(a_min));

y_min = 240 - (int)(100 * cos(a_min));

x_hour= 320 + (int)(70 * sin(a_hour));

y_hour= 240 - (int)(70 * cos(a_hour));

/* 画时针*/

setlinestyle(PS_SOLID, NULL, 10);

setcolor(WHITE);

line(320, 240, x_hour, y_hour);

/* 画分针*/

setlinestyle(PS_SOLID, NULL, 6);

setcolor(LIGHTGRAY);

line(320, 240, x_min, y_min);

/* 画秒针*/

setlinestyle(PS_SOLID, NULL, 2);

setcolor(RED);

line(320, 240, x_sec, y_sec);

}

void main()

{

initgraph(640, 480); /* 初始化640 x 480 的绘图窗口*/

/* 绘制一个简单的表盘*/

circle(320, 240, 2);

circle(320, 240, 60);

circle(320, 240, 160);

outtextxy(296, 300, "BestAns");

/* 设置XOR 绘图模式*/

setwritemode(R2_XORPEN); /* 设置XOR 绘图模式*/

/* 绘制表针*/

SYSTEMTIME ti; /* 定义变量保存当前时间*/

while(!kbhit()) /* 按任意键退出钟表程序*/

{

GetLocalTime(&ti); /* 获取当前时间*/

Draw(ti.wHour, ti.wMinute, ti.wSecond); /* 画表针*/

Sleep(1000); /* 延时1 秒*/

Draw(ti.wHour, ti.wMinute, ti.wSecond); /* 擦表针(擦表针和画表针的过程是一样的)*/

}

closegraph(); /* 关闭绘图窗口*/

}

【练习题】

1)最后给出的绘制时钟的例子,很不完善,有不少问题。请完善该程序。例如样式

上,表盘上没有刻度,没有数字,指针靠中心的一端应该长出来一点点,表盘太

简单。还有就是尝试发现并改进功能实现上的问题。

2.11用鼠标控制绘图

捕获鼠标消息就像捕获按键消息一样简单。对于按键,通常我们会先检查是否有按键,然后定义一个变量保存按键,再然后根据该按键的值,执行相应的程序。对于鼠标,道理是一样的。

先写个代码对比一下:

获取按键:获取鼠标:

char c; MOUSEMSG m;

if (kbhit()) if (MouseHit())

c = getch(); m = GetMouseMsg();

很简单吧。由于鼠标消息的内容太多,不像按键那么简单,因此需要用一个结构体来保存。通过该结构体,我们可以获取鼠标的如下信息:

struct MOUSEMSG

{

UINT uMsg; /* 当前鼠标消息*/

bool mkCtrl; /* Ctrl 键是否按下*/

bool mkShift; /* Shift 键是否按下*/

bool mkLButton; /* 鼠标左键是否按下*/

bool mkMButton; /* 鼠标中键是否按下*/

bool mkRButton; /* 鼠标右键是否按下*/

int x; /* 当前鼠标x 坐标*/

int y; /* 当前鼠标y 坐标*/

int wheel; /* 鼠标滚轮滚动值*/

};

其中,“当前鼠标消息”可能是以下值:

WM_MOUSEMOVE 鼠标移动消息

WM_MOUSEWHEEL 鼠标滚轮拨动消息

WM_LBUTTONDOWN 左键按下消息

WM_LBUTTONUP 左键弹起消息

WM_LBUTTONDBLCLK 连续快按两下鼠标左键消息

WM_MBUTTONDOWN 中键按下消息

WM_MBUTTONUP 中键弹起消息

WM_MBUTTONDBLCLK 连续快按两下鼠标中键消息

WM_RBUTTONDOWN 右键按下消息

WM_RBUTTONUP 右键弹起消息

WM_RBUTTONDBLCLK 连续快按两下鼠标右键消息

例如,判断获取的消息是否是鼠标左键按下,可以用:

if (m.uMsg == WM_LBUTTONDOWN) ...

【例2-16】用红色的点标出鼠标移动的轨迹,按左键画一个小方块,按Ctrl+左键画一个大方块,按右键退出。

#include

#include

#include

void main()

{

/* 初始化图形窗口*/

initgraph(640, 480);

MOUSEMSG m; /* 定义鼠标消息*/

while(true)

{

/* 获取一条鼠标消息*/

m = GetMouseMsg();

switch(m.uMsg)

{

case WM_MOUSEMOVE:

/* 鼠标移动的时候画红色的小点*/

putpixel(m.x, m.y, RED);

break;

case WM_LBUTTONDOWN:

/* 如果点左键的同时按下了Ctrl 键*/

if (m.mkCtrl)

/* 画一个大方块*/

rectangle(m.x-10, m.y-10, m.x+10, m.y+10);

else

/* 画一个小方块*/

rectangle(m.x-5, m.y-5, m.x+5, m.y+5);

break;

case WM_RBUTTONUP:

return; /* 按鼠标右键退出程序*/

}

}

/* 关闭图形窗口*/

closegraph();

}

【练习题】

1)画一个填充的三角形,用鼠标选择三角形的三个顶点。提示:可以用fillpoly 函

数画多边形。

2)写一个“格子涂色”的游戏,要求:屏幕上有16x8的格子,屏幕底部有类似画

笔中的选色区(随便放上一些常用的颜色),按一下鼠标左键选择选择区的颜色

后,就作为当前颜色,然后再点屏幕上的格子,就可以用刚才的颜色填涂相应格

子。

2.12随机函数

游戏中,许多情况都是随即发生的。还有一些图案程序,例如屏保,也是随即运动的。这就需要用随机函数。

1)随机函数

随机函数很简单,只有一个:

rand();

该函数返回0~32767 之间的一个整数。(不需要记住32767 这个数字,大概知道这个范围就行了)

该函数在头文件 中,使用前记得引用。

【例2-17】简单写个程序测试一下随机函数的使用。

#include

#include

void main()

{

int r;

for(int i=0; i<10; i++)

{

r = rand();

printf("%d\n", r);

}

}

执行后,可以看到输出了10 个随机数字。

2)指定范围的随机函数

实际中,我们经常要产生指定范围的随机函数,通常我们用求余数的办法。例如,产生0~9 之间的随机数,只需要将任意产生的随机数除以10 求余数即可。求余数的运算符号是%,我们可以这样做:

r = rand() % 10;

修改前面的测试程序执行后可以看到,产生的数字都是小于10 的。

如果是1~6 之间的怎样求呢?

r = rand() % 6 + 1;

无论产生什么样范围的随机函数,都是通过各种运算将随机数的范围[0, 32767] 修改为自己需要的范围。

3)随机种子

做了多次试验,我们会发现一个问题:虽然产生的数字是随机的,但每次产生的数字序列都一样。为了解决这个问题,我们需要用“随机种子”。

随机函数的产生原理简单来说,就是:前一个随机函数的值,决定下一个随机函数的值。

根据这个原理我们可以知道:只要第一个随机函数的值确定了,那么后面数字序列就是确定的。如果我们想的得到不同的数字序列,我们需要确定第一个随机函数的值,对于设置第一个随机函数的值,叫做设置“随机种子”。易知,随机种子设置一次即可。

设置随机种子的函数如下:

srand(种子);

通常,我们用当前时间来做随机种子:

srand( (unsigned)time( NULL ) );

因为使用time 函数,所以记得引用

4)绘图中的应用

【例2-18】在屏幕上任意位置画任意颜色的点(按任意键退出)。

#include

#include

#include

#include

void main()

{

srand( (unsigned)time( NULL ) );

initgraph(640, 480);

int x, y, c;

while(!kbhit())

{

x = rand() % 640;

y = rand() % 480;

c = RGB(rand() % 256, rand() % 256, rand() % 256);

putpixel(x, y, c);

}

closegraph();

}

【练习题】

1)绘制一个沿45 度移动的球,这个球为任意方向运动,碰到边界后任意反弹。

2.13数组

数组可以实现批量操作。

1.一维数组

【例2-19】我们产生10 个随机数,产生后先保存起来,然后输出最大。

void main( )

{

int n[10];

int i;

for (i=0; i<10; i++)

n[i] = rand() % 1000;

/* 按生成的顺序,逆序输出*/

for (i=9; i>=0; i--)

printf("%d\n", n[i]);

/* 找出最大的*/

int max = -1;

for (i=0; i<10; i++)

{

if (n[i] > max)

max = n[i];

}

printf("最大的数字是:%d\n", max);

}

【例2-20】绘制一个从屏幕上边任意位置往下落的白色点。

#include

#include

#include

#include

void main()

{

srand( (unsigned)time(NULL) );

initgraph(640, 480);

地图学课程设计说明书

佛山科学技术学院 《地图学课程设计》 说明书 专业自然地理与资源环境姓名薛春惠成绩 班级 13自然地理与资源环境学号2013804142 日期 2015/6/27

目录 一、地图内容 二、设计步骤 收集资料 绘制地图 三、城市状况 四、南海旅游景点 六、存在的不足 七、专题图 一、地图内容

二、设计步骤 1 收集资料 收集各种地图、影像、数据和文字资料,分析汇总资料,选取有效部分加工使用,分别用到《中国自然地理地图集》、《广东省交通地图》、《佛山市旅游地图》、《佛山市南海区地图》、1:10万佛山市地形图、佛山市卫星影像等。 2、绘制地图 (1)投影网格与比例尺:依据地图内容、用途选用等比例尺底图,注意 图廓的配准、注记与经纬网密度删减。 (2)水系:选用河流、湖泊、水库、海岸线等,适当概括。 (3)居民点:居民点分级、概括,地名分级注记。 (4)边界线:视专题地图需要选取(国、省、市、县、镇边界),线性符 号选用与设计。 (5)交通线:铁路(车站)、国道、高速公路和水运航线(码头) 三、城市状况 3.1 地理位置

3.2 地形地貌 3.3 行政规划 3.4 人口概况 3.5 矿产资源 3.6 水资源和水文情况 3.7 商业广场情况 四、南海旅游景点 西樵山 西樵山风景名胜区位于广东省南海市西南部,面积约十四平方公里,西樵山有七十二峰,以山青,水奇著称,享有“岭南佳境”之盛名。1988年被定为国家重点风景名胜区。 西樵山是七八千万年前由海底火山喷发岩浆,岩状,火山灰后形成的死火山,山体外陡内平,状若莲衣复合,大秤峰居群峰之首,九龙岩,冬菇石,石燕石等峰岩形态万千。西樵山岩石节理发育,裂隙纵横,富有潜水,形成多处水景,有232口泉眼,28处瀑布。“欲览西樵胜,应先访白云”。位于西樵山西北部的白云洞为——马蹄形山谷,它兼收岩泉飞瀑之美,有“胜甲西樵”之称。三峰之间有两飞泉左右迂回而下,称“大云泉”、“小云泉”。泉水折叠汇成了三个湖,即所谓“白云飞下过三湖”:上为“应潮湖”,中为“鉴湖”,下为“会龙湖”。现在其下又增辟“白云”、“人工”两湖,形成五湖飞瀑交辉,亭台山水相映的奇泉。洞山腰的云泉仙馆原是明代的玉楼书院,云泉仙馆西的“三湖书院”门额为林则徐所题,康有为青年时代曾在此面壁苦读三年,山西南部有西天湖和左垂虹瀑,右垂虹瀑等景;山东南部有清暑岩,云岩飞瀑等景,山东北部有全山最大的瀑布玉岩飞瀑,以及玉岩,仙人石,东天湖等景。 早在新、旧石器时代,西樵山就有人类活动,留下许多历史遗迹,史学界称为“西樵山文化”。明代中叶成为南国理学名山,至今还保存着白云古寺,以及大量摩崖石刻等文物古迹。 西樵山碧玉洞 碧玉洞为峰间峡谷,两边怪石嶙峋、谷底狭径崎岖、洞中有玉岩珠瀑,听玉石室、遇仙桥,垂云石、东天湖等景点。其中,玉岩珠瀑为西樵山最大瀑布。 其中“西樵云瀑”在清朝已列为“羊城八景”之一,君行西樵,宛若画中游历,秀甲西樵的白云洞景区,融二十四景于一体,而其间古代建筑掩映,错落有致,碧玉洞,

pscc常用快捷键

Photoshop CC常用快捷键 1、工具箱 移动工具【V】 矩形、椭圆选框工具【M】 套索、多边形套索、磁性套索【L】 快速选择工具、魔棒工具【W】 裁剪、透视裁剪、切片、切片选择工具【C】 吸管、颜色取样器、标尺、注释、123计数工具【I】 污点修复画笔、修复画笔、修补、内容感知移动、红眼工具【J】 画笔、铅笔、颜色替换、混合器画笔工具【B】 仿制图章、图案图章工具【S】 历史记录画笔工具、历史记录艺术画笔工具【Y】 像皮擦、背景橡皮擦、魔术橡皮擦工具【E】 渐变、油漆桶工具【G】 减淡、加深、海棉工具【O】 钢笔、自由钢笔、添加锚点、删除锚点、转换点工具【P】 横排文字、直排文字、横排文字蒙板、直排文字蒙板【T】 路径选择、直接选择工具【A】 矩形、圆角矩形、椭圆、多边形、直线、自定义形状工具【U】 抓手工具【H】 旋转视图工具【R】 缩放工具【Z】 添加锚点工具【+】 删除锚点工具【-】 默认前景色和背景色【D】 切换前景色和背景色【X】 切换标准模式和快速蒙板模式【Q】 标准屏幕模式、带有菜单栏的全屏模式、全屏模式【F】 临时使用移动工具【Ctrl】 临时使用吸色工具【Alt】 临时使用抓手工具【空格】 打开工具选项面板【Enter】 快速输入工具选项(当前工具选项面板中至少有一个可调节数字) 【0】至【9】循环选择画笔【[】或【]】 选择第一个画笔【Shift】+【[】 选择最后一个画笔【Shift】+【]】 】N【+】Ctrl【) 中”渐变编辑器”在(建立新渐变. 2、文件操作 新建图形文件【Ctrl】+【N】 用默认设置创建新文件【Ctrl】+【Alt】+【N】 打开已有的图像【Ctrl】+【O】

电气工程制图课程设计

课程名称电气工程制图 课题名称接触器二维绘制及三维造型 专业电气工程及其自动化 班级电气工程0991班 学号200901010102 姓名刘心飞 指导教师李春菊彭磊 年月日

湖南工程学院 课程设计任务书 课题名称电气工程制图 题目电机/接触器/变压器装 配图二维绘制 接触器三维造型 专业班级 电气工程0991班 学生姓名 刘心飞 学号 200901010102 指导老师 李春菊 彭磊 审 批 谢卫才 任务书下达日期 2011年 月 日 设计完成日期 2011年 月 日

设计内容与设计要求 一.课程简介 《电气工程制图课程设计》是电气工程及其自动化专业强化学生制图能力培养的集中性实践性教学环节。 二.课程任务与能力培养要求 通过该课程设计应使学生具备以下基本操作技能: (1) 能正确无误地读懂所给图纸,进一步熟悉机械标准; (2)培养学生熟练运用AutoCAD、Pro/ENGINEER软件绘制工程图纸的能力。 (3)培养正确理解和运用专业技术标准的能力。 三.课程设计教学基本内容 (1) 用AutoCAD软件绘制电机/接触器/变压器的装配图。 (2) 用PROE软件对电器典型零件做三维造型,并进行装配 四.课程设计的基本要求 独立完成所布置的任务,不得拷贝。 主要设计条件 1.提供电机/接触器/变压器装配图一张。 2.提供接触器产品一个。 3.提供上机条件。

说明书格式 1.课程设计封面 2.课程设计任务书 3.说明书目录 4.概述 5.绘图过程 6.总结与体会 7.参考文献 8.附录(图纸); 进度安排 时间:1周 星期一上午:下达任务,上课 星期一下午 至 星期四:绘图 星期五上午:准备说明书 星期五下午:答辩 参考文献 1.《AutoCAD 2006中文版实用教程》,蔡希林编,清华大学出版社,2011年版; 2. 《Pro/ENGINEER Wildfire 4.0三维造型及应用》,孙海波主编,东南大学出版社,2008年。 3.《机械制图标准手册》,机械工业出版社。

PS CC 2018 快捷键大全

PS CC 2018 快捷键大全 一、工具箱 (多种工具共用一个快捷键的可同时按【Shift】加此快捷键选取) 矩形、椭圆选框工具【M】 移动工具【V】 套索、多边形套索、磁性套索【L】 魔棒工具【W】 裁剪工具【C】 切片工具、切片选择工具【K】 喷枪工具【J】 画笔工具、铅笔工具【B】 像皮图章、图案图章【S】 历史画笔工具、艺术历史画笔【Y】 像皮擦、背景擦除、魔术像皮擦【E】 渐变工具、油漆桶工具【G】 模糊、锐化、涂抹工具【R】 减淡、加深、海棉工具【O】 路径选择工具、直接选取工具【A】 文字工具【T】 钢笔、自由钢笔【P】 矩形、圆边矩形、椭圆、多边形、直线【U】 写字板、声音注释【N】 吸管、颜色取样器、度量工具【I】

抓手工具【H】 缩放工具【Z】 默认前景色和背景色【D】 切换前景色和背景色【X】 切换标准模式和快速蒙板模式【Q】 标准屏幕模式、带有菜单栏的全屏模式、全屏模式【F】 临时使用移动工具【Ctrl】 临时使用吸色工具【Alt】 临时使用抓手工具【空格】 快速输入工具选项(当前工具选项面板中至少有一个可调节数字) 【0】至【9】循环选择画笔【或】 建立新渐变(在”渐变编辑器”中)【Ctrl】+【N】 二、文件操作 新建图形文件【Ctrl】+【N】 打开已有的图像【Ctrl】+【O】 打开为... 【Ctrl】+【Alt】+【O】 关闭当前图像【Ctrl】+【W】 保存当前图像【Ctrl】+【S】 另存为... 【Ctrl】+【Shift】+【S】 存储为网页用图形【Ctrl】+【Alt】+【Shift】+【S】 页面设置【Ctrl】+【Shift】+【P】 打印预览【Ctrl】+【Alt】+【P】 打印【Ctrl】+【P】

电脑键盘快捷键大全(超全)

电脑键盘快捷键大全 单独按Windows:显示或隐藏“开始”功能表 Windows+BREAK:显示“系统属性”对话框 Windows+D:显示桌面 Windows+M:最小化所有窗口 Windows+Shift+M:还原最小化的窗口 Windows+E:开启“资源管理器” Windows+F:查找文件或文件夹 Windows+CTRL+F:查找电脑 Windows+F1:显示Windows“帮助” Windows+R:开启“运行”对话框 Windows+U:开启“公用程序管理器” Windows+L:切换使用者(WindowsXP新功能) Ctrl快捷键 Ctrl+S保存 Ctrl+W关闭程序 Ctrl+N新建 Ctrl+O打开 Ctrl+Z撤销 Ctrl+F查找 Ctrl+X剪切

Ctrl+C复制 Ctrl+V粘贴 Ctrl+A全选 Ctrl+[缩小文字 Ctrl+]放大文字 Ctrl+B粗体 Ctrl+I斜体 Ctrl+U下划线 Ctrl+Shift输入法切换 Ctrl+空格中英文切换 Ctrl+回车QQ号中发送信息 Ctrl+Home光标快速移到文件头 Ctrl+End光标快速移到文件尾 Ctrl+Esc显示开始菜单 Ctrl+Shift+<快速缩小文字 Ctrl+Shift+>快速放大文字 Ctrl+F5在IE中强行刷新 Ctrl+拖动文件复制文件 Ctrl+Backspace启动\关闭输入法 拖动文件时按住Ctrl+Shift创建快捷方式Alt快捷键 Alt+空格+C关闭窗口

Alt+空格+N最小化当前窗口 Alt+空格+R恢复最小化窗口 Alt+空格+X最大化当前窗口 Alt+空格+M移动窗口 Alt+空格+S改变窗口大小 Alt+Tab两个程序交换 Alt+255QQ号中输入无名人 Alt+F打开文件菜单 Alt+V打开视图菜单 Alt+E打开编辑菜单 Alt+I打开插入菜单 Alt+O打开格式菜单 Alt+T打开工具菜单 Alt+A打开表格菜单 Alt+W打开窗口菜单 Alt+H打开帮助菜单 Alt+回车查看文件属性 Alt+双击文件查看文件属性 Alt+X关闭C语言 ALT+F4 关闭当前应用程序 ALT+SPACEBAR 打开程序最左上角的菜单ALT+TAB 切换当前程序

工程图学课程设计说明书

江苏大学 工程图学课程设计 单级直齿圆柱齿轮减速器 设计说明书 专业机械设计制造及其自动化 班级 学号 姓名 指导教师 答辩日期 2014.7.3

1.概述 1.1减速器的作用: ①降速同时提高输出扭矩,扭矩输出比例按电机输出乘减速比,但要注意不能超出减速机额定扭矩。②减速同时降低了负载的惯量,惯量的减少为减速比的平方。 1.2减速器的种类: 减速器的种类很多。常用的齿轮及蜗杆减速器按其传动及结构特点,大致可分为三类:齿轮减速器(主要有圆柱齿轮减速器,圆锥齿轮减速器和圆锥-圆柱齿轮减速器三种),蜗杆减速器(主要有圆弧蜗杆减速器,锥蜗杆减速器和蜗杆-齿轮减速器),行星减速器(主要有渐开线行星齿轮减速器和谐波齿轮减速器)。 下图为常见减速箱: 1.3减速器的应用场合: 减速器应用范围相当广泛。其应用从大动力的传输工作,到小负荷,精确的角度传输都可以见到减速机的应用,且在工业应用上,减速机具有减速及增加转矩功能。因此广泛应用在速度与扭矩的转换设备。几乎在各式机械的传动系统中都可以见到它的踪迹,从交通工具的船舶、汽车、机车,建筑用的重型机具,机械工业所用的加工机具及自动化生产设备,到日常生活中常见的家电,钟表等等.

2.单极圆柱齿轮减速器各组成部分分析 2.1 整体描述 本次课程设计的减速器为单极圆柱齿轮减速器,它由36种零件组成,其中标准件12种。它主要由箱体,箱盖,齿轮,轴,端盖等组成。下图所示的爆炸图清晰地表达了各零件之间的装配关系: 图1减速器爆炸示意图 性能规格尺寸:¢47H7,¢62H7,¢30H7, ¢30,¢20K6 等. 装配尺寸:¢47H7/h9,¢62H7/h9,¢30k6, ¢30H7/h9,¢20k6 等. 外型尺寸:230,172,80,212 等 . 安装尺寸:158,16,23 ,74,34 , 70±0.08等.

MATLAB简单程序大全

MATLAB简单程序大全 求特征值特征向量 A=[2 3 4;1 5 9;8 5 2] det(A) A' rank(A) inv(A) rref(A) eig(A)%求特征值和特征向量 卫星运行问题 h=200,H=51000,R=6378; a=(h+H+2*R)/2; c=(H-h)/2; b=(a^2-c^2)^(1/2); e=c/a; f=sqrt(1-exp(2).*cos(t)^2); l=int(f,t,0,pi/2) L=4*a.*l 动态玫瑰线 n=3;N=10000; theta=2*pi*(0:N)/N; r=cos(n*theta); x=r.*cos(theta); y=r.*sin(theta); comet(x,y) 二重积分 syms x y f=x^2*sin(y); int(int(f,x,0,1),y,0,pi) ezmesh(f,[0,1,0,pi]) 函数画图 syms x;f=exp(-0.2*x)*sin(0.5*x); ezplot(f,[0,8*pi])

玫瑰线 theta=0:0.01:2*pi; r=cos(3*theta); polar(theta,r,'r') 求x^2+y^2=1和x^2+z^2=1所围成的体积 syms x y z R r=1; Z=sqrt(1-x^2); y0=Z; V=8*int(int(Z,y,0,y0),x,0,1) 求导数及图像 f='1/(5+4*cos(x))'; subplot(1,2,1);ezplot(f) f1=diff(f) subplot(1,2,2);ezplot(f1) 绕x轴旋转 t=(0:20)*pi/10; r=exp(-.2*t).*sin(.5*t); theta=t; x=t'*ones(size(t)); y=r'*cos(theta); z=r'*sin(theta); mesh(x,y,z) colormap([0 0 0]) 某年是否闰年 year=input('input year:='); n1=year/4; n2=year/100; n3=year/400; if n1==fix(n1)&n2~=fix(n2) disp('是闰年') elseif n1==fix(n1)&n3==fix(n3) disp('是闰年') else

电脑键盘快捷键大全-解决网页不能复制的办法

电脑键盘快捷键大全,解决网页不能复制的办法单独按Windows:显示或隐藏“开始”功能表Windows+BREAK:显示“系统属性”对话框 Windows+D:显示桌面 Windows+M:最小化所有窗口 Windows+Shift+M:还原最小化的窗口 Windows+E:开启“资源管理器” Windows+F:查找文件或文件夹 Windows+CTRL+F:查找电脑 Windows+F1:显示Windows“帮助” Windows+R:开启“运行”对话框 Windows+U:开启“公用程序管理器” Windows+L:切换使用者(WindowsXP新功能) Ctrl快捷键 Ctrl+S保存 Ctrl+W关闭程序 Ctrl+N新建 Ctrl+O打开 Ctrl+Z撤销 Ctrl+F查找 Ctrl+X剪切 Ctrl+C复制 Ctrl+V粘贴 Ctrl+A全选 Ctrl+[缩小文字 Ctrl+]放大文字 Ctrl+B粗体 Ctrl+I斜体 Ctrl+U下划线 Ctrl+Shift输入法切换 Ctrl+空格中英文切换 Ctrl+回车QQ号中发送信息 Ctrl+Home光标快速移到文件头 Ctrl+End光标快速移到文件尾 Ctrl+Esc显示开始菜单 Ctrl+Shift+<快速缩小文字 Ctrl+Shift+>快速放大文字 Ctrl+F5在IE中强行刷新 Ctrl+拖动文件复制文件 Ctrl+Backspace启动\关闭输入法 拖动文件时按住Ctrl+Shift创建快捷方式 Alt快捷键 Alt+空格+C关闭窗口 Alt+空格+N最小化当前窗口

Alt+空格+R恢复最小化窗口 Alt+空格+X最大化当前窗口 Alt+空格+M移动窗口 Alt+空格+S改变窗口大小 Alt+Tab两个程序交换 Alt+255QQ号中输入无名人 Alt+F打开文件菜单 Alt+V打开视图菜单 Alt+E打开编辑菜单 Alt+I打开插入菜单 Alt+O打开格式菜单 Alt+T打开工具菜单 Alt+A打开表格菜单 Alt+W打开窗口菜单 Alt+H打开帮助菜单 Alt+回车查看文件属性 Alt+双击文件查看文件属性 Alt+X关闭C语言 ALT+F4关闭当前应用程序 ALT+SPACEBAR打开程序最左上角的菜单 ALT+TAB切换当前程序 ALT+ESC切换当前程序 ALT+ENTER将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换PRINTSCREEN将当前屏幕以图象方式拷贝到剪贴板 ALT+PRINTSCREEN将当前活动程序窗口以图象方式拷贝到剪贴板 Shift快捷键 Shift+空格半\全角切换 Shift+右击右菜单打开方式 Shift+F10选中文件的右菜单 Shift+多级文件全部关闭 Shift+Del直接删除文件 Shift+^处在中文标点符号半角在智能ABC中省曰号 Shift+\处在中文标点符号半角在智能ABC中顿号 常规键盘快捷键 Ctrl+C复制。 Ctrl+X剪切。 Ctrl+V粘贴。 Ctrl+Z撤消。 DELETE删除。 Shift+Delete永久删除所选项,而不将它放到“回收站”中。 拖动某一项时按CTRL复制所选项。 拖动某一项时按CTRL+SHIFT创建所选项目的快捷键。 F2重新命名所选项目。 CTRL+向右键将插入点移动到下一个单词的起始处。

工程识图课程设计说明书

课程设计 课程名称工程识图课程设计题目名称识读和绘制XX建筑施工图专业班级2015级工程管理学生姓名耿国庆 学号51504031035 指导教师张尧 二○一六年十二月××日

目录 摘要: (3) 1 背景介绍 (4) 1.1工程识图绘图概述 (4) 1.2工程识图绘图意义目的作用 (4) 1.3工程识图绘图相关理论知识 (4) 2 住宅建筑物概况 (5) 3 绘制住宅建筑物施工图的步骤、方法 (5) 3.1底层平面图 (5) 3.2标准层平面图 (8) 3.3立面图 (11) 3.4剖面图 (16) 4 小结 (20) 参考文献 (20)

摘要:×××××(摘要内容用小四号宋体字书写,每行与冒号对齐;行距为固定值22磅)主要介绍下识图绘制的背景知识,已经本篇文章所做的事××××× 关键词:建筑施工图;识图方法;绘制

1 背景介绍 1.1 工程识图绘图概述 通过本次课程设计,使学生巩固建筑工程制图的理论知识,提高识读和绘制图纸的技能,初步培养学生运用所学专业技术知识分析和解决实际问题的能力,熟练掌握专业的设计软件和文字处理工具,熟悉文献资料检索查阅的一般方法,熟悉设计报告(论文)撰写程序和方法,为完成毕业设计(论文)及今后所从事的专业技术工作打下基础。 1.2工程识图绘图意义目的作用 工程识图绘图既强调了视图绘制和识读,又强调尺寸的标注和识读,还强调了零件工作状态与视图选择、尺寸标注的关系,采用了小标签形式对主要内容进行了一些注释、重点的提示或小结和如何学习的提示。同学们在学习时,可以充分利用这一点测试自己对相关内容的理解掌握程度,也可以使自己更好地掌握相关知识。随后并创新出更有意义的建筑结构构造。 1.3工程识图绘图相关理论知识 把工程上具体的物体,视为由几何形体所组成,根据画法几何的理论,研究它们在平面上用图形来表达的问题,而形成工程图。在工程图中,除了有表达物体形状

Adobe Photoshop CC 2020 快捷键

Adobe Photoshop CC2020快捷键 目录 应用程序菜单 (1) 文件 (1) 编辑 (1) 图像 (2) 图层 (2) 选择 (2) 滤镜 (3) 3D (3) 视图 (3) 窗口 (3) 帮助 (3) 面板菜单 (4) 3D (4) 图层 (4) 工具 (4) 任务空间 (6) 选择并遮住 (6) 内容识别填充 (6)

应用程序菜单 命令 快捷键 文件 新建 Ctrl+N 打开 Ctrl+O 在 Bridge 中浏览 Alt+Ctrl+O 或Shift+Ctrl+O 打开为 Alt+Shift+Ctrl+O 关闭 Ctrl+W 关闭全部 Alt+Ctrl+W 关闭其它 Alt+Ctrl+P 关闭并转到 Bridge Shift+Ctrl+W 存储 Ctrl+S 存储为 Shift+Ctrl+S 或Alt+Ctrl+S 恢复 F12 导出> 导出为 Alt+Shift+Ctrl+W 存储为 Web 所用格式(旧版) Alt+Shift+Ctrl+S 文件简介... Alt+Shift+Ctrl+I 打印... Ctrl+P 打印一份 Alt+Shift+Ctrl+P 退出 Ctrl+Q 编辑 还原 Ctrl+Z 重做 Shift+Ctrl+Z 切换最终状态 Alt+Ctrl+Z 渐隐... Shift+Ctrl+F 剪切 Ctrl+X或F2 拷贝 Ctrl+C或F3 合并拷贝 Shift+Ctrl+C 粘贴 Ctrl+V或F4 选择性粘贴> 原位粘贴 Shift+Ctrl+V 贴入 Alt+Shift+Ctrl+V 搜索 Ctrl+F 填充... Shift+F5 内容识别缩放 Alt+Shift+Ctrl+C 自由变换 Ctrl+T 变换> 再次 Shift+Ctrl+T 颜色设置... Shift+Ctrl+K

常用电脑操作快捷键大全

常用电脑操作快捷键大全 计算机常用操作快捷键大全 按窗口:显示或隐藏开始菜单窗口+中断:显示系统属性对话框窗口+显示桌面 Windows+M:最小化所有窗口 窗口+Shift+M:还原最小化窗口+E:打开资源管理器窗口+F:查找文件或文件夹窗口+CTRL+F:查找计算机 窗口+F1:显示窗口帮助窗口+R:打开运行对话框窗口+U:打开实用程序管理器 视窗+1:切换用户(新视窗XP功能) Ctrl快捷键 Ctrl+S保存Ctrl+W关闭程序Ctrl+N新建Ctrl+O打开Ctrl+Z撤消Ctrl+F查找Ctrl+X剪切Ctrl+C复制Ctrl+V粘贴Ctrl+A选择所有Ctrl+[减少文本Ctrl+]放大文本Ctrl+B粗体Ctrl+I斜体Ctrl+U下划线Ctrl+Shift输入法在中文和英文之间切换Ctrl+空格 Ctrl+输入QQ号码发送信息Ctrl+主光标快速移动到标题Ctrl+结束光标快速移动到文件末尾 一、常用用法:分类:默认列一、常用用法: F1显示当前程序或窗口的帮助内容。F2当您选择一个文件时,这意味着“重命名”F3打开“查找:所有文件”对话框F10或ALT激活当前程序的菜单栏窗口键或CTRL+ESC打开开始菜单当您在桌面上时。CTRL+ALT+DELETE在win9x中打开关闭程序对话框

删除删除选定的选择。如果它是一个文件,它将被放入回收站。 1 SHIFT+DELETE删除选定的选择。如果是文件,它将被直接删除,而不是放入回收站。 创建一个新文件 打开“打开文件”对话框打开“打印”对话框为当前操作保存文件CTRL+X将选定项目剪切到剪贴板CTRL+INSERT或CTRL+C将选定项目复制到剪贴板SHIFT+INSERT或CTRL+V将剪贴板内容粘贴到当前位置ALT+退格或CTRL+Z撤消上一操作 ALT+SHIFT+退格重复上一步?窗口键+最小化所有打开的窗口。Windows键+CTRL+M将恢复上一次操作前窗口的大小和位置。打开资源管理器 窗口键+F打开“查找:所有文件”对话框窗口键+R打开“运行”对话框窗口键+BREAK打开“系统属性”对话框窗口键+CTRL+F打开“查找:计算机”对话框SHIFT+F10或右键单击打开当前活动项的快捷菜单 在放入光盘时,SHIFT可以通过按下光盘来自动跳过播放。打开word 时按住以跳过自启动宏 ALT+F4关闭当前应用程序 ALT+空格键打开程序左上角的菜单ALT+TAB切换当前程序ALT+ESC切换当前程序 ALT+ENTER在窗口和全屏状态之间切换运行在窗口下的MSDOS窗口打印屏幕以图形方式将当前屏幕复制到剪贴板

CAD课程设计说明书

武汉轻工大学课程设计说明书 设计题目:工厂布置图 姓名: 学号: 院(系): 专业: 指导教师: 2016年 1 月10 日

一、设计任务与要求 本次课程设计的设计任务,是使用AutoCAD软件将课程设计任务书中所附的工 厂布置图绘制出来。 具体要求如下: 1、独立完成绘图及说明书编写工作。 2、文字,图框等内容要严格符合国家标准。 3、在模型空间中绘图,工厂布置图中要有设备图形符号图块1个以上。 4、不同类型的线条要区分线型,分层绘制。 5、所有设备图形线条流畅、连接恰当,图形比例协调美观。 二、绘图方案 1、构图思路: 任何图的构成都是由各种基本图形定形定位而成的。图中的尺寸标注虽然少, 但都是一些总体框架的定形尺寸比如开间跨度、长度、筒仓高度、以及主要设备定 形定位尺寸等,这些地方要准确绘制。对于没有给出具体尺寸的部分,对其绘制有 一个原则,那就是要布置合理,这其中包括了实际施工要求,各部分的相对位置合理,比如在俯视图副楼梯旁的沙克龙,不应挡住主门的进出等等。另外,对于三视 图的绘制还有一个很重要的依据,那就是一定要三图尺寸对应,在本次设计任务中,墙厚、筒仓壁厚度、皮带输送机位置大小等等都要做到上下对应。 2、设计难点: 本图的绘制难点主要有两个,这两点也同时决定了全图的质量高低。第一点, 在之前已经提到,三视图的各尺寸应当对应,这是除尺寸之外另一个绘图需要约束 的地方,但是相比尺寸标注更加容易忽略。第二点,未标明定形定位尺寸的设备, 门窗等的相对位置及大小确定,这决定了整张图的美观性,也同时决定了阅图者对 图的理解准确性。 3、主要绘图命令: 多线及多线修改,图块的创建及修改,阵列、偏移、剪断、延伸等修改命令, 直线,圆,矩形等基础绘图命令。 三、图形绘制主要步骤 1、绘图环境设置

Photoshop CC2018快捷键大全

Photoshop CC2018快捷键大全!篇幅较长,建议先收藏,以后有需要了随时可以查看 一、工具箱 (多种工具共用一个快捷键的可同时按【Shift】加此快捷键选取) 矩形、椭圆选框工具?【M】 移动工具?【V】 套索、多边形套索、磁性套索?【L】 魔棒工具?【W】 裁剪工具?【C】 切片工具、切片选择工具?【K】 喷枪工具?【J】 画笔工具、铅笔工具?【B】 像皮图章、图案图章?【S】 历史画笔工具、艺术历史画笔?【Y】 像皮擦、背景擦除、魔术像皮擦?【E】 渐变工具、油漆桶工具【G】 模糊、锐化、涂抹工具?【R】 减淡、加深、海棉工具【O】 路径选择工具、直接选取工具【A】 文字工具【T】 钢笔、自由钢笔【P】 矩形、圆边矩形、椭圆、多边形、直线【U】 写字板、声音注释【N】 吸管、颜色取样器、度量工具【I】

抓手工具?【H】 缩放工具?【Z】 默认前景色和背景色【D】 切换前景色和背景色?【X】 切换标准模式和快速蒙板模式【Q】 标准屏幕模式、带有菜单栏的全屏模式、全屏模式?【F】 临时使用移动工具【Ctrl】 临时使用吸色工具【Alt】 临时使用抓手工具?【空格】 快速输入工具选项(当前工具选项面板中至少有一个可调节数字)【0】至【9】循环选择画笔?【[ 】或【] 】 建立新渐变(在”渐变编辑器”中)【Ctrl】+【N】 二、文件操作 新建图形文件【Ctrl】+【N】 打开已有的图像【Ctrl】+【O】 打开为...?【Ctrl】+【Alt】+【O】 关闭当前图像【Ctrl】+【W】 保存当前图像【Ctrl】+【S】 另存为...?【Ctrl】+【Shift】+【S】 存储为网页用图形【Ctrl】+【Alt】+【Shift】+【S】 页面设置?【Ctrl】+【Shift】+【P】 打印预览【Ctrl】+【Alt】+【P】 打印?【Ctrl】+【P】 退出Photoshop?【Ctrl】+【Q】

(完整版)简单的循环程序

一、 实验目的: 1. 熟练掌握3种循环语句的用法。 2. 掌握在程序设计中用循环方法实现一些常用算法。 3. 进一步学习调试程序。 二、 实验内容: 1. 调试示例: 下列程序意在计算1+2+…+100的值,程序有错误,请通过调试改正并运行之。 有错误的程序: #include Int main() { Int I ,sum ; For(i=1,i<=100,i++) Sum=sum+I; Printf(“sum=%d\n ”,sum); Return 0; } 改过后的程序: #include void main() { int i,sum; for(i=1,sum=0;i<=100;i++) sum=sum+i; printf("sum=%d\n",sum); return 0; } 程 序 输 出 结 果: 2. 改错题 下列给定程序中的功能是:根据整型参数m 的值,计算如下公式的值: m m t ?--?-?-=13312211Λ 请改正程序中的错误,使它能得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构。 #include <stdio.h >

Void main() { Int i,m=5; Double y=1.0; /*****found*******/ For(i=2;i void main() { int i,m=5; double y=1.0; for(i=2;i<=m;i++) y-=1.0/(i*i); printf("\nthe result is %lf\n",y); } 输出结果: 3.编写并调试打印乘法九九表的程序。 程序为: #include void main() { int i,j; for(i=1;i<10;i++) {for(j=1;j<=i;j++) printf("%d*%d=%-3d",i,j,i*j); printf("\n");

浏览器快捷键

IE浏览器快捷键大全 进入您的主页 ALT+HOME IE 默认的快捷键: IE 的快捷键:显示 Internet Explorer 帮助,或显示对话框中某个项目的相关帮助信息 F1 在全屏幕和常规浏览器窗口之间进行切换 F11 在网页、地址栏和链接栏中向前移动到下一个项目 TAB 在网页、地址栏和链接栏中向后返回到上一个项目 SHIFT+TAB 进入您的主页 ALT+HOME 转到下一页 ALT+右箭头键 返回前一页 ALT+左箭头键或 BACKSPACE 显示某个链接的快捷菜单 SHIFT+F10 在不同框架之间向前移动 CTRL+TAB 或 F6 在不同框架之间向后移动 SHIFT+CTRL+TAB 向文档起始处滚动上箭头键 向文档结尾处滚动下箭头键 向文档起始处翻页 PAGE UP 向文档结尾处翻页 PAGE DOWN 移动到文档的开头 HOME 移动到文档的结尾 END 在网页中查找 CTRL+F 刷新当前的网页 F5 或 CTRL+R 即使 Web 上的页面与本机存储的网页时间戳相同,仍然刷新当前网页 CTRL+F5 停止下载网页 ESC 转到新位置 CTRL+O 或 CTRL+L 打开新窗口 CTRL+N 关闭当前窗口 CTRL+W 保存当前页 CTRL+S 打印当前页或当前框架 CTRL+P 激活选定的链接 ENTER 打开搜索栏 CTRL+E 打开收藏夹 CTRL+I 打开历史记录 CTRL+H 在历史记录或收藏夹栏上,打开多个文件夹 CTRL+单击 设置打印选项并打印网页 ALT+P 更改纸张、页眉和页脚、方向和页面的页边距 ALT+U 显示要打印的第一页 ALT+HOME 显示要打印的上一页 ALT+左箭头键 键入希望显示的页面的页码 ALT+A 显示要打印的下一页 ALT+右箭头键 显示要打印的最后一页 ALT+END 缩小 ALT+减号 放大 ALT+加号 显示缩放百分比列表 ALT+Z 指定要如何打印框架。该选项仅在打印使用框架的网站时可用。 ALT+F

CAD设计作图说明

CAD课程设计说明 一、课程设计内容:(即选择的绘图题目) 1、专业类:双轨运输大巷断面图 2、非专业类:家装图、挂轮架 二、课程设计的要求: 1、学生必须独立完成课程设计,若发现雷同者以不及格处理。 2、按照规定的时间完成,过期未交将以不及格处理。 3、按照所给图示绘制图形,要求图形美观整洁。 4、按照所给图示标注图形文件。 5、按照图示添加文字和表格。 6、按照图示添加标题栏块并添加块的属性。 7、每位学生完成两个题目,一个专业绘图,一个非专业绘图,并按要求完成课程设计任务书。 三、课程设计任务书格式及要求 1、文字要求:文字通顺,语言流畅,无错别字,采用计算机打印成文。 2、纸张要求:A4纸单面打印。 3、版面设置:上、下边距为2.54cm,左、右边距为3.17cm,行距为固定值20磅,字距为标准,装订线为0cm。 4、页码:正文页码排在页面的中间下方(1、2、……)。 5、字体:中文汉字、符号采用宋体字,数字及西文字母、符号采用Times New Roman字体。 6、字号:一级标题用三号字加粗(居左、缩进两个汉字);二级标题用四号字加粗(居左、缩进两个汉字);三级标题及以下的标题(含三级标题)均用小四号字加粗(居左、缩进两个汉字);正文文字用小四号字。 7、文中的图、表、附注、参考文献、公式一律采用阿拉伯数字。图序号及图名(五号宋体)置于图的下方,表序号及表名(五号宋体)置于表的上方。 8、图纸要求:图面整洁、布局合理,线条粗细均匀,圆弧连接光滑,尺寸标注规范,文字注释必须使用工程字书写。

CAD 课程设计题目 专业班级 学号 学生姓名 指导教师 20 年月日

[实用参考]Mac 版Photoshop 快捷键大全

Mac版Photoshop 快捷键一样的只不过是mac上的花键相当于window上的ctrl 取消当前命令:Esc; 工具选项板:Enter; 选项板调整:Shift+Tab; 退出系统:Ctrl+Q; 获取帮助:F1; 剪切选择区:F2/Ctrl+G; 拷贝选择区:F3/Ctrl+C; 粘贴选择区:F4/Ctrl+V; 显示或关闭画笔选项板:F5; 显示或关闭颜色选项板:F6; 显示或关闭图层选项板:F7; 显示或关闭信息选项板:F8; 显示或关闭动作选项板:F9; 显示或关闭选项板、状态栏和工具箱:Tab; 全选:Ctrl+A; 反选:Shift+Ctrl+I; 取消选择区:Ctrl+D; 选择区域移动:方向键; 将图层转换为选择区:Ctrl+单击工作图层; 选择区域以10个像素为单位移动:Shift+方向键; 复制选择区域:Alt+方向键; 填充为前景色:Alt+Delete; 填充为背景色:Ctrl+Delete; 调整色阶工具:Ctrl+L; 调整色彩平衡:Ctrl+B; 调节色调/饱和度:Ctrl+U; 自由变形:Ctrl+T; 增大笔头大小:“中括号”; 减小笔头大小:“中括号”; 选择最大笔头:Shift+“中括号”; 选择最小笔头:Shift+“中括号”;

重复使用滤镜:Ctrl+F; 移至上一图层:Ctrl+“中括号”; 排至下一图层:Ctrl+“中括号”; 移至最前图层:Shift+Ctrl+“中括号”;移至最底图层:Shift+Ctrl+“中括号”;激活上一图层:Alt+“中括号”; 激活下一图层:Alt+“中括号”; 合并可见图层:Shift+Ctrl+E; 放大视窗:Ctrl+“+”; 缩小视窗:Ctrl+“-”; 放大局部:Ctrl+空格键+鼠标单击;缩小局部:Alt+空格键+鼠标单击;翻屏查看:PageUp/PageDown; 显示或隐藏标尺:Ctrl+R; 显示或隐藏虚线:Ctrl+H; 显示或隐藏网格:Ctrl+”。 打开文件:Ctrl+O; 关闭文件:Ctrl+W; 文件存盘:Ctrl+S; 打印文件:Ctrl+P; 恢复到上一步:Ctrl+Z; 矩形、椭圆工具[M] 裁剪工具[C] 移动工具[V] 套索、多边形套索、磁性套索[L] 魔棒工具[W] 喷枪工具[J] 画笔工具[B] 像皮图章、图案图章[S] 历史记录画笔工具[P] 像皮擦工具[E] 铅笔、直线工具[N] 模糊、锐化、涂抹工具[R] 减淡、加深、海棉工具[O]

C语言第5次作业 简单程序设计

单选题: 1、以下程序段的输出结果是 int a=1234; printf("%2d\n",a); A.12 B.34 C.1234 D.提示出错、无结果 学生答案: C 参考答案: C 2、若有说明语句:int a,b,c,*d=&c; 则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是 A.scanf("%d%d%d",&a,&b,*d); B.scanf("%d%d%d",&a,&b,&d); C.scanf("%d%d%d",a,b,d); D.scanf("%d%d%d",a,b,*d); 学生答案: B 参考答案: A 3、以下合法的赋值语句是 A.x=y=100 B.d--; C.x+y; D.c=int(a+b); 学生答案: D 参考答案: B 4、设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是 printf("%d,%d\n",x--,--y); A.10,3 B.9,3 C.9,2 D.10,2 学生答案: D 参考答案: D 5、以下程序的输出结果是 main()

{ int a=3; printf("%d\n",(a+=a-=a*a));} } A.-6 B.12 C.0 D.-12 学生答案: D 参考答案: D 6、以下程序段的输出结果是 char s[]="\\141\141abc\t"; printf ("%d\n",strlen(s)); A.9 B.12 C.13 D.14 学生答案: A 参考答案: A 7、下列程序执行后的输出结果是 main() { int x='f'; printf("%c \n",'A'+(x-'a'+1)); } A.G B.H C.I D.J 学生答案: A 参考答案: A 8、下列程序执行后的输出结果是 main() { char x=0xFFFF; printf("%d \n",x--); } A.-32767 B.FFFE C.-108 D.-32768

Internet Explorer快捷键大全

1. Internet Explorer快捷键大全 2. 显示帮助F1 在全屏幕和常规浏览器窗口之间进行切换F11 在网页、地址栏或收藏夹栏中的项目中向前移动Tab 在网页、地址栏或收藏夹栏中的项目中向后移动Shift+Tab 进入您的主页Alt+Home 开始插入光标浏览F7 转到下一页Alt+向右键 返回前一页Alt+向左键或Backspace 显示某个链接的快捷菜单Shift+F10 向前移动边框和浏览器元素(仅在禁用选项卡浏览时有效)Ctrl+Tab 或 F6 在边框之间向后移动(仅在禁用选项卡浏览时有效)Ctrl+Shift+Tab 向文档起始处滚动向上键或Shift+空格键 向文档结尾处滚动向下键或空格键 以较大跨度向文档起始处翻页Page Up 以较大跨度向文档结尾处翻页Page Down 移动到文档的开头Home 移动到文档的结尾End 在网页中查找Ctrl+F 刷新当前网页F5 即使Web 上的页面与本机存储的网页时间戳相同,仍然刷新当前网页 Ctrl+F5 停止下载网页Esc 打开新网站或页面Ctrl+O 打开新窗口Ctrl+N 打开一个新的InPrivate 浏览窗口Ctrl+Alt+P 复制选项卡(在一个新选项卡中打开当前选项卡)Ctrl+K 关闭当前窗口(如果仅打开了一个选项卡)Ctrl+W 或Alt+F4 保存当前页Ctrl+S 打印当前页或当前框架Ctrl+P 激活选定的链接Enter 打开收藏夹Ctrl+I 打开历史记录Ctrl+H 打开源Ctrl+J 打开“页面”菜单Alt+P 打开“工具”菜单ALT+T 打开“帮助”菜单ALT+ H

ug课程设计说明书

三维CAD 课程设计说明书 题 目: 二级圆柱齿轮减速器造型设计 院(部): 机械工程学院 专业: 机械设计制造及其自动化 班级:0801 学生姓名: 李维 指导教师: 何丽红 谭加才 完成日期: 2011年1月 8日

目录 第1章前言 (3) 1.1引言 (3) 1.1.1减速器的功能 (3) 1.1.2减速器传动方案 (3) 1.2任务安排 (4) 1.2.1基本任务: (4) 1.2.2设计内容及要求 (4) 1.2.3进度安排: (5) 第2章减速器零件建模 (5) 2.1引言 (5) 2.2零件的建模 (6) 2.2.1大的直齿轮建模 (6) 第3章工程制图 (9) 3.1箱盖的转换 (9) 第4章虚拟装配 (12) 4.1引言 (12) 4.2总装配图 (12) 4.2.1总装配图 (12) 心得体会 (15) 参考文献 (17)

第1章前言 1.1引言 目前大学生就业压力极大,要想毕业后找到一份不错的工作的话,就一定要有足够的知识水平,作为一个工程技术人员,掌握UG绘图的本领是必须的。 另外现在的实际生产中,手工制图已经成为历史,为此熟练掌握至少一项的制图软件是十分用必要的,此外将二维图转为三维图也是十分重要的一项技能。是作为工程型人才必备的基本素质。 1.1.1减速器的功能 本品为二级减速器,其功能为连接电动机和工作机,将电动机相对于工作机高速的动力经过其内部的两对齿轮转变为较为低速的。 1.1.2减速器传动方案 高速端连接电动机的,其为一对直齿轮传动,再由一对斜齿轮传动至工作机。 传动方案一般用运动简图表示。拟定传动方案就是根据工作机的功能要求和工作条件,选择合适的传动机构类型,确定各类传动机构的布置以及各组部分的联接方式,绘出传动装置的运动简图

相关主题
文本预览
相关文档 最新文档