计算机图形学实验报告1

计算机图形学实验报告1
计算机图形学实验报告1

实验报告

实验课程:

学生姓名:

学号:

专业班级:

2014年12月07日

目录

实验二几何变换

实验三二维基本图形生成的算法实现实验四二维填充图的生成算法

实验五曲线的生成算法实现

实验二 几何变换

一、实验名称

几何变换

二、实验目的

1. 掌握二维图形基本的几何变换原理及变换矩阵;

2. 掌握矩阵运算的程序设计。

三、实验内容

1. 掌握二维图形的齐次坐标表示方法;

2. 实现二维图形的基本变换,如进行平移变换等。

四、算法描述

二维图形齐次坐标变换矩阵一般表达式:

??????????=i h

g

f e

d

c b a T

这3×3 矩阵中各元素功能一共可分成四块,即

()()()()体放大。

则总体缩小;否则,总若变换。:对整体图形进行伸缩处产生一个灭点。

:在处产生一个灭点。

:在:对图形做投影变换。。:对图形进行平移变换。转、对称、错切等变换:对图形进行缩放、旋,10001000111**1

1

>∴??

?

?

?

??===???

? ?????

? ??i i y x y x i h

x h g x g h g f c e b d a

五、实验步骤

1. 编写二维图形基本变换如平移、旋转、缩放、比例、对称交换的通用子程序;

2. 绘制矩形,调用以上的通用子程序实现图形变换,并输出交换结果;

3. 上机调试程序,显示最终结果。

六、实验源程序

#include #include

double x1,y1,x2,y2,x3,y3,x4,y4; void pingyi(double d,double c) { double a1,b1,a2,b2; a1=x1+d; b1=y1+c; a2=x2+d; b2=y2+c;

rectangle(a1,b1,a2,b2);

void suofang(double s)

{

double a1,b1,a2,b2;

a1=(double)x1*s;

b1=(double)y1*s;

a2=(double)x2*s;

b2=(double)y2*s;

rectangle(a1,b1,a2,b2);

}

void xuanzhuan(double b) {

double a1,b1,a2,b2;

a1=x1*cos(b)-y1*sin(b);

b1=y1*cos(b)+x1*sin(b);

a2=x2*cos(b)-y2*sin(b);

b2=y2*cos(b)+x2*sin(b); rectangle(a1,b1,a2,b2);

}

void cuoqie(double b,double d) {

double a1,b1,a2,b2,a3,b3,a4,b4; a1=x1+b*y1; a3=x3+b*y3;

b1=d*x1+y1; b3=d*x3+y3;

a2=x2+b*y2; a4=x4+b*x4;

b2=d*x2+y2; b4=d*x4+y4; line(a1,b1,a3,b3);

line(a3,b3,a2,b2);

line(a2,b2,a4,b4);

line(a4,b4,a1,b1);

void duichenpoint()

{

double a1,b1,a2,b2;

a1=-x1;b1=-y1;a2=-x2;b2=-y2; rectangle(a1,b1,a2,b2);

}

void duichenx()

{

double a1,b1,a2,b2;

a1=x1;b1=-y1;a2=x2;b2=-y2; rectangle(a1,b1,a2,b2);

}

void duicheny()

{

double a1,b1,a2,b2;

a1=-x1;b1=y1;a2=-x2;b2=y2; rectangle(a1,b1,a2,b2);

}

void duichenxy()

{

double a1,b1,a2,b2;

a1=y1;b1=x1;a2=y1;b2=x2; rectangle(a1,b1,a2,b2);

}

void duichenyx()

{

double a1,b1,a2,b2;

a1=-y1;b1=-x1;a2=-y2;b2=-x2; rectangle(a1,b1,a2,b2);

main()

{ int gdriver,gmode;

int select=100;

double c,d,e;

gdriver=DETECT;

gmode=0;

initgraph(&gdriver,&gmode,"d:\\tc20h\\bgi");

x1=50;y1=50;x2=100;y2=100;

x3=x2;y3=y1;x4=x1;y4=y2;

printf("please input a rectangle's two point:(x1,y1,x2,y2)"); scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);

rectangle(x1,y1,x2,y2);

getch();

printf("1----pingyi\n");

printf("2----suofang");

printf("3----xuanzhuan");

printf("4----cuoqie");

printf("5----guanyu yuandian duichen\n");

printf("6----guanyu x duichen \n");

printf("7----guanyu y duichen \n");

printf("8----guanyu y=x duichen \n");

printf("9----guanyu y=-x duichen \n");

printf("would you want to select what:(0 is exit system!) \n"); while(select!=0)

{

scanf("%d",&select);

if(select==1)

{

printf("what's distance to pingyi?");

printf("x: ");

scanf("%lf",&d);

printf("y: ");

scanf("%lf",&c);

pingyi(d,c);

}

else if(select==2)

{

printf("what's size of rectangle you want?"); scanf("%lf",&e);

suofang(e);

}

else if(select==3)

{

printf("xuanzhaun's size?");

scanf("%lf",&e);

xuanzhuan(e);

}

else if(select==4)

{

printf("cuoqie's size?");

scanf("%lf%lf",&c,&d);

cuoqie(c,d);

}

else if(select==5)

duichenpoint();

else if(select==6)

duichenx();

else if(select==7)

duicheny();

else if(select==8)

duichenxy();

else if(select==9)

duichenyx();

else

printf("error please again! or input 0 to exit!\n");

}

closegraph();

system("pause");

}

七、程序结果及其分析

通过在这次的实验刚开始,由于第一次接触编译的环境觉得无从下手,但也逐渐学到了很多东西按照图形变换的基本原理,我简单实现了图形的几种变换通过这次实验,我对二维图形的基本几何变换(平移、旋转、缩放、错切、反射、投影)和复合变换的理解更加深入了,在对图形进行复合变换时,将几个基本几何变换矩阵按一定顺序相乘便能得到一个复合矩阵,这个复合矩阵能够决定变换后图形的最终位置、形状和大小的信息。在产生复合矩阵时,因为矩阵乘法并不满足交换律,所以如果基本几何变换矩阵相乘的顺序不同,可能会得到不同的复合矩阵,也就生成了不同的最终变换图形。

实验三 二维基本图形生成的算法实现

一、实验名称

二维基本图形生成的算法实现

二、实验目的

1. 掌握直线的两种生成算法;

2. 掌握二维图形显示原理。

三、实验内容

1. 对各种生成算法进行效率及效果的分析和比较;

2. 实现直线的生成;

3. 学有余力的同学可在对现有算法理解的基础上,能自行设计二维图形的生成算法并编程实现。

四、算法描述

1. 数值微分法(Digital Differential Analyzer ,DDA)生成直线 (1) 算法思想:基于直线的微分方程来生成直线。 已知过端点P 0 (x 0, y 0), P 1(x 1, y 1)的直线段L :y=kx+b

直线斜率为dx dy

x y x x y y k =

??=--=

0101

(2)数学描述

①|k | ≤1 时,在x 的增量方向上走步,走步的方向决定于?x 的符号。 x i+1=x i + ?x , 计算y i+1= kx i+1+ b

= kx i + b + k ?x

= y i + k ?x

当?x =1; y i+1 = y i + k

即:当x每递增1,y递增k(即直线斜率);

在这种情况下,x每增加1,y最多增加1。

②当|k|>1时,在y的增量方向上走步,走步的方向决定于?y的符号。

y i+1 = y i + 1

计算x i = y i/k - b/k

x i+1 = y i+1/k - b/k

= (y i+1)/k - b/k

= y i/k-b/k + 1/k

= x i + 1/k

2. Bresenham算法生成直线

(1)算法思想

比较从理想直线到位于直线上方的像素的距离d2和相邻的位于直线下方的像素的距离d1,然后根据距离误差项的符号确定与理想直线最近的象素。

(2)数学描述

(1) 判别函数

设直线起点P0(x0,y0),终点P1(x1,y1),令e0=2?y - ?x作为判别函数,根据e0的正负,可以确定走向:

①e0<0,Y 方向不走步

②e0>=0,Y方向走一步

(2) 递推公式

对于第i +1步(i=0,l,2,……,n)

如果e i≥0,则Y方向走一步:

X i+l=X i+1 Y i+1 =Y i+1

e i+1=e i + 2?y - 2?x

如果e i<0,则Y方向不走步:

X i+l=X i+1 Y i+1 =Yi

e i+1= e i+ 2?y

五、实验步骤

1. 选择一种直线生成算法(Bresenham算法生成直线);

2. 用C语言编写程序,依情况进行判断;

3. 用putpixel()函数逐个画点;

4. 上机调试程序,显示最终结果。

六、实验源程序

#include

#include

double x,y;

double a[50];b[50];

void run(double k,int d)

{

int i;

if(abs(k)<=1)

{

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

{

a[i]=a[i-1]+d;

b[i]=b[i-1]+k*d;

putpixel(a[i],b[i],1);

getch();

}

}

else

{

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

{

a[i]=a[i-1]+1/k;

b[i]=b[i-1]+1;

putpixel(a[i],b[i],1

);

getch();

}

}

}

main()

{

int gdriver,gmode;

gdriver=DETECT;

gmode=0;

initgraph(&gdriver,&gmode,"d:\\tc20h\\bgi");

x=50;y=50;

putpixel(x,y,1);

getch();

a[1]=x;

b[1]=y;

run(2,2);

run(0.5,50);

system("pause");

}

七、程序结果及其分析

实验四二维填充图的生成算法

一、实验名称

二维填充图的生成算法

二、实验目的

1、掌握区域填充的扫描线算法思想。

三、实验内容

1、编程实现任一多边形的填充。

四、算法描述

1、算法思想

用水平扫描线从上到下扫描由点线段构成的多段构成的多边形。每根扫描线与多边形各边产生一系列交点,将这些交点按横坐标从小到大排序,将交点两两配对,并填充每一区段。多边形被扫描完毕后,填充也就完成。

2、算法步骤:

(1)为每一条扫描线建立新边表NET;

(2)将扫描线纵坐标y的初值置为NET中非空元素的最小序号;

(3)置活性边表AET为空;

(4)执行下列步骤直至NET和AET都为空;

A、如果NET中的第y类非空,则将其中的所有边取出并插入AET中,在插

入过程中进行排序;

B、对AET中的边两两配对,将每对边中x坐标按规则取整,获得有效的填

充区段,再填充;

C、将当前扫描线纵坐标y值递增1,即y=1;

D、将AET中满足y=ymax边删去;

E、对AET中剩下的每一条边的x递增deltax,即x=x+deltax

3、思考:

(1)如何解决填充扩大化问题?

(2)如何解决交点计数问题?

五、实验步骤

1. 利用扫描线填充算法实现,多边形以n, x_array, y_array形式给出,其中x_array,y_array中存放着多边形的n个顶点的x, y坐标;

2. 用C语言编写程序实现算法;

3. 上机调试程序,显示最终结果。

六、实验要求

#include

#include

#include

#include

void draw(int x1,int y1,int x2,int y2,int delta)

{int nx1,ny1,nx2,ny2;

nx1=x1,ny1=y2-delta,nx2=x1+delta,ny2=y2;

while((ny1>=y1)&&(nx2<=x2))

{line(nx1,ny1,nx2,ny2);

getch();

ny1-=delta; nx2+=delta; }

if(nx2>x2)

{ny2-=nx2-x2; nx2=x2;

while(ny1>y1)

{line(nx1,ny1,nx2,ny2);

getch();

ny1-=delta; ny2-=delta; }

nx1+=y1-ny1; ny1=y1;

while(nx1

{line(nx1,ny1,nx2,ny2);

getch();

nx1+=delta; ny2-=delta; }

}

else

{nx1+=y1-ny1; ny1=y1;

while(nx2

{line(nx1,ny1,nx2,ny2);

getch();

nx2+=delta; nx1+=delta; }

ny2-=nx2-x2; nx2=x2;

while(ny2>y1)

{line(nx1,ny1,nx2,ny2);

getch();

ny2-=delta; nx1+=delta; }

}

}

int main(void)

{int x1,y1,y2,x2,delta;

int driver=DETECT,mode;

printf("Please input lefttop(x1,y1) and rightbottom(x2,y2) of rectangle and delta:\n"); scanf("%d%d%d%d%d",&x1,&y1,&x2,&y2,&delta);

initgraph (&driver,&mode,"d:\\tc20h\\bgi"); /*这里*/rectangle(x1,y1,x2,y2);

getch();

draw(x1,y1,x2,y2,delta);

gotoxy(1,1);

printf("Press any key to exit!");

getch();

closegraph();

return 0;

}

七、程序结果及其分析

实验五 曲线的生成算法实现

一、实验名称

曲线的生成算法实现

二、实验目的

1. 掌握B 样条曲线、Bezier 曲线的定义;

2. 能编程实现N 次B 样条曲线、Bezier 曲线的绘制与显示。

三、实验内容

1. 编程实现二次Bezier 曲线的绘制;

2. 学有余力的同学可以编程实现二次B 样条曲线的绘制。

四、算法描述

1. 贝塞尔曲线

贝塞尔曲线的参数向量表达式

通常,n+1个顶点定义一个n 次多项式。

()()

()

100,≤≤=∑=t t B P t P n

i n i i

其中

()()()i

n i n i t t i n i n t B --??-=

1!!!,称为伯恩斯坦(Bernstain)基函数。

2. B 样条的数学表达式

给定m+n+1个顶点,

()()

()

100,,≤≤?=∑=+t t F P t P n

k n k k i n i

可以定义m+1段n 次的参数曲线段为:

()()

()

100

,,≤≤?=∑=+t t F P t P n

k n k k i n i

式中

()()()

()

n k t j k n t C t F k

n j n

j n j

n

n k ,,1,0,1010

1

1, =≤≤--+-=

∑-=+

称为n 次B 样条基函数。

五、实验步骤

1. 编程实现二次Bezier 曲线的绘制;

2. 上机调试程序,显示最终绘图结果。

六、实验要求

#include "graphics.h" #include "malloc.h" #include "math.h" #define MULTIPLE 7 #define ROW 4 struct node{ float x,y; };

void draw_polygon(struct node a[],int originx,int originy) {

int n;

for (n=0;n

if (n==0) moveto(originx+a[0].x,originy-a[0].y); lineto(originx+a[n].x,originy-a[n].y); } }

struct node decasteljau(struct node p[],int n,float u) {

int i,r;

struct node point,q[20]; for(i=0;i

for(r=1;r

for(i=0;i

q[i].x=(1.0-u)*q[i].x+u*q[i+1].x;

q[i].y=(1.0-u)*q[i].y+u*q[i+1].y;

}

return q[0];

}

void draw_bezier_curve(struct node p[],int n,int x0,int y0) {

int i,x,y;

float u,delta;

struct node point;

delta=1.0/(float)(MULTIPLE*ROW);

for(i=0,u=0;u<=1.0;i++,u=u+delta){

point=decasteljau(p,n,u);

if(i==0)moveto(x0+point.x,y0-point.y);

lineto(x0+point.x,y0-point.y);

}

}

main()

{

int gdriver=DETECT,gmode;

int number,n,originx,originy;

struct node a[]={{120,0},{45,0},{0,45},{0,120}};

initgraph(&gdriver,&gmode,"");

originx=getmaxx()/2;

originy=getmaxy()/2;

setcolor(BLUE);

draw_polygon(a,originx,originy);

setcolor(RED);

draw_bezier_curve(a,ROW,originx,originy);

getch();

closegraph();

}

七、程序结果及其分析

计算机图形学实验报告

《计算机图形学》实验报告姓名:郭子玉 学号:2012211632 班级:计算机12-2班 实验地点:逸夫楼507 实验时间:15.04.10 15.04.17

实验一 1 实验目的和要求 理解直线生成的原理;掌握典型直线生成算法;掌握步处理、分析实验数据的能力; 编程实现DDA 算法、Bresenham 中点算法;对于给定起点和终点的直线,分别调用DDA 算法和Bresenham 中点算法进行批量绘制,并记录两种算法的绘制时间;利用excel 等数据分析软件,将试验结果编制成表格,并绘制折线图比较两种算法的性能。 2 实验环境和工具 开发环境:Visual C++ 6.0 实验平台:Experiment_Frame_One (自制平台) 3 实验结果 3.1 程序流程图 (1)DDA 算法 是 否 否 是 是 开始 计算k ,b K<=1 x=x+1;y=y+k; 绘点 x<=X1 y<=Y1 绘点 y=y+1;x=x+1/k; 结束

(2)Mid_Bresenham 算法 是 否 否 是 是 是 否 是 否 开始 计算dx,dy dx>dy D=dx-2*dy 绘点 D<0 y=y+1;D = D + 2*dx - 2*dy; x=x+1; D = D - 2*dy; x=x+1; x

3.2程序代码 //-------------------------算法实现------------------------------// //绘制像素的函数DrawPixel(x, y); (1)DDA算法 void CExperiment_Frame_OneView::DDA(int X0, int Y0, int X1, int Y1) { //----------请实现DDA算法------------// float k, b; float d; k = float(Y1 - Y0)/float(X1 - X0); b = float(X1*Y0 - X0*Y1)/float(X1 - X0); if(fabs(k)<= 1) { if(X0 > X1) { int temp = X0; X0 = X1; X1 = temp; }

基本运算器实验模板

计算机科学与技术系 实验报告 专业名称计算机科学与技术 课程名称计算机组成原理 项目名称基本运算器实验 班级 学号 姓名 同组人员无 实验日期 2016.5.17

一、实验目的与要求 (一) 实验目的: (1) 了解运算器的组成结构。 (2) 掌握运算器的工作原理。 (二) 实验要求: (1)实验之前,应认真准备,写出实验步骤和具体设计内容,否则实验效率会特别低,一次实验时间根本无法完成实验内容,即使基本作对了,也很难说懂得了些什么重要教学内容。 (2)应在实验前掌握所有控制信号的作用,写出实验预习报告并带入实验室。 (3)实验过程中,应认真进行实验操作,既不要因为粗心造成短路等事故而破坏设备,又要仔细思考实验有关内容,把自己想不明白的问题通过实验理解清楚。 二、实验逻辑原理图与分析 2.1 画实验逻辑原理图 xxxxxxxxxx xxxxxxxxxx 多路开关 判零 A=xx LOG=xx SHF=xx ART=xx 进位 B=xx & &

2.2 逻辑原理图分析 1)运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要 处理的数据存于暂存器A和暂存器B,三个部件同时接受来自A 和B 的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM)。 2)各部件对操作数进行何种运算由控制信号S3…S0和CN 来决定,任何时候, 多路选择开关只选择三部件中一个部件的结果作为ALU 的输出。如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU 零标志。 ALU 中所有模块集成在一片CPLD 中。 三、数据通路图及分析 1、逻辑运算

计算机图形学实验一

实验一二维基本图元的生成与填充 实验目的 1.了解并掌握二维基本图元的生成算法与填充算法。 2.实现直线生成的DDA算法、中点算法和Bresenham算法。 3.实现圆和椭圆生成的DDA和中点算法, 对几种算法的优缺点有感性认识。 二.实验内容和要求 1.选择自己熟悉的任何编程语言, 建议使用VC++。 2.创建良好的用户界面,包括菜单,参数输入区域和图形显示区域。 3.实现生成直线的DDA算法、中点算法和Bresenham算法。 4.实现圆弧生成的中点算法。 5.实现多边形生成的常用算法, 如扫描线算法,边缘填充算法。 6.实现一般连通区域的基于扫描线的种子填充算法。 7.将生成算法以菜单或按钮形式集成到用户界面上。 8.直线与圆的坐标参数可以用鼠标或键盘输入。 6. 可以实现任何情形的直线和圆的生成。 实验报告 1.用户界面的设计思想和框图。 2.各种实现算法的算法思想。 3.算法验证例子。 4.上交源程序。 直线生成程序设计的步骤如下: 为编程实现上述算法,本程序利用最基本的绘制元素(如点、直线等),绘制图形。如图1-1所示,为程序运行主界面,通过选择菜单及下拉菜单的各功能项分别完成各种对应算法的图形绘制。 图1-1 基本图形生成的程序运行界面 2.创建工程名称为“基本图形的生成”单文档应用程序框架 (1)启动VC,选择“文件”|“新建”菜单命令,并在弹出的新建对话框中单击“工程”标签。 (2)选择MFC AppWizard(exe),在“工程名称”编辑框中输入“基本图形的生成”作为工程名称,单击“确定”按钮,出现Step 1对话框。 (3)选择“单个文档”选项,单击“下一个”按钮,出现Step 2对话框。 (4)接受默认选项,单击“下一个”按钮,在出现的Step 3~Step 5对话框中,接受默认选项,单击“下一个”按钮。

电动机实验报告doc

电动机实验报告 篇一:电机实验报告 黑龙江科技大学 综合性、设计性实验报告 实验项目名称电机维修与测试 所属课程名称电机学 实验日期 XX年5.6—5.13 班级电气11-13班 学号 姓名 成绩 电气与信息工程学院实验室 篇二:电机实验报告 实验报告本 课程名称:电机拖动基础班级:电气11-2 姓名田昊石泰旭孙思伟 指导老师:_史成平 实验一单相变压器实验 实验名称:单相变压器实验 实验目的:1.通过空载和短路实验测定变压器的变比和参数。

2.通过负载实验测取变压器的运行特性。 实验项目:1. 空载实验测取空载特性U0=f(I0), P0=f(U0)。 2. 短路实验测取短路特性Uk=f(Ik), Pk=f(I)。 3. 负载实验保持U1=U1N,cos?2?1的条件下,测取U2=f(I2)。 (一)填写实验设备表 (二)空载实验 1.填写空载实验数据表格 2. 根据上面所得数据计算得到铁损耗PFe、励磁电阻Rm、励磁电抗Xm、电压比k (三)短路实验 1. 填写短路实验数据表格 O (四)负载实验 1. 填写负载实验数据表格 表3 cos?2=1 (五)问题讨论 1. 在实验中各仪表量程的选择依据是什么? 根据实验的单相变压器额定电压、额定电流、额定容量、空载电压,单 相变压器电源电压和频率、线圈匝数、磁路材质及几何尺寸等。 2. 为什么每次实验时都要强调将调压器恢复到

起始零位时方可合上电源开关或断开电源开关? 防止误操作造成人身伤害、防止对变压器及其它仪器仪表等设备过压过 流而损坏。 3. 实验的体会和建议 1.电压和电流的区别:空载试验在低压侧施加额定电压,高压侧开路;短路 试验在高压侧进行,将低压侧短路,在高压侧施加可调的低电压。2.测量范围的不同:空载试验主要测量的是铁芯损耗和空载电流, 而短路试 验主测量的是短路损耗和短路电阻。3.测量目的不同:空载试验主要测量数据反映铁芯情况,短路试验反映的是线圈方面的问题。 4.试验时,要注意电压线圈和电流线圈的同名端,要避免接错线。选择的导 线应该是高压导线,要不漏线头要有绝缘外皮保护。5.通过负载试验可以知道变压器的阻抗越小越好。阻抗起着限制变压器的电 流的作用,在设计时我们要考虑这些。 篇三:直流电动机实验报告 电机 实验报告 课程名称:______电机实验_________指导老师:___

计算机图形学实验报告 (2)

中南大学信息科学与工程学院 实验报告实验名称 实验地点科技楼四楼 实验日期2014年6月 指导教师 学生班级 学生姓名 学生学号 提交日期2014年6月

实验一Window图形编程基础 一、实验类型:验证型实验 二、实验目的 1、熟练使用实验主要开发平台VC6.0; 2、掌握如何在编译平台下编辑、编译、连接和运行一个简单的Windows图形应用程序; 3、掌握Window图形编程的基本方法; 4、学会使用基本绘图函数和Window GDI对象; 三、实验内容 创建基于MFC的Single Document应用程序(Win32应用程序也可,同学们可根据自己的喜好决定),程序可以实现以下要求: 1、用户可以通过菜单选择绘图颜色; 2、用户点击菜单选择绘图形状时,能在视图中绘制指定形状的图形; 四、实验要求与指导 1、建立名为“颜色”的菜单,该菜单下有四个菜单项:红、绿、蓝、黄。用户通过点击不同的菜单项,可以选择不同的颜色进行绘图。 2、建立名为“绘图”的菜单,该菜单下有三个菜单项:直线、曲线、矩形 其中“曲线”项有级联菜单,包括:圆、椭圆。 3、用户通过点击“绘图”中不同的菜单项,弹出对话框,让用户输入绘图位置,在指定位置进行绘图。

五、实验结果: 六、实验主要代码 1、画直线:CClientDC *m_pDC;再在OnDraw函数里给变量初始化m_pDC=new CClientDC(this); 在OnDraw函数中添加: m_pDC=new CClientDC(this); m_pDC->MoveTo(10,10); m_pDC->LineTo(100,100); m_pDC->SetPixel(100,200,RGB(0,0,0)); m_pDC->TextOut(100,100); 2、画圆: void CMyCG::LineDDA2(int xa, int ya, int xb, int yb, CDC *pDC) { int dx = xb - xa; int dy = yb - ya; int Steps, k; float xIncrement,yIncrement; float x = xa,y= ya; if(abs(dx)>abs(dy))

计算机组成原理实验-运算器组成实验报告

计算机组成原理课程实验报告 9.3 运算器组成实验 姓名:曾国江 学号: 系别:计算机工程学院 班级:网络工程1班 指导老师: 完成时间: 评语: 得分:

9.3运算器组成实验 一、实验目的 1.熟悉双端口通用寄存器堆的读写操作。 2.熟悉简单运算器的数据传送通路。 3.验证运算器74LS181的算术逻辑功能。 4.按给定数据,完成指定的算术、逻辑运算。 二、实验电路 ALU-BUS# DBUS7 DBUS0 Cn# C 三态门(244) 三态门(244)ALU(181) ALU(181) S3S2S1S0M A7A6A5A4F7F6F5F4 F3F2F1F0B3B2B1B0 Cn+4 Cn Cn Cn+4 LDDR2T2 T2 LDDR1LDRi T3 SW-BUS# DR1(273) DR2(273) 双端口通用寄存器堆RF (ispLSI1016) RD1RD0RS1RS0WR1WR0 数据开关(SW7-SW0)数据显示灯 A3A2A1A0B7B6B5B4 图3.1 运算器实验电路 LDRi T3A B 三态门 R S -B U S # 图3.1示出了本实验所用的运算器数据通路图。参与运算的数据首先通过实验台操作板上的八个二进制数据开关SW7-SW0来设置,然后输入到双端口通用寄存器堆RF 中。

RF(U30)由一个ispLSI1016实现,功能上相当于四个8位通用寄存器,用于保存参与运算的数据,运算后的结果也要送到RF中保存。双端口寄存器堆模块的控制信号中,RS1、RS0用于选择从B端口(右端口)读出的通用寄存器,RD1、RD0用于选择从A端口(左端口)读出的通用寄存器。而WR1、WR0用于选择写入的通用寄存器。LDRi是写入控制信号,当LDRi=1时,数据总线DBUS上的数据在T3写入由WR1、WR0指定的通用寄存器。RF的A、B端口分别与操作数暂存器DR1、DR2相连;另外,RF的B端口通过一个三态门连接到数据总线DBUS上,因而RF中的数据可以直接通过B端口送到DBUS 上。 DR1和DR2各由1片74LS273构成,用于暂存参与运算的数据。DR1接ALU的A输入端口,DR2接ALU的B输入端口。ALU由两片74LS181构成,ALU的输出通过一个三态门(74LS244)发送到数据总线DBUS上。 实验台上的八个发光二极管DBUS7-DBUS0显示灯接在DBUS上,可以显示输入数据或运算结果。另有一个指示灯C显示运算器进位标志信号状态。 图中尾巴上带粗短线标记的信号都是控制信号,其中S3、S2、S1、S0、M、Cn#、LDDR1、LDDR2、ALU_BUS#、SW_BUS#、LDRi、RS1、RS0、RD1、RD0、WR1、WR0都是电位信号,在本次实验中用拨动开关K0—K15来模拟;T2、T3为时序脉冲信号,印制板上已连接到实验台的时序电路。实验中进行单拍操作,每次只产生一组T1、T2、T3、T4时序脉冲,需将实验台上的DP、DB开关进行正确设置。将DP开关置1,DB开关置0,每按一次QD 按钮,则顺序产生T1、T2、T3、T4一组单脉冲。 三、实验设备 1.TEC-5计算机组成实验系统1台 2.逻辑测试笔一支(在TEC-5实验台上) 3.双踪示波器一台(公用) 4.万用表一只(公用) 四、实验任务 1、按图3.1所示,将运算器模块与实验台操作板上的线路进行连接。由于运 算器模块内部的连线已由印制板连好,故接线任务仅仅是完成数据开关、控制信号

计算机图形学实验内容汇总

计算机图形学实验 肖加清

实验一图形学实验基础 一、实验目的 (1)掌握VC++绘图的一般步骤; (2)掌握OpenGL软件包的安装方法; (3)掌握OpenGL绘图的一般步骤; (4)掌握OpenGL的主要功能与基本语法。 二、实验内容 1、VC++绘图实验 (1)实验内容:以下是绘制金刚石图案。已给出VC++参考程序,但里面有部分错误,请改正,实现以下图案。 N=3 N=4

N=5 N=10 N=30

N=50 (2)参考程序 //自定义的一个类 //此代码可以放在视图类的实现文件(.cpp) 里class CP2 { public: CP2(); virtual ~CP2(); CP2(double,double); double x; double y; }; CP2::CP2() { this->x=0.0; this->y=0.0; } CP2::~CP2() { } CP2::CP2(double x0,double y0) { this->x=x0; this->y=y0; }

//视图类的一个成员函数,这个成员函数可以放在OnDraw函数里调用。 //在视图类的头文件(.h)里定义此函数 void Diamond(); //在视图类的实现文件(.cpp)里实现此函数 void CTestView::Diamond() { CP2 *P; int N; double R; R=300; N=10; P=new CP2[N]; CClientDC dc(this); CRect Rect; GetClientRect(&Rect); double theta; theta=2*PI/N; for(int i=0;i #include #include #include //定义输出窗口的大小 #define WINDOW_HEIGHT 300

变压器实验报告汇总

四川大学电气信息学院 实验报告书 课程名称:电机学 实验项目:三相变压器的空载及短路实验专业班组:电气工程及其自动化105,109班实验时间:2014年11月21日 成绩评定: 评阅教师: 电机学老师:曾成碧 报告撰写:

一、实验目的: 1 用实验方法求取变压器的空载特性和短路特性。 2 通过空载及短路实验求取变压器的参数和损耗。 3 计算变压器的电压变化百分率和效率。 4掌握三相调压器的正确联接和操作。 5 复习用两瓦特法测三相功率的方法。 二.思考题的回答 1.求取变压器空载特性外施电压为何只能单方向调节?不单方向调节会出现什么问题? 答:因为当铁磁材料处于交变的磁场中时进行周期性磁化时存在磁滞现象。如果不单方向调节变压器外施电压,磁通密度并不会沿原来的磁化曲线下降,所以会影响实验结果的准确性。 2.如何用实验方法测定三相变压器的铜、铁损耗和参数?实验过程中作了哪些假定? 答:变压器的空载实验中认为空载电流很小,故忽略了铜耗,空载损耗近似等于变压器铁耗Fe P P ≈0,同时忽略了绕组的电阻和漏抗。空载时的铁耗可以直接用两瓦特法测得,根据公式2 003/I P r m ≈可以求得励磁电阻,由003/I U Z m ≈可以求得励磁阻抗,由2 2 k m m r Z X -=可以求得励磁电抗值。 在变压器的短路实验中,由于漏磁场分布十分复杂,故在T 形等效电路计算时,可取k x x x 5.0'21==σσ,且k r r r 5.0'21==。同时由于外加电压低,忽略了铁耗,故假设短路损耗等于变压器铜耗。短路损耗k P 可直接由两瓦特法测得,有公式k k k I P r 2/=可得k r ,k k k I U Z 3/=,故k k k r Z x 22-=。 3.空载和短路实验中,为减小测量误差,应该怎样联接电压接线?用两瓦特表法测量三相功率的原理。 答:变压器空载实验中应当采用电流表内接法。因为空载实验测量的是励磁阻抗,阻抗值较大,若采用电流表外接法,电压表会有明显的分流作用,从而产生较大的误差。 变压器短路实验应当采用电流表外接法。因为短路实验中测量的是漏阻抗,

运算器部件实验报告

实验一运算器部件实验报告 班级姓名学号日期 一、实验目的 ●熟悉与深入理解4位运算器芯片Am2901的功能和内部组成,运行中要求 使用的控制信号及其各自的控制作用。 ●熟悉与深入理解用4片4位的运算器芯片构成16位的运算器部件的具体方 案,各数据位信号、各控制位信号的连接关系。 ●熟悉与深入理解用2片GAL20v8芯片解决ALU最低位的进位输入信号和 最高、最低位的移位输入信号、实现4位的标志位寄存器的方案,理解为什么这些功能不能在运算器芯片之内实现而要到芯片之外另外处理。 ●明确教学计算机的运算器部件,使用总计24位的控制信号就完全确定了它 的全部运算与处理功能,脱机运算器实验中可以通过24位的微型开关提供这些控制信号。 二、实验说明 脱机运算器实验,是指让运算器从教学计算机整机中脱离出来,此时,它的全部控制与操作均需通过24位的微型开关来完成,通过开关、按键控制教学机的运算器完成指定的运算功能,并通过指示灯观察运算结果。 三、实验要求 1、实验之前认真预习,写出预习报告,包括操作步骤,实验过程所用数据和运行结果等 2、实验过程当中,要仔细进行,防止损坏设备,分析可能遇到的各种现象,判断结果是否正确,记录运行结果 3、实验之后,认真写出实验报告,包括对遇到的各种现象的分析,实验步骤和实验结果,自己在这次实验的心得体会与收获。 四、实验所使用到的控制信号 AM2901所用的控制信号

1、将教学机设置为单步、16位、脱机状态下,即把教学机左下方的5个控制开关置为1XX00。 2、按一下RESET按键,进行初始化。 3、按照指定功能给出控制信号和数据信息,观察各信号指示灯状态。 4、按压START键,给出脉冲信号,观察各信号灯状态。 六、实验内容 1、下表中所列操作在教学机上进行运算器脱机实验。并将结果填入表中。 运算器功能所用到的控制信号

计算机组成原理实验报告运算器组成存储器

计算机组成原理实验报告 一、实验1 Quartus H的使用 一.实验目的 掌握Quartus H的基本使用方法。 了解74 1 38(3:8)译码器、74244、74273的功能。 利用Quartus H 验证74138 (3: 8)译码器、74244、74273 的功能。 二.实验任务 熟悉Quartus H中的管理项目、输入原理图以及仿真的设计方法与流程。新建项目,利用原理编辑方式输入74138、74244、74273的功能特性,依照其功能表分别进行仿真,验证这三种期间的功能。 三.74138、74244、74273的原理图与仿真图 1.74138 的原理图与仿真图 74244的原理图与仿真图 1.

实验2运算器组成实验 一、 实验目的 1. 掌握算术逻辑运算单元(ALU 的工作原理。 2. 熟悉简单运算器的数据传送通路。 3. 验证4位运算器(74181)的组合功能。 4. 按给定数据,完成几种指定的算术和逻辑运算。 二、 实验电路 附录中的图示出了本实验所用的运算器数据通路图。 8位字长的ALU 由2 片74181构成。2片74273构成两个操作数寄存器 DR1和DR2用来保存参 与运算的数据。DR1接ALU 的A 数据输入端口,DR2接 ALU 的B 数据输入端 口,ALU 的数据输出通过三态门74244发送到数据总线BUS7-BUS 上。参与 运算的数据可通过一个三态门74244输入到数据总线上,并可送到DR1或 DR2 暂存。 图中尾巴上带粗短线标记的信号都是控制信号。除了 T4是脉冲信号外,其 4. 74273的原理图与仿真图、

他均为电位信号。nCO, nALU-BUS nSW-BU鈞为低电平有效。 三、实验任务按所示实验电路,输入原理图,建立.bdf 文件。 四. 实验原理图及仿真图 ,然后利用ALU的直通功能,检查DR1 DR2中是否保存了所置的数。 其实验原理图如下: 波形图如下: 实验 3 半导体存储器原理实验 (一)、实验目的 (1)熟悉静态随机存储器RAM和只读存储器ROM勺工作特性和使用方法; (2)熟悉半导体存储器存储和读出数据的过程; (3)了解使用半导体存储器电路时的定时要求。 (二)、实验要求 利用Quartus H器件库提供的参数化存储单元,设计一个由128X8 位的RAM和128X8位的ROM勾成的存储器系统。请设计有关逻辑电路,要求仿真通过,并设计波形文件,验证该存储器系统的存储与读出。 (三)、实验原理图与仿真图 ram内所存储的数据: rom 内所存储的数据: 仿真图如下: (四)心得体会 本次试验中,我们应该熟练掌握Quartus H软件的使用方法;熟悉静态随机存储器RAM和只读存储器RO啲工作特性和使用方法;熟悉半导体存储器存

计算机图形学实验三报告

计算机科学与通信工程学院 实验报告 课程计算机图形学 实验题目二维图形变换 学生姓名 学号 专业班级 指导教师 日期

成绩评定表

二维图形变换 1. 实验内容 完成对北极星图案的缩放、平移、旋转、对称等二维变换。 提示:首先要建好图示的北极星图案的数据模型(顶点表、边表)。另外,可重复调用“清屏”和“暂停”等函数,使整个变换过程具有动态效果。 2. 实验环境 软硬件运行环境:Windows XP 开发工具:visual studio 2008 3. 问题分析

4. 算法设计 程序框架: //DiamondView.h class CDiamondView : public CView { …… public: //参数输入和提示对话框 void Polaris();//北极星 …… }; //DiamondView.cpp void CDiamondView::OnMenuDiamond() { IsCutting = FALSE; if(dlgDiamond.DoModal()==IDOK) DrawDiamond(dlgDiamond.m_nVertex,dlgDiamond.

m_nRadius,100);//调用绘制金刚石的函数 } //北极星 void CDiamondView::Polaris() {......} 5. 源代码 //北极星 void hzbjx(CDC* pDC,long x[18],long y[18]) { CPen newPen1,*oldPen; newPen1.CreatePen(PS_SOLID,2,RGB(255,0,0)); oldPen = pDC->SelectObject(&newPen1); POINT vertex1[11]={{x[1],y[1]},{x[2],y[2]},{x[3],y[3]},{x[4],y[4]},{x[5],y[5]},{x[3],y[3]},{x[1],y[1]}, {x[6],y[6]},{x[3],y[3]},{x[7],y[7]},{x[5],y[5]}}; pDC->Polyline(vertex1, 11); newPen1.DeleteObject(); newPen1.CreatePen(PS_SOLID, 2, RGB(0,255,0)); oldPen = pDC->SelectObject(&newPen1); POINT vertex2[5]={{x[6],y[6]},{x[8],y[8]},{x[9],y[9]},{x[3],y[3]},{x[8],y[8]}}; pDC->Polyline(vertex2, 5); POINT vertex3[5]={{x[4],y[4]},{x[10],y[10]},{x[11],y[11]},{x[3],y[3]},{x[10],y[10]}}; pDC->Polyline(vertex3, 5);

电机学实验报告

湖北理工学院 实验报告 课程名称: 专业: 班级: 学号: 学生姓名: 电气与电子信息工程学院

实验一 直流电动机的运行特性 实验时间: 实验地点: 同组人: 一、实验目的: 1、掌握用实验方法测取直流并励电动机的工作特性和机械特性。 2、掌握直流并励电动机的调速方法。 二、预习要点 1、如何正确选择使用仪器仪表。特别是电压表电流表的量程。 2、直流电动机起动时,为什么在电枢回路中需要串接起动变阻器? 不串接会产生什么严重后果? 3、直流电动机起动时,励磁回路串接的磁场变阻器应调至什么位置? 为什么? 若励磁回路断开造成失磁时,会产生什么严重后果? 4、直流电动机调速及改变转向的方法。 三、实验主要仪器与设备: 序号 型 号 名 称 数 量 1 DD03 导轨、测速发电机及转速表 1台 2 DJ23 校正直流测功机 1台 3 DJ15 直流并励电动机 1台 4 D31 直流电压、毫安、电流表 2件 5 D42 三相可调电阻器 1件 6 D44 可调电阻器、电容器 1件 7 D51 波形测试及开关板 1件 四、实验原理 工作特性:电源电压一定,励磁电阻一定时,η、n 、T em =f(P 2)的关系曲线。 (一)并励电动机 (U N I fN 条件下)(并励电动机励磁绕组绝对不能断开) 1. 速率特性n=f(P 2) φ e a a C R I U n -= 转速调整率 %1000?-= ?N N n n n n

02020260 2T n P T P T T T em +=+Ω = +=π 3. 效率特性η=f(P 2) (75~95)% 实验原理图见图1-1 图1-1 直流并励电动机接线图 五、实验内容及步骤 1、实验内容: 工作特性和机械特性 保持U=U N 和I f =I fN 不变,测取n 、T 2、η=f (I a )、n=f (T 2)。 2、实验步骤: (1)并励电动机的工作特性和机械特性 1)按图1-1接线。校正直流测功机 MG 按他励发电机连接,在此作为直流电动机M 的负载,用于测量电动机的转矩和输出功率。R f1选用D44的1800Ω阻值。R f2 选用D42的900Ω串联900Ω共1800Ω阻值。R 1用D44的180Ω阻值。R 2选用D42的900Ω串联900Ω再加900Ω并联900Ω共2250Ω阻值。 2)将直流并励电动机M 的磁场调节电阻R f1调至最小值,电枢串联起动电阻R 1调至最大值,接通控制屏下边右方的电枢电源开关使其起动,其旋转方向应符合转速表正向旋转的要求。 3)M 起动正常后,将其电枢串联电阻R 1调至零,调节电枢电源的电压为220V ,调节校正直流测功机的励磁电流I f2为校正值(50mA 或100 mA ),再调节其负载电阻R 2和电动机的磁场调节电阻R f1,使电动机达到额定值:U =U N ,I =I N ,n =n N 。此时M 的励磁电流I f 即为额定励磁电流I fN 。 4)保持U =U N ,I f =I fN ,I f2为校正值不变,逐次减小电动机负载。测取电动机电枢输入电流I a ,转速n 和校正电机的负载电流I F 。 表1-1 U =U N = 220 V I f =I fN = 100 mA I f2= 81.4 mA

计算机图形学实验报告

计算机图形学 实验报告 姓名:谢云飞 学号:20112497 班级:计算机科学与技术11-2班实验地点:逸夫楼507 实验时间:2014.03

实验1直线的生成 1实验目的和要求 理解直线生成的原理;掌握典型直线生成算法;掌握步处理、分析 实验数据的能力; 编程实现DDA算法、Bresenham中点算法;对于给定起点和终点的 直线,分别调用DDA算法和Bresenham中点算法进行批量绘制,并记 录两种算法的绘制时间;利用excel等数据分析软件,将试验结果编 制成表格,并绘制折线图比较两种算法的性能。 2实验环境和工具 开发环境:Visual C++ 6.0 实验平台:Experiment_Frame_One(自制平台)。 本实验提供名为 Experiment_Frame_One的平台,该平台提供基本 绘制、设置、输入功能,学生在此基础上实现DDA算法和Mid_Bresenham 算法,并进行分析。 ?平台界面:如错误!未找到引用源。所示 ?设置:通过view->setting菜单进入,如错误!未找到引 用源。所示 ?输入:通过view->input…菜单进入.如错误!未找到引用 源。所示 ?实现算法: ◆DDA算法:void CExperiment_Frame_OneView::DDA(int X0, int Y0, int X1, int Y1) Mid_Bresenham法:void CExperiment_Frame_OneView::Mid_Bresenham(int X0, int Y0, int X1, int Y1)

3实验结果 3.1程序流程图 1)DDA算法流程图:开始 定义两点坐标差dx,dy,以及epsl,计数k=0,描绘点坐标x,y,x增 量xIncre,y增量yIncre ↓ 输入两点坐标x1,y1,x0,y0 ↓ dx=x1-x0,dy=y1-y0; _________↓_________ ↓↓ 若|dx|>|dy| 反之 epsl=|dx| epsl=|dy| ↓________...________↓ ↓ xIncre=dx/epsl; yIncre=dy/epsl ↓ 填充(强制整形)(x+0.5,y+0.5); ↓←←←← 横坐标x+xIncre; 纵坐标y+yIncre; ↓↑ 若k<=epsl →→→k++ ↓ 结束 2)Mid_Bresenham算法流程图开始 ↓ 定义整形dx,dy,判断值d,以及UpIncre,DownIncre,填充点x,y ↓ 输入x0,y0,x1,y1 ______↓______ ↓↓ 若x0>x1 反之 x=x1;x1=x0;x0=x; x=x0;

计算机组成原理实验1-运算器

《计算机组成原理》 实验报告 实验一运算器实验

一、实验目的 1.掌握运算器的组成及工作原理; 2.了解4位函数发生器74LS181的组合功能,熟悉运算器执行算术操 作和逻辑操作的具体实现过程; 3.验证带进位控制的74LS181的功能。 二、实验环境 EL-JY-II型计算机组成原理实验系统一套,排线若干。 三、实验内容与实验过程及分析(写出详细的实验步骤,并分析实验结果) 实验步骤:开关控制操作方式实验 1、按图1-7接线图接线: 连线时应注意:为了使连线统一,对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。 图1-1 实验一开关实验接线图 2、通过数据输入电路的拨开关开关向两个数据暂存器中置数: 1)拨动清零开关CLR,使其指示灯。再拨动CLR,使其指示灯亮。置ALU-G =1:关闭ALU的三态门;再置C-G=0:打开数据输入电路的三态门; 2)向数据暂存器LT1(U3、U4)中置数:

(1)设置数据输入电路的数据开关“D15……D0”为要输入的数值; (2)置LDR1=1:使数据暂存器LT1(U3、U4)的控制信号有效,置LDR2=0:使数据暂存器LT2(U5、U6)的控制信号无效; (3)按一下脉冲源及时序电路的【单脉冲】按钮,给暂存器LT1送时钟,上升沿有效,把数据存在LT1中。 3)向数据暂存器LT2(U5、U6)中置数: (1)设置数据输入电路的数据开关“D15……D0”为想要输入的数值; (2)置LDR1=0:数据暂存器LT1的控制信号无效;置LDR2=1:使数据暂存器LT2的控制信号有效。 (3)按一下脉冲源及时序电路的“单脉冲”按钮,给暂存器LT2送时钟,上升沿有效,把数据存在LT2中。 (4)置LDR1=0、LDR2=0,使数据暂存器LT1、LT2的控制信号无效。 4)检验两个数据暂存器LT1和LT2中的数据是否正确: (1)置C-G=1,关闭数据输入电路的三态门,然后再置ALU-G=0,打开ALU 的三态门; (2)置“S3S2S1S0M”为“F1”,数据总线显示灯显示数据暂存器LT1中的数,表示往暂存器LT1置数正确; (3)置“S3S2S1S0M”为“15”,数据总线显示灯显示数据暂存器LT2中的数,表示往暂存器LT2置数正确。 3、验证74LS181的算术和逻辑功能: 按实验步骤2往两个暂存器LT1和LT2分别存十六进制数“1234H”和“5678H”,在给定LT1=1234H、LT2=5678H的情况下,通过改变“S3S2S1S0MCn”的值来改变运算器的功能设置,通过数据总线指示灯显示来读出运算器的输出值F,填入上表中,参考表1-1的功能表,分析输出F值是否正确。分别将“AR”开关拨至“1”和“0”的状态,观察进位指示灯“CY”的变化并分析原因。 实验结果表为:

计算机图形学实验

实验1 直线的绘制 实验目的 1、通过实验,进一步理解和掌握DDA和Bresenham算法; 2、掌握以上算法生成直线段的基本过程; 3、通过编程,会在TC环境下完成用DDA或中点算法实现直线段的绘制。实验环境 计算机、Turbo C或其他C语言程序设计环境 实验学时 2学时,必做实验。 实验内容 用DDA算法或Besenham算法实现斜率k在0和1之间的直线段的绘制。 实验步骤 1、算法、原理清晰,有详细的设计步骤; 2、依据算法、步骤或程序流程图,用C语言编写源程序; 3、编辑源程序并进行调试; 4、进行运行测试,并结合情况进行调整; 5、对运行结果进行保存与分析; 6、把源程序以文件的形式提交; 7、按格式书写实验报告。 实验代码:DDA: # include # include

void DDALine(int x0,int y0,int x1,int y1,int color) { int dx,dy,epsl,k; float x,y,xIncre,yIncre; dx=x1-x0; dy=y1-y0; x=x0; y=y0; if(abs(dx)>abs(dy)) epsl=abs(dx); else epsl=abs(dy); xIncre=(float)dx/(float)epsl; yIncre=(float)dy/(float)epsl; for(k=0;k<=epsl;k++) { putpixel((int)(x+0.5),(int)(y+0.5),4); x+=xIncre; y+=yIncre; } } main(){ int gdriver ,gmode ;

电机学实验报告

电机学实验报告 学院:核技术及其自动化工程专业:电气工程及其自动化 教师:黄洪全 姓名:许新 学号:200706050209

实验一异步电机的M-S曲线测绘 一.实验目的 用本电机教学实验台的测功机转速闭环功能测绘各种异步电机的转矩~转差曲线,并加以比较。 二.预习要点 1.复习电机M-S特性曲线。 2.M-S特性的测试方法。 三.实验项目 1.鼠笼式异步电机的M-S曲线测绘测。 2.绕线式异步电动机的M-S曲线测绘。 >T m, (n=0) 当负载功率转矩 当S≥S m 过读取不同转速下的转矩,可描绘出不同电机的M-S曲线。

四.实验设备 1.MEL 系列电机系统教学实验台主控制屏。 2.电机导轨及测功机、转矩转速测量(MEL-13、MEL-14)。 3.电机起动箱(MEL-09)。 4.三相鼠笼式异步电动机M04。 5.三相绕线式异步电动机M09。 五.实验方法 1 被试电动机M04法。 G 功机,与按图线,实验步骤: (1)按下绿色“闭合”按钮开关,调节交流电源输出调节旋钮,使电压输出为220V ,起动交流电机。观察电机的旋转方向,是之符合要求。 (2)逆时针缓慢调节“转速设定”电位器经过一段时间的延时后,M04电机的负载将随之增加,其转速下降,继续调节该电位器旋钮电机由空载逐渐下降到200转/分左右(注意:转速低于200转/分时,有可能造成电机转速不稳定。) (3)在空载转速至200转/分范围内,测取8-9组数据,其中在最大转矩附近多测几点,填入表5-9。

(4)当电机转速下降到200转/分时,顺时针回调“转速设定”旋钮,转速开始上升,直到升到空载转速为止,在这范围内,读出8-9组异步电机的转矩T,转速n,填入表5-10。 2.绕线式异步电动机的M-S曲线测绘

电机学实验报告

课程名称:电机学实验指导老师:章玮成绩:__________________ 实验名称:异步电机实验实验类型:______________同组学生:旭东 一、实验目的和要求(必填)二、实验容和原理(必填) 三、主要仪器设备(必填)四、操作方法和实验步骤 五、实验数据记录和处理六、实验结果与分析(必填) 七、讨论、心得 一、实验目的 1、测定三相感应电动机的参数 2、测定三相感应电动机的工作特性 二、实验项目 1、空载试验 2、短路试验 3、负载试验 三、实验线路及操作步骤 电动机编号为D21,其额定数据:P N=100W,U N=220V,I N=0.48A,n N=1420r/min,R=40Ω,定子绕组△接法。 1、空载试验 (1)所用的仪器设备:电机导轨,功率表(DT01B),交流电流表(DT01B),交流电压表(DT01B)。 (2)测量线路图:见图4-4,电机绕组△接法。 (3)仪表量程选择:交流电压表250V,交流电流表0.5A,功率表250V、0.5A。(4)试验步骤: 安装电机时,将电机和测功机脱离,旋紧固定螺丝。 试验前先将三相交流可调电源电压调至零位,接通电源,合上起动开S1,缓缓升高电源电压使电机起动旋转,注意观察电机转向应符合测功机加载的要求(右视机组,电机旋转方向为顺时针方向),否则调整电源相序。注意:调整相序时应将电源电压调至零位并切断 电源。

接通电源,合上起动开关S1,从零开始缓缓升高电源电压,起动电机,保持电动机在额定电压时空载运行数分钟,使机械损耗达到稳定后再进行试验。 调节电源电压由1.2倍(264V~66V)额定电压开始逐渐降低,直至电机电流或功率显著增大为止,在此围读取空载电压、空载电流、空载功率,共读取7~9组数据,记录于表4-3中。注意:在额定电压附近应多测几点。 试验完毕,将三相电源电压退回零位,按下电源停止按钮,停止电机。 表4-3 2、短路试验 (1)所用的仪器设备:同空载试验 (2)测量线路图:见图4-4,电机绕组△接法。 (3)仪表量程选择:交流电压表250V,交流电流表1A,功率表250V、2A。

实验一 运算器实验(1)

级班学号姓名 实验报告 实验一运算器实验 一、实验目的: 1、掌握简单运算器的数据传送通路; 2、验证运算功能发生器(74LS181)的组合功能; 3、验证带进位控制的算术运算功能发生器的功能; 4、按指定数据完成几种指定的算术运算。 二、实验设备 DVCC-C5JH计算机组成原理教学实验系统一台,排线若干。 三、实验原理 1、实验中所用的运算器数据通路图如附A图1-3所示。其中运算器由两片74LS181以并/串形式构成8位字长的ALU。运算器的输出经过一个三态门(74LS245)和数据总线相连,运算器的两个数据输入端分别由二个锁存器(74LS373)锁存,锁存器的输入连至数据总线,数据开关(“INPUT DEVICE”)用来给出参与运算的数据,并经过一三态门(74LS245)和数据总线相连,数据显示灯(“BUS UNIT”)已和数据总线相连,用来显示数据总线内容。 2、控制信号说明: T4:脉冲信号;实验时,将W/R UNIT的T4接至STATE UNIT的微动开关KK2的输出端,按动微动开关,即可获得实验所需的单脉冲。 S3~S0、M:运算器的功能控制信号;可参见74181芯片的功能表P64。 Cn:进位控制信号,低电平有效。 LDDR1、LDDR2:数据寄存器DR1和DR2的数据装载控制信号,高电平有效。ALU-B:该控制信号控制是否将ALU的结果送到总线上,低电平有效。

SW-B :三态门开关信号,控制是否打开三态门,低电平有效。 四、实验内容 1、算术逻辑运算实验: 实验步骤: ①按图1-2连接路线,仔细检查无误后,接通电源; ②用二进制数码开关向DR1和DR2寄存器置数。 A )数据开关置01100101; B )设置switch unit :ALU-B=1 SW-B=0 LDDR1=1 LDDR2=0 C )按动KK2给出一个单脉冲信号,即T4=┎┒ D )数据开关置10100111; E )设置switch unit :LDDR1=0 LDDR2=1 F )按动KK2给出一个单脉冲信号。 ③检验DR1和DR2中存的数是否正确: A )设置switch unit :SW-B=1 ALU-B=0 B )设置switch unit :当S 3S 2S 1S 0M=00000,总线显示灯显示DR1中的数,而 置为S 3S 2S 1S 0M=01010,总线显示灯显示DR2中的数。 ④验证74LS181的算术运算和逻辑运算功能:[给定A=(DR1)=65 H ,B=(DR2)=A7 H] A )改变运算器的功能设置,观察运算器的输出,填入下表: DR1 DR2 S 3S 2S 1S 0 M=1(算术运算) M=0(逻辑运算) Cn=1 (无进位) Cn=0 (有进位) 65 A7 0000 01100101 01100110 10011010 65 A7 0001 11100111 11101000 00011000 65 A7 0010 01111101 01111110 10000010 65 A7 0011 11111111 00000000 00000000 65 A7 0100 10100101 10100110 11011010 65 A7 0101 00100111 00101000 01011000

相关文档
最新文档