某实验报告材料5多边形裁剪与填充要点

某实验报告材料5多边形裁剪与填充要点
某实验报告材料5多边形裁剪与填充要点

《计算机图形学》实验5实验报告

实验题目:多边形裁剪与填充

实验内容:1 阅读理解提供的参考资料。

2编写并调通一个多边形裁剪的java程序。

3编写并调通一个多边形填充的java程序。

参考资料:1fillPolygon.java

2 clipSC2.java

3变换与剪裁.ppt

4多边形的填充.ppt

基本概念:

1变换与裁剪:

(1)计算机处理图形的过程一般分为三个阶段:①图形的数字化;②图形操作;③图形输出。

(2)模型坐标系(局部坐标系):当构造单个对象的数字模型时,为了方便,可以将其置一个特定的坐标系下,即模型坐标系或局部坐标系。

(3)世界坐标系:为描述图形场景中所有图形之间的空间关系,将它们置于一个统一的坐标系中,该坐标系被称为世界坐标系。

(4)设备坐标系:要输出经过处理后的数字化图形,需要在输出设备上建立一个坐标系,称为设备坐标系。

(5)标准化设备坐标系:有些图形系统,对设备坐标系进行了规范化,将坐标范围限定在区间

{x,y,z | 0≤x≤1, 0≤y≤1, 0≤z≤1}

内,称标准化设备坐标系。

(6)三维图形的显示流程图

(7)裁剪

裁剪作用:选择显示的内容--图形在窗口内的部分被显示出来,窗口外的部分被裁剪掉。图形中每个基本元素都要经过裁剪,因此裁剪直接影响整个图形系统的效率。

裁剪类型:二维裁剪、三维裁剪

裁剪窗口:矩形,凸多边形,任意多边形

视见体:棱台、立方体

裁剪对象:直线段、多边形、文字等

2多边形的填充:

(1)多边形的填充指在给定区域填上所需要的颜色,就是把多边形的顶点表示转换为点阵表示,即从多边形的给定边界出发,求出位于其内部的各个像素,并将帧缓冲器内的各个对应元素设置相应的灰度或颜色。

(2)多边形的表示:

1)顶点表示是用多边形的顶点的序列来描述多边形,该表示几何意义强、占内存少,但它

不能直观地说明哪些像素在多边形内。

2)点阵表示是用位于多边形内的象素的集合来刻划多边形,该方法虽然没有多边形的几何信息,是面着色所需要的图像表示形式。

算法设计:

1 多边形的裁剪:

Sutherland-Cohen 算法:

基本思想:对于每条线段P1P2分为三种情况处理。

(1)若P1P2完全在窗口内,则显示该线段P1P2简称“取”之。

(2)若P1P2明显在窗口外,则丢弃该线段,简称“弃”之。

(3)若线段既不满足“取”的条件,也不满足“弃”的条件,则在交点处把线段分为两段。其中一段完全在窗口外,可弃之。然后对另一段重复上述处理。

具体操作:分为两步

第一步是判定:

1) 完全在窗口内的直线段,称为完全可见的线段;

2) 完全在窗口外的线段,称为完全不可见线段。

第二步处理不能断定为完全可见或完全不可见的线段。

这时需要计算出直线段和窗口边界的一个交点,这个交点把直线分成两段,其中一条为完全不可见的线段,被抛弃。

对余下部分再作第一步的判断,重复上述过程,直到直线段余下的部分可用第一步的判断得出肯定的结论为止。

2多边形的填充:

(1) 多边形填充的扫描线算法

a. 令y = c 为一个常数,扫描整个多边形的边 ,记录横坐标为xi 记为序列1.

b. 设d 为一整数,d =c –1,且yi 0≥y ≥yi n ;设位于扫描线y =d 上的交点序列为 ,记为序列2。

c. 奇点的处理: 多边形P 的顶点可分为两类:极值点和非极值点。如果

称顶点Pi 为极值点(P1,P2,P3,P5, P6,P8);否则称Pi 为非极值点(P0,P4,P7)。若扫描线与多边形相交于多边形的顶点,则该交点(顶点)称为奇点。为了使交点个数保持为偶数,规定当奇点是P 的极值点时,该点按两个交点计算;否则按一个交点计算。

(2) 边缘填充算法: 对多边形P 的每一非水平边上的各像素做向右求反运算即可。

步骤:a. 以值为boundary-color 的特殊颜色勾画多边形P 的边界。设多边形顶点为Pi = (xi , yi ),0≤i ≤n , xi , yi 均为整数;置Pn +1=P 0。每一条扫描线上着上这种特殊颜色的点的个数必定是偶数(包括零)。

b. 设interior_point 是一布尔变量。对每一条扫描线从左到右进行搜索,如果当前是像素位于多边形P 内,则interior_point=true ,需要填上值为polygon_color 的颜色;否则该像素在多边形P 外,需要填上值为background_color 的颜色。

(3) 区域填充:

a. 区域是指已经表示成点阵形式的像素集合。在光栅图形 中,区域可采用内点表示和边界表示两种形式进行描述。

内点表示法:把位于给定区域内的所有像素一一列举出来的方法称为内点表示法。 边界表示法:把位于给定区域边界上的像素一一列举出来的方法称为边界表示法。 b.区域的连通性:

1) 连通的区域: 取区域内任意两点,在该区域内若从其中一点出发通过上、下、左\右四0))((11≥--+-i i i i y y y y

种运动可到达另一点。

2)连通的区域: 取区域内任意两点,若从其中任一点出发,在该区域内通过沿水平方向、垂直方向和对角线方向的八种运动可到达另一点。

(4)扫描线种子填充算法:从给定的种子点开始,填充当前扫描线上种子点所在的一区段,然后确定与这一段相邻的上下两条扫描线上位于区域内的区段(需要填充的区间),从这些区间上各取一个种子点依次把它们存起来,作为下次填充的种子点。反复进行这过程,直到所保存的各区段都填充完毕。

步骤:

a.(初始化)将算法设置的堆栈置为空。将给定的种子点(x, y)压入堆栈

b.(出栈)如果堆栈为空,算法结束;否则取栈顶元素(x, y)作为种子点

c.(区段填充)从种子点(x, y)开始,沿纵坐标为y的当前扫描线向左右两个方向逐个像素用新的颜色值进行填充,直到边界为止即象素颜色等于边界色。设区间两边界的横坐标分别为xleft 和xright。

d. 在与当前扫描线相邻的上下两条扫描线上,以区间[xleft, xright]为搜索范围,求出需要填充的各小区间,把各小区间中最右边的点并作为种子点压入堆栈,转到步骤2。

代码:

1 多边形的裁剪:

public int code(float x,float y)

{

int c=0;

if(x

else if(x>xR)c=c|2;

if(y

else if(y>yT)c=c|8;

return c; //二进制分别为0 1 10 100 1000

}

//Sutherland_Cohen裁减算法

public void Sutherland_Cohen(Graphics g,float x0,float y0,float x2,float y2)

{

int c1,c2,c;

float x,y,wx,wy;

boolean accept=false,done=false;

c1=code(x0,y0);

c2=code(x2,y2);

do {

if ((c1|c2)==0)//两个编码都为0,表明在窗口内

{

accept=true;

done=true;

}

else if((c1&c2)!=0)done=true;//两个编码的某一位为1,则必然在外侧显然在窗口外

else

{

c=c1;

if(c==0)c=c2;

wx=x2-x0;

wy=y2-y0;

if ((c&8)==8) //求交点

{

x=x0+wx*(yT-y0)/wy;

y=yT;

}

else if ((c&4)==4)

{

x=x0+wx*(yB-y0)/wy;

y=yB;

}

else if ((c&1)==1)

{

y=y0+wy*(xL-x0)/wx;

x=xL;

}else//即(c&2)==2

{

y=y0+wy*(xR-x0)/wx;

x=xR;

}

if (c==c1) //表明c1!=0,起始点不在窗口内,将交点作为新的起点重复判断步骤;

{

x0=x;

y0=y;

c1=code(x0,y0);

}else//终点不在窗口内,交点作为新的终点

{

x2=x;

y2=y;

c2=code(x2,y2);

}

}//else

} while (done==false);

if(accept)g.drawLine((int)x0,(int)y0,(int)x2,(int)y2);

}

2多边形的填充:

class activeEdgeList {

activeEdgeListEntry header=null;

activeEdgeListEntry tailer=null;

public activeEdgeList(activeEdgeListEntry element) {

header=tailer=element; //指向第一个边结点

}

//把新结点插入有序排列的多边形单链表

public void insert(activeEdgeListEntry element) {

activeEdgeListEntry sentinel;

if(element==null || this.header==null) //新结点异常或者链表空

throw new NullPointerException(); //出错,抛出异常

sentinel=this.header; //当前指针指向表头结点

int xt=element.topx; //新结点的topx

int xtold=sentinel.topx;

double oldDelta=sentinel.delta; //当前结点的delta

double newDelta=element.delta;

/* 排序第一关键字结点的topx,第二关键字结点的delta */

/* 两个关键字由小到大*/

if((xtold

while(true){ //在链表头指针之后寻找新结点element的位置

if(sentinel.next==null) {

sentinel.next=element; //追加到表尾

this.tailer=element;

break; //结束while循环

}

activeEdgeListEntry mp=sentinel.next; //下一结点

int xmt=mp.topx;

double midDelta=mp.delta;

if((xmt

sentinel=mp; //新结点仍然大于下一结点,当前结点指针后移,继续循环

}

else { //否则,新结点就应该插入当前位置

sentinel.next=element;

element.next=mp;

break; //结束while循环,尾指针不动

}

}

}

else { //新结点作为单链表头结点

sentinel=this.header;

this.header=element;

element.next=sentinel;

}

} //插入新结点结束

//把新结点作为多边形链表的头结点或者尾结点

public void append(activeEdgeListEntry element) {

if(element==null) throw new NullPointerException();

if(tailer==null) { //如果单链表是空

tailer=element;header=element;

}

else { //否则把新结点作为单链表尾结点

tailer.next=element;tailer=element;

}

}

//两个多边形单链表的合并:自身单链表与list单链表的合并public activeEdgeList merge(activeEdgeList list,int y) {

if(list==null) return this;

activeEdgeListEntry a=this.header; //自身单链表的头指针activeEdgeListEntry b=list.header; //单链表list的头指针

activeEdgeListEntry save=null; //指向链表结点的工作指针activeEdgeListEntry anext,bnext; //指向链表结点的工作指针activeEdgeList result=null; //合并结果链表

while(true) {

if(a==null&&b==null) return result; //两个空表

else if(a==null) { //自身为空表

if(save!=null) {

save.next=b;

result.tailer=list.tailer;

return result;

}

}

else if(b==null){ //list为空表

if(save!=null) {

save.next=a;

result.tailer=this.tailer;

return result;

}

}

/*两个表都不空*/

int xa=(int)(a.topx+(a.topy-y)*a.delta); //自身链表

int xb=b.topx; //list链表头结点的topx

if(xa<=xb) { //决定合并后两个表的先后

anext=a.next;

a.next=null;

if(result==null) { //结果链表为空,则a表在前

result=new activeEdgeList(a);

save=result.tailer;

}

else result.append(a); //结果链表不空,则a表在后

save=a;

a=anext;

}

else {

bnext=b.next;

b.next=null;

if(result==null) { //结果链表为空,则b表在前

result=new activeEdgeList(b);

save=result.tailer;

}

else result.append(b); //结果链表不空,则b表在后

save=b;

b=bnext;

}

} //结束while

} //单链表合并结束

//删除多边形单链表的结点

public void remove(activeEdgeListEntry element) {

activeEdgeListEntry p,q;

if(header==element) { //要删除的是头结点

header=element.next;

if(tailer==element) tailer=header;

return;

}

p=q=header;

while(p!=element) {

q=p;p=p.next;

if(p==null) throw new NullPointerException(); //查无此结点}

if(element==tailer) tailer=q; //要删除的是尾结点

q.next=p.next; //要删除的是非头尾结点

}

//多边形单链表的相邻结点

public void traverse() {

activeEdgeListEntry p,q,r,tmp;

p=r=header;

while(p!=null){

q=p.next;

if(q==null) break; //到达末尾

if(q.x

if(p==header) header=q; else r.next=q;

q.next=p;

p.next=tmp;

}

r=p; //指向尾结点

p=p.next; //下一个结点

} //结束while

tailer=r; //多边形单链表新的尾指针

}

} //结束多边形单链表类

//*****定义直线类

class Line {

public double x1,y1;

public double x2,y2;

public Line(double x1,double y1,double x2,double y2) {

this.x1=x1;this.y1=y1;

this.x2=x2;this.y2=y2;

}

} //结束直线类

//***********定义多边形的填充类*******//

public class fillPolygon extends Applet //继承鼠标事件监听接口implements MouseListener,MouseMotionListener {

protected MyCanvas m; //定义MyCanvas的对象

//扫描行处理用数据

protected activeEdgeListEntry[] edgeData=null; //边结点数组

protected activeEdgeList[] bucket=null; //多边形单链表数组

protected activeEdgeList activeHeader=null; //当前边单链表的头指针protected int numEdge=0; //多边形的边数

//鼠标相关数据

protected boolean isFirstClicked=true; //鼠标最初点击

protected boolean isDoubleClicked=false; //双击标志

protected boolean isSingleClicked=false; //单击标志

//绘图区域

protected int width,height; //Applet绘图区的大小

protected Image image=null; //图像区域

protected MemoryImageSource mis=null; //内存图像

protected int[] pixel=null; //内存图像配色数组

protected int pixelWidth; //图像宽度

protected int pixelHeight; //图像高度

protected int xoffset; //pixel数据的窗口内显示偏移量

protected int yoffset;

protected double leftTopx; //pixel数据的起始点

protected double leftTopy;

//多边形的绘图数据

protected double x0,y0; //边的起点

protected double lastx,lasty; //边的终点位置

protected double movingx,movingy; //用户坐标系下一个点的坐标

protected int numPoints=0; //顶点计数器

protected boolean isPolygonMode=true; //标志

protected Vector lines=new Vector(256,256); //Java的向量类

//APPLET程序的初始化

public void init(){

m=new MyCanvas(this); //本APPLET容器的MyCanvas对象

addMouseListener(this); //定义鼠标按钮监听器

addMouseMotionListener(this); //定义鼠标按钮监听器

Dimension d=getSize(); //本APPLET容器的大小

width=d.width; height=d.height;

}

//成员变量初始化

public void initData(){

isFirstClicked=true; //鼠标最初点击

isPolygonMode=true; //标志描绘多边形

numPoints=0; //多边形顶点计数器

bucket=new activeEdgeList[height+1]; //边的单链表数组

for(int i=0;i

if(lines.size()>0) lines.removeAllElements(); //向量类的对象

}

//APPLET程序的绘图

public void paint(Graphics g) {

if(isFirstClicked) { //初始状态

initData();

Font f=m.MyFont(m.getFont().getName(),Font.BOLD+Font.ITALIC,1.5);

m.setFont(f);

m.drawString("单击画多边形",-0.5,0.2);

m.drawString("双击填充多边形",-0.9,-0.15);

}

m.setBackground(new Color(220,220,220)); //背景色

m.setColor(Color.black); //前景色

for(int i=0;i

Line l=(Line)lines.elementAt(i); //转换第i个向量

m.drawLine(l.x1,l.y1,l.x2,l.y2);

}

if(isPolygonMode&&!isFirstClicked) //画线

m.drawLine(lastx,lasty,movingx,movingy);

if((!isPolygonMode)&&(image!=null)) //填充

m.myDrawImage(image,leftTopx,leftTopy,this);

} //APPLET程序的绘图

//把多边形顶点数据生成边结点

public void registerActiveEdgeEntry() {

numEdge=lines.size(); //多边形边的数量

edgeData=new activeEdgeListEntry[numEdge];

for(int i=0;i

edgeData[i]=new activeEdgeListEntry();

/* 四个极值用于确定显示图像的大小和范围*/

int LARGE=0x0ffffffff;

int xmin=LARGE,xmax=-1,ymin=LARGE,ymax=-1;

double dxmin=LARGE,dxmax=-1,dymin=LARGE,dymax=-1;

for(int i=0;i

int ix1=m.getX(l.x1); //将用户坐标的点转换到Java AWT坐标int iy1=height-m.getY(l.y1);

int ix2=m.getX(l.x2);

int iy2=height-m.getY(l.y2);

edgeData[i].topx=0;

edgeData[i].name=i;

edgeData[i].next=null;

if(iy1>iy2) { //边的斜向

edgeData[i].isHorizontal=false;

edgeData[i].topy=iy1;

edgeData[i].topx=ix1;

edgeData[i].x=ix1;

edgeData[i].boty=iy2;

edgeData[i].delta=(double)(-(ix2-ix1))/(iy2-iy1);

if(iy2

ymin=iy2;

dymin=l.y2;

}

if(iy1>ymax) {

ymax=iy1;

dymax=l.y1;

}

}

else if(iy1

edgeData[i].isHorizontal=false;

edgeData[i].topy=iy2;

edgeData[i].topx=ix2;

edgeData[i].x=ix2;

edgeData[i].boty=iy1;

edgeData[i].delta=(double)(-(ix1-ix2))/(iy1-iy2);

if(iy1

ymin=iy1;

dymin=l.y1;

}

if(iy2>ymax) {

ymax=iy2;

dymax=l.y2;

}

}

else { //水平边y1==iy2

edgeData[i].isHorizontal=true;

if(iy1

dymin=l.y1;

}

if(iy1>ymax) {

ymax=iy1;

dymax=l.y1;

}

}

if(ix1

xmin=ix1;

dxmin=l.x1;

}

if(ix2>xmax) {

xmax=ix2;

dxmax=l.x2;

}

}

else if(ix2

if(ix2

xmin=ix2;

dxmin=l.x2;

}

if(ix1>xmax) {

xmax=ix1;

dxmax=l.x1;

}

}

else { //垂直边ix2==ix1

if(ix1

xmin=ix1;

dxmin=l.x1;

}

if(ix1>xmax) {

xmax=ix1;

dxmax=l.x1;

}

}

} //结束for循环

/*内存图像的数组空间及相关数据*/

pixelWidth=xmax-xmin+1;

pixelHeight=ymax-ymin+1;

pixel=new int[pixelWidth*pixelHeight]; //图像的个点颜色

for(int k=0;k

pixel[k]=0x00000000; //初值透明色

xoffset=xmin;yoffset=ymin;

leftTopx=dxmin; //用于显示图像方法myDrawImage();

leftTopy=dymax;

} //生成边结点registerActiveEdgeEntry()

//多边形单链表数组bucketd初始化

public void bucketSort() {

for(int i=0;i

Line l=(Line)lines.elementAt(i); //转换第i个向量

if(edgeData[i].isHorizontal) continue; //水平边不处理

int yt=edgeData[i].topy;

if(bucket[yt]==null) { //该行未建立链表

bucket[yt]=new activeEdgeList(edgeData[i]);

continue;

}

bucket[yt].insert(edgeData[i]); //该行有链表,按顺序插入到链表i } //结束for循环

}

//多边形的扫描转换

public void scanPolygon() {

activeHeader=null; //当前要处理的单链表

for(int y=height-1;y>=0;y--) {

if(bucket[y]!=null) { //该指针元素存在

makeActiveEdgeList(bucket[y],y); //建立该行的边链表

processActiveEdgeList(y); //处理该行的边链表

}

else if(activeHeader!=null&&activeHeader.header!=null)

processActiveEdgeList(y); //处理该行的边链表

} //结束for循环

} //多边形的扫描转换

//处理给定行的边链表

public void processActiveEdgeList(int y) {

int xleft,xright;

double xl,xr;

activeEdgeListEntry left=activeHeader.header;

activeEdgeListEntry right=left.next;

if(right==null) return;

while(true) {

xl=left.x;

xr=right.x;

xleft=(int)xl;

xright=(int)(xr+0.5);

if(xleft<=xright)

fillScanline(xleft,xright,y); //填充y行像素列left.x+=left.delta; //起终点右移一个步长

right.x+=right.delta;

if(left.boty>=y-1 && right.boty>=y-1) {

xleft=(int)left.x;

xright=(int)(right.x+0.5);

if(xleft<=xright)

fillScanline(xleft,xright,y-1); //填充y-1行像素列}

if(left.boty>=y-1) //将左面的边从当前链表中删去

activeHeader.remove(left);

if(right.boty>=y-1) //将左面的边从当前链表中删去

activeHeader.remove(right);

left=right.next; //选择当前链表中下一对结点

if(left==null) break; //到达链表末尾,退出循环

right=left.next;

if(right==null) //边链表的结点数一定为偶数

throw new NullPointerException(); //出错} //结束while

activeHeader.traverse(); //边封闭后,重新整理单链表

} //处理给定行的边链表

//建立指定行的边链表

public void makeActiveEdgeList(activeEdgeList list,int y) { if(activeHeader==null)

activeHeader=list; //指定为当前单链表

else//把list与当前单链表合并

activeHeader=activeHeader.merge(list,y);

}

//填充何种图案

public boolean isTilePattern(int i,int j) {

if( i%8==0 || j%8==0 || i%8==1 || j%8==1 ||

i%8==2 || j%8==2 ) return true; // 填充图案1 return false; // 填充图案2

}

//设定像素颜色

public void putPixel(int i,int j) {

int r,g,b;

if(isTilePattern(i,j))

r=g=b=0; //黑色

else {

r=(int)(Math.random()*255); //0到255之间的随机数

g=(int)(Math.random()*255);

b=(int)(Math.random()*255);

}

int a=0xff000000|(r<<16)|(g<<8)|b; //像素颜色

/*图像的i行j列处的颜色*/

pixel[(pixelHeight-1-(j-yoffset))*pixelWidth+(i-xoffset)]=a;

}

//填充指定行的像素列

public void fillScanline(int xleft,int xright,int y) {

for(int x=xleft;x<=xright;x++)

putPixel(x,y); //调用putPixel(),设定改点像素颜色

}

//------多边形填充总控程序----

public void scanLineFillPolygon() {

registerActiveEdgeEntry(); //生成边结点

bucketSort(); //单链表数组bucketd初始化

scanPolygon(); //多边形的扫描转换

repaint(); //paint绘图

}

//响应鼠标击键事件

public void mousePressed(MouseEvent e) {

int ix=e.getX(); //鼠标的Jawa AWT坐标

int iy=e.getY();

if(isPolygonMode) { //正在进行多边形填充

double x,y; //鼠标的当前位置

if(e.getClickCount()>=2) { //双击,添加多边形的顶点

isDoubleClicked=true; //标记

/* 给光栅向量表增加一行,这个向量成员方法导致编译

要加上参数-Xlint,会出现警告错误*/

lines.addElement(new Line(lastx,lasty,x0,y0));

isPolygonMode=false;

scanLineFillPolygon(); //多边形填充总控程序

if(numEdge>2) { //内存图像生成

mis=new MemoryImageSource(pixelWidth,

pixelHeight,pixel,0,pixelWidth);

image=createImage(mis);

}

}

else { //单击,准备开始

if(isFirstClicked) { //初次点击

isFirstClicked=false;

/*先按照Jawa AWT坐标ix iy得到视图索引号,

再由视图反向转换得到用户坐标系下的lastx lasty*/

lastx=x0=m.getUserX(ix,m.getViewport(ix,iy));

lasty=y0=m.getUserY(iy,m.getViewport(iy,iy));

movingx=lastx; movingy=lasty;

}

else { //非初次点击

/*ix iy所对应的用户坐标系下的坐标*/

x=m.getUserX(ix,m.getViewport(ix,iy));

y=m.getUserY(iy,m.getViewport(iy,iy));

/* 给光栅向量表增加一行*/

lines.addElement(new Line(lastx,lasty,x,y));

lastx=x; lasty=y;

}

numPoints++;

}

repaint(); //paint绘图

} //结束if(isPolygonMode)语句

} //响应鼠标击键事件

//响应鼠标移动事件

public void mouseMoved(MouseEvent e) {

if(!isFirstClicked && isPolygonMode) {

int ix,iy;

ix=e.getX(); //鼠标的Jawa AWT坐标

iy=e.getY();

/*ix iy所对应的用户坐标系下的坐标*/

movingx=m.getUserX(ix,m.getViewport(ix,iy));

movingy=m.getUserY(iy,m.getViewport(ix,iy));

repaint();

}

} //响应鼠标移动事件

//****java语法列出有关鼠标接口中的虚方法

public void mouseClicked(MouseEvent e){}

public void mouseEntered(MouseEvent e){}

public void mouseExited(MouseEvent e){}

public void mouseReleased(MouseEvent e){}

public void mouseDragged(MouseEvent e){}

} //结束多边形填充类

运行结果:

1 多边形的裁剪:

2 多边形的填充:

实验体会:

通过这次的实习报告的编写,我学习了图形变换与裁剪的知识,学习了Sutherland-Cohen 算法的方法原理。多边形的填充主要是扫描知识。在本次实验中,图形的变换按比例来放大缩小,通过转换完成。应用了大量的数学知识,计算机图形学离不开数学。此次实验让我对多边形的裁剪和填充有了一个更加深入的了解。

材料力学实验报告标准规定答案解析

力学实验报告标准答案

长安大学力学实验教学中心 目录 、拉伸实验? 、压缩实验? 三、拉压弹性模量E测定实验? 四、低碳钢剪切弹性模量G测定实验? 五、扭转破坏实验-10

六、纯弯曲梁正应力实验? 12 七、弯扭组合变形时的主应力测定实验? 15 八、压杆稳定实验"8

、拉伸实验报告标准答案实验目的: 见教材 实验仪器 见教材实验结果及数据处理:例:(一)低碳钢试件

服应力 (T s = P s /A _273.8 _MP a 屈度极限 (T b = P b /A _411.3 MP a 强试验前 试验后 最小平均直径d= 10.16 mm 最小直径d= 10.15 mm 截面面积A= 81.03 mm 2 截面面积A1= 80.91 mm 2 计算长度L= 100 mm 计算长度L 忤 100 mm 试验前草图 试验后草图 1 ' 1 ''1 1 最大载荷P b =__14.4 KN P s =_22.1 KN P b =_33.2 ____ KN 塑性指标: 伸长率 厘100% L 68.40 % 33.24 % A A 1 面积收缩率 - 100% A 低碳钢拉伸图:

强度极限c b= P b / A = _ 177.7 — M P a 问题讨论: 1、为何在拉伸试验中必须采用标准试件或比例试件,材料相同而长短不同的试件 延伸率是否相同? 答:拉伸实验中延伸率的大小与材料有关,同时与试件的标距长度有关.试件局部变形较大的断口部分,在不同长度的标距中所占比例也不同.因此拉伸试验中必须采用标准试件或比例试件,这样其有关性质才具可比性. 材料相同而长短不同的试件通常情况下延伸率是不同的(横截面面积与长度存在某种特殊比例关系除外). 2、分析比较两种材料在拉伸时的力学性能及断口特征. 答:试件在拉伸时铸铁延伸率小表现为脆性,低碳钢延伸率大表现为塑性;低碳钢具有屈服现象,铸铁无.低碳钢断口为直径缩小的杯锥状,且有45 0的剪切唇, 断口组织为暗灰色纤维状组织。铸铁断口为横断面,为闪光的结晶状组织

材料力学实验报告册概要

实验日期_____________教师签字_____________ 同组者_____________审批日期_____________ 实验名称:拉伸和压缩试验 一、试验目的 1.测定低碳钢材料拉伸的屈服极限σs 、抗拉强度σb、断后延伸率δ及断 面收缩率ψ。 2.测定灰铸铁材料的抗拉强度σb、压缩的强度极限σb。 3.观察低碳钢和灰铸铁材料拉伸、压缩试验过程中的变形现象,并分析 比较其破坏断口特征。 二、试验仪器设备 1.微机控制电子万能材料试验机系统 2.微机屏显式液压万能材料试验机 3.游标卡尺 4.做标记用工具 三、试验原理(简述) 1

四、试验原始数据记录 1.拉伸试验 低碳钢材料屈服载荷 最大载荷 灰铸铁材料最大载荷 2.灰铸铁材料压缩试验 直径d0 最大载荷 教师签字:2

五、试验数据处理及结果 1.拉伸试验数据结果 低碳钢材料: 铸铁材料: 2.低碳钢材料的拉伸曲线 3.压缩试验数据结果 铸铁材料: 3

4.灰铸铁材料的拉伸及压缩曲线: 5.低碳钢及灰铸铁材料拉伸时的破坏情况,并分析破坏原因 ①试样的形状(可作图表示)及断口特征 ②分析两种材料的破坏原因 低碳钢材料: 灰铸铁材料: 4

6.灰铸铁压缩时的破坏情况,并分析破坏原因 六、思考讨论题 1.简述低碳钢和灰铸铁两种材料的拉伸力学性能,以及力-变形特性曲线 的特征。 2.试说明冷作硬化工艺的利与弊。 3.某塑性材料,按照国家标准加工成直径相同标距不同的拉伸试样,试 判断用这两种不同试样测得的断后延伸率是否相同,并对结论给予分析。 5

七、小结(结论、心得、建议等)6

材料力学拉伸实验报告

材料的拉伸压缩实验 徐浩1221241020 机械一班 一、实验目的 1.观察试件受力和变形之间的相互关系; 2.观察低碳钢在拉伸过程中表现出的弹性、屈服、强化、颈缩、断裂等物 理现象。观察铸铁在压缩时的破坏现象。 3.测定拉伸时低碳钢的强度指标(σs、σb)和塑性指标(δ、ψ)。测定压缩 时铸铁的强度极限σb。 二、实验设备 1.微机控制电子万能试验机; 2.游标卡尺。 三、实验材料 拉伸实验所用试件(材料:低碳钢)如图所示, 四、实验原理 低碳钢试件拉伸过程中,通过力传感器和位移传感器进行数据采集,A/D转换和处理,并输入计算机,得到F-?l曲线,即低碳钢拉伸曲线,见图2。 对于低碳钢材料,由图2曲线中发现OA直线,说明F正比于?l,此阶段称为弹性阶段。屈服阶段(B-C)常呈锯齿形,表示载荷基本不变,变形增加很快,材料失去抵抗变形能力,这时产生两个屈服点。其中,B'点为上屈服点,它受变形大小和试件等因素影响;B点为下屈服点。下屈服点比较稳定,所以工程上均以下屈服点对应的载荷作为屈服载荷。测定屈服载荷Fs时,必须缓慢而均匀地加载,并应用σs=F s/ A0(A0为试件变形前的横截面积)计算屈服极限。

图2 低碳钢拉伸曲线 屈服阶段终了后,要使试件继续变形,就必须增加载荷,材料进入强化阶段。当载荷达到强度载荷F b 后,在试件的某一局部发生显著变形,载荷逐渐减小,直至试件断裂。应用公式σb =F b /A 0计算强度极限(A 0为试件变形前的横截面积)。 根据拉伸前后试件的标距长度和横截面面积,计算出低碳钢的延伸率δ和端面收缩率ψ,即 %100001?-= l l l δ,%1000 1 0?-=A A A ψ 式中,l 0、l 1为试件拉伸前后的标距长度,A 1为颈缩处的横截面积。 五、实验步骤及注意事项 1、拉伸实验步骤 (1)试件准备:在试件上划出长度为l 0的标距线,在标距的两端及中部三 个位置上,沿两个相互垂直方向各测量一次直径取平均值,再从三个平均值中取最小值作为试件的直径d 0。 (2)试验机准备:按试验机→计算机→打印机的顺序开机,开机后须预热十分钟才可使用。按照“软件使用手册”,运行配套软件。 (3)安装夹具:根据试件情况准备好夹具,并安装在夹具座上。 (4)夹持试件:若在上空间试验,则先将试件夹持在上夹头上,力清零消除试件自重后再夹持试件的另一端;若在下空间试验,则先将试件夹持在下夹头上,力清零消除试件自重后再夹持试件的另一端。 (5)开始实验:消除夹持力;位移清零;按运行命令按钮,按照软件设定的方案进行实验。 (6)记录数据:试件拉断后,取下试件,将断裂试件的两端对齐、靠紧,用游标卡尺测出试件断裂后的标距长度l 1及断口处的最小直径d 1(一般从相

《工程材料》热处理实验报告

工程材料综合实验 车辆工程10-1 班 实验者: 陈秀全学号:10047101冯云乾学号:10047103高万强学号:10047105

一实验目的 1区别和研究铁碳合金在平衡状态下的显微组织; 2分析含碳量对铁碳合金显微组织的影响,加深理解成分、组织与性能之 间的相互关系; 3、 了解碳钢的热处理操作; 4、 研究加热温度、冷却速度、回火温度对碳钢性能的影响; 5、 观察热处理后钢的组织及其变化; 6、 了解常用硬度计的原理,初步掌握硬度计的使用。 二实验设备及材料 1、 显微镜、预磨机、抛光机、热处理炉、硬度计、砂轮机等; 2、 金相砂纸、水砂纸、抛光布、研磨膏等; 3、 三个形状尺寸基本相同的碳钢试样(低碳钢 20#、中碳钢45#、高碳钢 T10) 三实验内容 三个形状尺寸基本相同的试样分别是低碳钢、 中碳钢和高碳钢,均为退火状 态,不慎混在一起,请用硬度法和金相法区分开。 6、 热处理前后的金相组织观察、硬度的测定。 、 分析碳钢成分一组织一性能之间的关系。 四实验步骤: &观察平衡组织并测硬度: (1) 制备金相试样(包括磨制、抛光和腐蚀); (2) 观察并绘制显微组织;

(3)测试硬度。 9、进行热处理。 10、观察热处理后的组织并测硬度: (1)制备金相试样(包括磨制、抛光和腐蚀); (2)观察并绘制显微组织。 五实验报告: 、总结出碳钢成分一组织一性能一应用之间的关系

图1工业纯铁图2工业纯铁图3亚共析钢 图6过共析钢图5共析钢调质处理

图8共晶白口铸铁 图7 亚共晶白口铸铁 图10 20#正火(加热到860C +空冷)图9过共晶白口铸铁 图11 45#调质处理图12 T10正火处理

《材料力学》实验报告

材料力学 实验报告 对应课程 学号 学生 专业 班级 指导教师 成绩总评 学年第学期

目录 1.低碳钢及铸铁拉伸破坏实验???????????????(3 ) 2.低碳钢及铸铁压缩破坏实验???????????????(8 ) 3.引伸计法测定材料的弹性模量??????????????( 12 ) 4.低碳钢及铸铁扭转破坏实验???????????????(15) 5.载荷识别实验?????????????????????( 19) 成绩总评定 : 拉伸压缩测E扭转载荷识别

低碳钢及铸铁拉伸破坏实验 实验日期: 同组成员: 一、实验目的及原理 二、实验设备和仪器 1、试验机名称及型号: 吨位: 精度: 2、量具名称: 精度: 三、实验步骤 (一)、低碳钢、铸铁拉伸实验步骤:

四、试样简图 低碳钢试样 实验前实验后试 样 简 图 铸铁试样 实验前实验后试 样 简 图

五、实验数据及计算 低碳钢拉伸试验 (一)试件尺寸 (a)试验前 试件标直径d0( mm )最小横截距 横截面 1横截面 2横截面 3面面积L0平平平A (1)(2)(1)(2)(1) ( 2)02 ( mm )均均均( mm ) (b)试验后 断后标断口直径 d 1 ( mm )距 L1 12平均( mm )断口(颈缩处)最小横截面面 积 A1 ( mm2 ) 屈服极限:强度极限:断后延伸率: F s s (MPa) A0 F b b (MPa) A0 ( L 1 L O ) 100% L0

A0 A1100% 断面收缩率: A0 铸铁拉伸试验 (a)试验前 试件标直径d0( mm )最小横截距 横截面 1横截面 2横截面 3面面积L0平平平A (1)(2)(1)(2)(1) ( 2)02 ( mm )均均均( mm ) (b)试验后 F b 强度极限:b(MPa ) (二)绘出低碳钢的“力—位移、及铸铁的“ 力-位移”曲线低碳钢铸铁

建筑材料实验报告

专业 姓名 学号 组别 华侨大学土木工程学院

实验一建筑材料基本性质 试验原始记录 试验时间2013.03.29 温度干:22℃湿20℃相对湿度 82% 一、水泥石的表观密度 二。水泥石的密度 指导老师签名:

实验一建筑材料基本性质 试验报告 一、实验目的 本实验的主要任务就是通过对固体材料密度、表观密度、堆积密度、吸水率检测方法的练习,掌握材料基本物理参数的获取方法,并利用所测得物理状态参数来计算材料的孔隙率及空隙率等构造参数,从而推断其对材料其他性质的影响。 二、实验仪器 游标卡尺、直尺、天平、 李氏瓶、试样筛、量筒、天平。温度计、漏斗 三、实验内容和步骤 A、表观密度测量 1、用天平称量出试件的质量m(kg) 2、用游标卡尺测量试样尺寸(长,宽,厚),并计算试样的体积V。(m3) B、密度试验 1、往李氏瓶注入与试样不发生反应的液体至凸颈下部,记下刻度(V 1 ) 2、称取60~90g试样,用小勺和漏斗将试样徐徐送入李氏瓶中 3、微倾并转动李氏瓶,用瓶内的液体将粘附在瓶颈和瓶壁的试样冲入瓶内液体 中,待液体中(V 2 ) 4、取剩余试样的质量,计算出装入瓶中的试样质量m 5、计算瓶中试样所排开水的体积:V=V 2- V 1

四、实验结果计算 (一)水泥石的表观密度 (二)水泥粉的密度 (三)水泥石孔隙率的计算 %100 )/1(01?-=ρρP =(1-1.663/2.255)×100%=26.6% %100)/1(02?-=ρρP =(1-1.355/2.255)×100%=39.9% 五、实验结果分析(比较两组水泥石的性质差异) 由P 1

建筑材料实验报告模板

建筑材料实验报告 XXXXX学院 土木工程系 班级 姓名 学号

水泥性能测试试验报告 试验日期: 气(室)温: C:湿度: 一、试验内容 二、主要仪器设备 三、试验记录 所选水泥样品产地、厂名 水泥品种:出厂标号:

1.水泥细度测定(干筛法) 结论: 根据国家标准GB 该水泥细度为 2.水泥标准稠度用水量测试 室温:℃;相对湿度: % (1)试件成型日期年月日 成型三条试件所需材料用量 (2)测试日期年月日;龄期:天 (3)抗折强度测定 (4)抗压强度测定

4.确定水泥强度等级(只按试验一个龄期的强度评定) 根据国家标准 该水泥强度等级为 混凝土用骨料性能试验报告 试验日 期: 气(室)温: C:湿度: 一、试验内容 二、主要仪器设备 三、试验记录 1.砂的筛分析试验 筛孔尺寸(mm)105 2.5 1.250.630.3150.16筛底筛余质量(g) 分计筛余量a(%) 累计筛余量A(%)

砂样细度模数Mx Mx= Mx= 结论:按M X 该砂样属于砂,级配属于区;级配情况。2.砂的泥含量测试 编号冲洗前的烘干试样 质量G1(g) 冲洗后的烘干试样 质量G2(g) 泥含量(%) 测定值 (%) 平均值 (%) 3.砂的视密度测试 试样名称:水温:℃ 编号试样质量 G12(g) 瓶+砂+满水 质量G13(g) 瓶+满水 质量G14(g) 砂样在水中所占 的总体积V(cm3) 视密度 ρ0(g/cm3) 平均值 (g/cm3) 编号 容量筒容积 V(L) 容量筒质量 G1(kg) 容量筒+砂 质量 G2(kg) 砂质量 G(kg) 堆积密度 (kg/L) 平均值 (kg/L) 级配连续粒级 筛孔尺寸 分计筛余(g)(%) 累计筛余(%) 石子筛分析测试结果评定: (1)最大粒径: mm

材料力学实验报告答案

篇一:材料力学实验报告答案 材料力学实验报告 评分标准拉伸实验报告 一、实验目的(1分) 1. 测定低碳钢的强度指标(σs、σb)和塑性指标(δ、ψ)。 2. 测定铸铁的强度极限σb。 3. 观察拉伸实验过程中的各种现象,绘制拉伸曲线(p-δl曲线)。 4. 比较低碳钢与铸铁的力学特性。 二、实验设备(1分) 机器型号名称电子万能试验机 测量尺寸的量具名称游标卡尺精度 0.02 mm 三、实验数据(2分) 四、实验结果处理(4分) ?s??b? psa0pba0 =300mpa 左右=420mpa 左右 =20~30%左右=60~75%左右 ?? l1?l0 ?100% l0a0?a1 ?100% a0 ?= 五、回答下列问题(2分,每题0.5分) 1、画出(两种材料)试件破坏后的简图。略 2、画出拉伸曲线图。 3、试比较低碳钢和铸铁拉伸时的力学性质。 低碳钢在拉伸时有明显的弹性阶段、屈服阶段、强化阶段和局部变形阶段,而铸铁没有明显的这四个阶段。 4、材料和直径相同而长短不同的试件,其延伸率是否相同?为什么?相同 延伸率是衡量材料塑性的指标,与构件的尺寸无关。压缩实验报告 一、实验目的(1分) 1. 测定压缩时铸铁的强度极限σb。 2. 观察铸铁在压缩时的变形和破坏现象,并分析原因。 二、实验设备(1分) 机器型号名称电子万能试验机(0.5分) 测量尺寸的量具名称游标卡尺精度 0.02 mm (0.5分) 三、实验数据(1分)四、实验结果处理(2分) ?b? pb =740mpaa0 左右 五、回答下列思考题(3分) 1.画出(两种材料)实验前后的试件形状。略 2. 绘出两种材料的压缩曲线。略 3. 为什么在压缩实验时要加球形承垫?

工程材料及材料成型基础实验报告

实验一金属材料硬度的测定实验 一、实验目的 1、了解布氏硬度和洛氏硬度的测定方法。 2、掌握布氏、洛氏硬度试验计的基本构造和操作方法。 二、实验内容及步骤 1、布氏硬度的测定 布氏硬度的测定在HB-3000型布氏硬度机上进行。 (1)实验原理 布氏硬度数值通过布氏硬度试验测定。布氏硬度试验是指用一定直径的球体(钢球或硬质合金球)以相应的试验力压入被测材料或零件表面,经规定保持时间后卸除试验力,通过测量表面压痕直径来计算硬度的一种压痕硬度试验方法。 布氏硬度值是试验力除以压痕球形表面积所得的商。使用淬火钢球压头时用符号HBS,使用硬质合金球压头时用符号HBW,计算公式如下: HBS(HBW)=0.102 式中:F—试验力(N); D—球体直径(mm); d—压痕平均直径(mm)。 由上式可以看出,当F、D一定时,布氏硬度值仅与压痕直径d的大小有关。所以在测定布氏硬度时,只要先测得压痕直径d,即可根据d值查有关表格得出HB值,并不需要进行上述计算。 国家标准GB231-1984规定,在进行布氏硬度试验时,首先应选择压头材料,布氏硬度值在450以下(如灰铸铁、有色金属及经退火、正火和调质处理的钢材等)时,应选用钢球作压头;当材料的布氏硬度值在450~650时,则应选用硬质合金球作压头。其次是根据被测材料种类和试样厚度,按照表1—1所示的布氏硬度试验规范正确地选择压头直径D、试验力F和保持时间t。 布氏硬度习惯上只写出硬度值而不必注明单位,其标注方法是,符号HBS或HBW之前为硬度值,符号后面按以下顺序用数值表示试验条件:球体直径、试验力,试验力保持时间(10~15s不标注)例如: 120HBS10/1000/30,表示直径10mm钢球在9.80KN(1000kgf)的试验力作用下,保持30s测得的布氏硬度值为120。 500HBW5/750,表示用直径5mm的硬质合金球在7.35KN(750kgf)试验力作用下,保持10~15s测得的布氏硬度值为500。 布氏硬度值的测量误差小,数据稳定,重复性强,常用于测量退火、正火、调质处理后的零件以及灰铸铁、结构钢、非铁金属及非金属材料等毛坯或半成品 (2)操作前的准备工作 a. 选定压头擦拭干净,装入主轴衬套中; b. 选定载荷,加上相应的砝码; c. 确定持续时间,把圆盘上的时间定位器(红色指示点)转到与持续时间相符的位置上。

材料力学扭转实验实验报告

扭 转 实 验 一.实验目的: 1.学习了解微机控制扭转试验机的构造原理,并进行操作练习。 2.确定低碳钢试样的剪切屈服极限、剪切强度极限。 3.确定铸铁试样的剪切强度极限。 4.观察不同材料的试样在扭转过程中的变形和破坏现象。 二.实验设备及工具 扭转试验机,游标卡尺、扳手。 三.试验原理: 塑性材料和脆性材料扭转时的力学性能。(在实验过程及数据处理时所支撑的理论依据。参考材料力学、工程力学课本的介绍,以及相关的书籍介绍,自己编写。) 四.实验步骤 1.a 低碳钢实验(华龙试验机) (1)量直径: 用游标卡尺量取试样的直径。在试样上选取3各位置,每个位置互相垂直地测量2次直径,取其平均值;然后从3个位置的平均值中取最小值作为试样的直径。。 (2)安装试样: 启动扭转试验机,手动控制器上的“左转”或“右转”键,调整活动夹头的位置,使前、后两夹头钳口的位置能满足试样平口的要求,把试样水平地放在两夹头之间,沿箭头方向旋转手柄,夹紧试样。 (3)调整试验机并对试样施加载荷: 在电脑显示屏上调整扭矩、峰值、切应变1、切应变2、夹头间转角、时间的零点;根据你所安装试样的材料,在“实验方案读取”中选择“教学低碳钢试验”,并点击“加载”而确定;用键盘输入实验编号,回车确定(按Enter 键);鼠标点“开始测试”键,给试样施加扭矩;在加载过程中,注意观察屈服扭矩的变化,记录屈服扭矩的下限值,当扭矩达到最大值时,试样突然断裂,后按下“终止测试”键,使试验机停止转动。 (4)试样断裂后,从峰值中读取最大扭矩 。从夹头上取下试样。 (5)观察试样断裂后的形状。 1.b 低碳钢实验(青山试验机) (1)量直径: 用游标卡尺量取试样的直径。在试样上选取3各位置,每个位置互相垂直地测量2次直径,取其平均值;然后从3个位置的平均值中取最小值作为试样的直径。 (2)安装试样: 启动扭转试验机,手动“试验机测控仪”上的“左转”或“右转”键,调整活动夹头的位置,使前、后两夹头钳口的位置能满足试样平口的要求,把试样水平地放在两夹头之间,s τb τb τ 0d S M b M 0d

工程材料与成形技术基础实验报告

实验一、金属材料的硬度实验 一、 实验类型 验证性 二、 实验目的 1、了解硬度测定的基本原理及应用范围。 2、了解布氏、洛氏硬度试验机的主要结构及操作方法。 三、实验仪器与设备 1、HB -3000型布氏硬度试验机; 2、H -100型洛低硬度试验机; 3、读数放大鏡; 四、实验内容: 金属的硬度可以认为是金属材料表面在接触应力作用下抵抗塑性变形的一种能力。硬度测量能够给出金属材料软硬程度的数量概念。由于在金属表面以下不同深处材料所承受的应力和所发生的变形程度不同,因而硬度值可以综合地反映压痕附近局部体积内金属的弹性、微量塑变抗力、塑变强化能力以及大量形变抗力。硬度值越高,表明金属抵抗塑性变形能力越大,材料产生塑性变形就越困难。另外,硬度与其它机械性能(如强调指标b σ及塑性指标ψ和δ)之间有着一定的内在联系,所以从某种意义上说硬度的大小对于机械零件或工具的使用性能及寿命具有决定性意义。 硬度的试验方法很多,在机械工业中广泛采用压入法来测定硬度,压入法又可分为布氏硬度、洛氏硬度、维氏硬度等。 压入法硬度试验的主要特点是: (1)试验时应力状态最软(即最大切应力远远大于最大正应力),因而不论是塑性材料还是脆性材料均能发生塑性变形。 (2)金属的硬度与强调指标之间存在如下近似关系。 HB K b ?=σ (3)硬度值对材料的耐磨性、疲劳强度等性能也有定性的参考价值,通常硬度值高,这些性能也就好。在机械零件设计图纸上对机械性能的技术要求,往往只标注硬度值,其原因就在于此。 (4)硬度测定后由于仅在金属表面局部体系内产生很小压痕,并不损坏零件,因而适合于成品检验。 (5)设备简单,操作迅速方便。

青岛理工大学--材料力学--实验报告

材料力学实验报告 系别 班级 姓名 学号 青岛理工大学力学实验室 目录 实验一、拉伸实验报告 实验二、压缩实验报告 实验三、材料弹性模量E和泊松比μ的测定报告 实验四、扭转实验报告 实验五、剪切弹性模量实验报告 实验六、纯弯曲梁的正应力实验报告 实验七、等强度梁实验报告 实验八、薄壁圆筒在弯扭组合变形下主应力测定报告 实验九、压杆稳定实验报告 实验十、偏心拉伸实验报告 实验十一、静定桁架结构设计与应力分析实验报告 实验十二、超静定桁架结构设计与应力分析实验报告 实验十三、静定刚架与压杆组合结构设计与应力分析实验报告实验十四、双悬臂梁组合结构设计与应力分析实验 实验十五、岩土工程材料的多轴应力特性实验报告 实验一拉伸实验报告

一、实验目的与要求: 二、实验仪器设备和工具: 三、实验记录: 1、试件尺寸 实验后: 屈服极限载荷:P S = kN 强度极限载荷:P b = kN 四、计算 屈服极限: == A P s s σ MPa 强度极限: == A P b b σ MPa 延伸率: =?-= %10000 L L L δ 断面收缩率: =?-= %1000 0A A A ψ 五、绘制P -ΔL 示意图: 实验二 压缩实验报告 一、实验目的与要求: 二、实验仪器设备和工具: 三、试件测量: 材 料 标 距 L 0 (mm) 直径(mm ) 截面 面积 A 0 (mm 2) 截面(1) 截面(2) 截面(3) (1) (2) 平均 (1) (2) 平均 (1) (2) 平均 材 料 标 距 L (mm) 断裂处直径(mm ) 断裂处 截面面积 A(mm 2) (1) (2) 平均 材 料 直 径(mm ) 截面面积 A 0(mm 2)

材料基本物理性质试验报告

《土木工程材料》试验报告 项目名称:材料基本物理性质试验 报告日期:2011-11-02 小组成员:

材料基本物理性质试验 - 2 - 1. 密度试验(李氏比重瓶法) 1.1 试验原理 石料密度是指石料矿质单位体积(不包括开口与闭口孔隙体积)的质量。 石料试样密度按下式计算(精确至0.01g /cm 3): gfdgfbg 感d 式中: t ρ──石料密度,g /cm 3; 1m ──试验前试样加瓷皿总质量,g ; 2m ──试验后剩余试样加瓷皿总质量,g ; 1V ──李氏瓶第一次读数,mL (cm 3); 2V ──李氏瓶第二次读数,mL (cm 3)。 1.2 试验主要仪器设备 李氏比重瓶(如图1-1)、筛子(孔径0.25mm )、烘箱、干燥器、天平(感量0.001g )、温度计、恒温水槽、粉磨设备等。 1.3 试验步骤 (1)将石料试样粉碎、研磨、过筛后放入烘箱中,以100℃±5℃的温度烘干至恒重。烘干后的粉料储放在干燥器中冷却至室温,以待取用。 (2)在李氏瓶中注入煤油或其他对试样不起反应的液体至突颈下部的零刻度线以上,将李氏比重瓶放在温度为(t ±1)℃的恒温水槽内(水温必须控制在李氏比重瓶标定刻度时的温度),使刻度部分进入水中,恒温0.5小时。记下李氏瓶第一次读数V 1(准确到0.05mL ,下同)。 (3)从恒温水槽中取出李氏瓶,用滤纸将李氏瓶内零点起始读数以上的没有的部分擦净。 (4)取100g 左右试样,用感量为0.001g 的天平(下同)准确称取瓷皿和试样总质量m 1。用牛角匙小心将试样通过漏斗渐渐送入李氏瓶内(不能大量倾倒,因为这样会妨碍李氏瓶中的空气排出,或在咽喉部分形成气泡,妨碍粉末的继续下落),使液面上升至20mL 刻度处(或略高于20mL 刻度处) ,注意勿使石粉粘附于液面以上的瓶颈内壁上。摇动李氏瓶,排出其中空气,至液体不再发生气泡为止。再放入恒温 咽喉部分 2 12 1V V m m t --= ρ比重瓶

材料力学实验参考要点

实验一、测定金属材料拉伸时的力学性能 一、实验目的 1、测定低碳钢的屈服极限s σ,强度极限b σ,延伸率δ和面积收缩率ψ。 2、测定铸铁的强度极限b σ。 3、观察拉伸过程中的各种现象,并绘制拉伸图(l F ?-曲线)。 二、仪器设备 1、液压式万能试验机。 2、游标卡尺。 三、实验原理简要 材料的力学性质s σ、b σ、δ和ψ是由拉伸破坏试验来确定的。试验时,利用试验机自动绘出低碳钢拉伸图和铸铁拉伸图。对于低碳材料,确定屈服载荷s F 时,必须缓慢而均匀地使试件产生变形,同时还需要注意观察。测力回转后所指示的最小载荷即为屈服载荷s F ,继续加载,测得最大载荷b F 。试件在达到最大载荷前,伸长变形在标距范围内均匀分布。从最大载荷开始,产生局部伸长和颈缩。颈缩出现后,截面面积迅速减小,继续拉伸所需的载荷也变小了,直至断裂。 铸铁试件在极小变形时,就达到最大载荷,而突然发生断裂。没有流动和颈缩现象,其强度极限远低于碳钢的强度极限。 四、实验过程和步骤 1、用游标卡尺在试件的标距范围内测量三个截面的直径,取其平均值,填入记录表内。取三处中最小值作为计算试件横截面积的直径。 2、 按要求装夹试样(先选其中一根),并保持上下对中。 3、 按要求选择“试验方案”→“新建实验”→“金属圆棒拉伸实验”进行试验,详细操 作要求见万能试验机使用说明。 4、 试样拉断后拆下试样,根据试验机使用说明把试样的l F ?-曲线显示在微机显示屏 上。从低碳钢的l F ?-曲线上读取s F 、b F 值,从铸铁的l F ?-曲线上读取b F 值。 5、 测量低碳钢(铸铁)拉断后的断口最小直径及横截面面积。 6、 根据低碳钢(铸铁)断口的位置选择直接测量或移位方法测量标距段长度1l 。 7、 比较低碳钢和铸铁的断口特征。 8、 试验机复原。

材料力学实验报告

青岛黄海学院实验指导书 课程名称:材料力学 课程编码: 04115003 主撰人:吕婧 青岛黄海学院

目录 实验一拉、压实验 (1) 实验二扭转实验 (6) 实验三材料弹性模量E和泊松比μ的测定 (8) 实验四纯弯曲梁的正应力实验 (12)

实验一低碳钢拉伸实验 一、实验目的要求: (一)目的 σ、延伸率δ,截面收缩率ψ。 1.测定低碳钢的屈服极限σS,强度极限 b σ,观察上述两种材料的拉伸和破坏现象,绘制拉伸时2.测定铸铁的强度极限 b 的P-l?曲线。 (二)要求 1.复习讲课中有关材料拉伸时力学性能的内容;阅读本次实验内容和实设备中介绍万能试验机的构造原理、操作方法、注意事项,以及有关千分表和卡尺的使用方法。 2.预习时思考下列问题:本次实验的内容和目的是什么?低碳钢在拉伸过程中可分哪几个阶段,各阶段有何特征?试验前、试验中、试验后需要测量和记录哪些数据?使用液压式万能试验机有哪些注意事项? 二、实验设备和工具 1.万能实验 2.千分尺和游标卡尺。 3.低碳钢和铸铁圆形截面试件。 三、实验性质: 验证性实验 四、实验步骤和内容: (一)步骤 1.取表距L =100mm.画线 2.取上,中,下三点,沿垂直方向测量直径.取平均值

3.实验机指针调零. 4.缓慢加载,读出 s P .b P .观察屈服及颈缩现象,观察是否出现滑移线. 5.测量低碳钢断裂后标距长度1l ,颈缩处最小直径1d (二)实验内容: 1.低碳钢试件 (1)试件 (2)计算结果 屈服荷载 s P =22.1KN 极限荷载 b P =33.2KN 屈服极限 s σ=s P /0A =273.8MPa 强度极限 b σ=b P /0A =411.3MPa 延伸率 δ=(1l -0l )/0l *100%=33.24% 截面收缩率ψ=(0A -1A )/0A *100%=68.40% (3)绘制低碳钢P~ l ? 曲线

工程材料综合实验(基础实验+钢的热处理)实验报告

工程材料综合实验 处 理 报 告 单位:过程装备与控制工程10-1班 实验者: 侯鹏飞学号10042107 胡兴文学号10042108 李东升学号10042110

【实验名称】 工程材料综合实验 【实验目的】 运用所学的理论知识和实验技能以及现有的实验设备,通过自己设计实验方案、独立实验并得出实验结果,达到进一步深化课堂内容,加强对《工程材料》课程理论的系统认识,并提高分析问题和解决问题的能力。 通过做这个实验,使学生们可以充分了解以下知识,并学会操作一些必要的仪器和设备: 1、研究铁碳合金在平衡状态下的显微组织; 2、分析含碳量对铁碳合金显微组织的影响,加深理解成分、 组织与性能之间的相互关系; 3、了解碳钢的热处理操作; 4、研究加热温度、冷却速度、回火温度对碳钢性能的影响; 5、观察热处理后钢的组织及其变化; 6、了解常用硬度计的原理,初步掌握硬度计的使用。 【实验材料及设备】 1、显微镜、预磨机、抛光机、热处理炉、硬度计、砂轮机等; 2、金相砂纸、水砂纸、抛光布、研磨膏等;

3、三个形状尺寸基本相同的碳钢试样(低碳钢20#、中碳钢 45#、高碳钢T10) 【实验内容】 三个形状尺寸基本相同的试样分别是低碳钢、中碳钢和高碳钢,均为退火状态,不慎混在一起,请用硬度法和金相法区分开。 1、设计实验方案:三种碳钢的热处理工艺(加热温度、保温时间、冷却方式)。做实验前完成。 样品加热温度保温时间冷却方式 20# 880℃25min 空冷 45# 淬火880℃ 高温回火600℃淬火25min 高温回火25min 水冷 T10 900℃30min 水冷 2、选定硬度测试参数,一般用洛氏硬度。 样品20# 45# T10 硬度HRB50 HRC20 HR63 3、热处理前后的金相组织观察、硬度的测定。 4、分析碳钢成分—组织—性能之间的关系。 样品成分组织性能 20# 马氏体F+P冲压性与焊接性良好 45# 马氏体F+P经热处理后可获得良好的综 合机械性能 T10 马氏体+奥氏体P+Fe3C II硬度高,韧性适中 【实验步骤】

材料力学实验报告答案

材料力学实验报告答案 Prepared on 22 November 2020

材料力学实验报告 评分标准 拉伸实验报告 一、实验目的(1分) 1. 测定低碳钢的强度指标(σs、σb)和塑性指标(δ、ψ)。 2. 测定铸铁的强度极限σb。 3. 观察拉伸实验过程中的各种现象,绘制拉伸曲线(P-ΔL曲线)。 4. 比较低碳钢与铸铁的力学特性。 二、实验设备(1分) 机器型号名称电子万能试验机 测量尺寸的量具名称游标卡尺精度0.02 mm 三、实验数据(2分)

四、实验结果处理 (4分) 0A P s s = σ =300MPa 左右 0 A P b b = σ =420MPa 左右 %10000 1?-= L L L δ =20~30%左右 %= 1000 1 0?-A A A ψ =60~75%左右 五、回答下列问题(2分,每题分) 1、画出(两种材料)试件破坏后的简图。 略 2、画出拉伸曲线图。 3、试比较低碳钢和铸铁拉伸时的力学性质。 低碳钢在拉伸时有明显的弹性阶段、屈服阶段、强化阶段和局部变形阶段,而铸铁没有明显的这四个阶段。 4、材料和直径相同而长短不同的试件,其延伸率是否相同为什么 相同 延伸率是衡量材料塑性的指标,与构件的尺寸无关。 压缩实验报告 一、实验目的(1分)

1. 测定压缩时铸铁的强度极限σb 。 2. 观察铸铁在压缩时的变形和破坏现象,并分析原因。 二、实验设备 (1分) 机器型号名称电子万能试验机 (分) 测量尺寸的量具名称 游标卡尺 精度 0.02 mm (分) 三、实验数据(1分) 四、实验结果处理 (2分) A P b b = σ =740MPa 左右 五、回答下列思考题(3分) 1.画出(两种材料)实验前后的试件形状。 略 2. 绘出两种材料的压缩曲线。 略 3. 为什么在压缩实验时要加球形承垫

拉伸试验材料力学试验报告

拉伸试验材料力学试验报告 拉伸实验 一(实验目的: 1.学习了解电子万能试验机的结构原理,并进行操作练习。 2.确定低碳钢试样的屈服极限、强度极限、伸长率、面积收缩率。 3.确定铸铁试样的强度极限。 4.观察不同材料的试样在拉伸过程中表现的各种现象。 二(实验设备及工具: 电子万能试验机、游标卡尺、记号笔。 三(试验原理: 塑性材料和脆性材料拉伸时的力学性能。(在实验过程及数据处理时所支撑的理论依据。参考材料力学、工程力学课本的介绍,以及相关的书籍介绍,自己编写。) 四(实验步骤 1.低碳钢实验 (1)量直径、画标记: 用游标卡尺量取试样的直径。在试样上选取3各位置,每个位置互相垂直地测量2次直径,取其平均值;然后从3个位置的平均值中取最小值作为试样的直径。用记号笔在试样中部画一个或长的标距,作为原始标距。 (2)安装试样:

启动电子万能试验机,手动立柱上的“上升”或“下降”键,调整活动横梁位置,使上、下夹头之间的位置能满足试样长度,把试样放在两夹头之间,沿箭头方向旋转手柄,夹紧试样。 (3)调整试验机并对试样施加载荷: 调整负荷(试验力)、峰值、变形、位移、试验时间的零点;根据计算出加载速度,其中为试样中部平行段长度,当测定下屈服强度和抗拉强度时 ,并将计算结果归整后输入;按下显示屏中的“开始”键,给试样施加载荷;在加载过程中,注意观察屈服载荷的变化,记录下屈服载荷的大小,当载荷达到峰值时,注意观察试样发生的颈缩现象;直到试样断裂后按下“停止”键。 (4)试样断裂后,记录下最大载荷。从夹头上取下试样,重新对好,量取断后标距和断口处最小直径。 2.铸铁实验 1)量直径: ( 用游标卡尺量取试样的直径。在试样上选取3各位置,每个位置互相垂直地测量2次直径,取其平均值;然后从3个位置的平均值中取最小值作为试样的直径。 (2)安装试样: 启动电子万能试验机,手动立柱上的“上升”或“下降”键,调整活动横梁位置,使上、下夹头之间的位置能满足试样长度,把试样放在两夹头之间,沿箭头方向旋转手柄,加紧试样。 (3)调整试验机并对试样施加载荷:

土木工程材料实验报告册

土木工程材料实验报告册 苏胜昔阎宇杰 河北大学建筑工程学院 姓名:_________________ 班级:_________________ 学号:_________________ 组别:_________________ 成绩:_________________

实验一材料基本物理性质实验 试验日期:年月日试验室温度: 实验1.1密度实验 1、实验目的: 测定材料的密度,掌握材料密度的测定方法。材料的密度是指材料在绝对密实状态下单位体积的质量。主要用来计算材料的孔隙率和密实度。而材料的吸水率、强度、抗冻性及耐蚀性都与孔隙的大小及孔隙特征有关。如砖、石材、水泥等材料,其密度都是一项重要指标。 2、实验仪器、设备: 密度瓶(又名李氏瓶)、筛子(孔径0.2mm或900孔/cm2)、量筒、烘箱、天平(称量1kg;感量0.01 g)、温度计、玻璃漏斗、滴管和小勺等。 3、实验步骤:

实验1.2表观密度实验 1、实验目的: 表观密度是指材料在自然状态下,单位表观体积(包括材料的固体物质体积与内部封闭孔隙体积)的质量。测定表观密度可为近似绝对密实的散粒材料计算空隙率提供依据。 2、实验仪器、设备: 天平(称量10kg,感量1g),钢尺(精确到1mm),烘箱 3、实验步骤:

5、孔隙率计算: 实验1.3吸水率实验 1、实验目的: 材料吸水饱和时,其含水率称为吸水率。 2、实验仪器、设备: 天平(称量10kg)、烘箱、容器等 3、实验步骤:

4、实验数据: 思考题: 材料密度、表观密度、孔隙率、密实度的关系如何? 实验二水泥实验(一)试验日期:年月日试验室温度: 水泥品种:制造厂名: 原注标号:出厂日期:实验2.1细度实验

材料力学实验报告标准答案

力学实验报告 标准答案 长安大学力学实验教学中心 目录 一、拉伸实验 (2) 二、压缩实验 (4)

三、拉压弹性模量E测定实验 (6) 四、低碳钢剪切弹性模量G测定实验 (8) 五、扭转破坏实验 (10) 六、纯弯曲梁正应力实验 (12) 七、弯扭组合变形时的主应力测定实验 (15) 八、压杆稳定实验 (18) 一、拉伸实验报告标准答案 问题讨论: 1、为何在拉伸试验中必须采用标准试件或比例试件,材料相同而长短不同的试 件延伸率是否相同? 答:拉伸实验中延伸率的大小与材料有关,同时与试件的标距长度有关.试件局部变形较大的断口部分,在不同长度的标距中所占比例也不同.因此拉伸试验中必须采用标准试件或比例试件,这样其有关性质才具可比性. 材料相同而长短不同的试件通常情况下延伸率是不同的(横截面面积与长度存在某种特殊比例关系除外). 2、分析比较两种材料在拉伸时的力学性能及断口特征. 答:试件在拉伸时铸铁延伸率小表现为脆性,低碳钢延伸率大表现为塑性;低碳钢具有屈服现象,铸铁无.低碳钢断口为直径缩小的杯锥状,且有450的剪切唇,

断口组织为暗灰色纤维状组织。铸铁断口为横断面,为闪光的结晶状组织。. 二、压缩实验报告标准答案 问题讨论: 1、分析铸铁试件压缩破坏的原因. 答:铸铁试件压缩破坏,其断口与轴线成45°~50°夹角,在断口位置剪应力已达到其抵抗的最大极限值,抗剪先于抗压达到极限,因而发生斜面剪切破坏。 2、低碳钢与铸铁在压缩时力学性质有何不同? 结构工程中怎样合理使用这 两类不同性质的材料? 答:低碳钢为塑性材料,抗压屈服极限与抗拉屈服极限相近,此时试件不会发生断裂,随荷载增加发生塑性形变;铸铁为脆性材料,抗压强度远大于抗拉强度,无屈服现象。压缩试验时,铸铁因达到剪切极限而被剪切破坏。 通过试验可以发现低碳钢材料塑性好,其抗剪能力弱于抗拉;抗拉与抗压相近。铸铁材料塑性差,其抗拉远小于抗压强度,抗剪优于抗拉低于抗压。 故在工程结构中塑性材料应用范围广,脆性材料最好处于受压状态,比如车床机座。 三、拉压弹性模量E测定试验报告 问题讨论: 1、试件的尺寸和形状对测定弹性模量有无影响?为什么? 答: 弹性模量是材料的固有性质,与试件的尺寸和形状无关。 2、逐级加载方法所求出的弹性模量与一次加载到最终值所求出的弹性模量是 否相同?为什么必须用逐级加载的方法测弹性模量? 答: 逐级加载方法所求出的弹性模量与一次加载到最终值所求出的弹性模量不相同,采用逐级加载方法所求出的弹性模量可降低误差,同时可以验证材料此时是否处于弹性状态,以保证实验结果的可靠性。 四、低碳钢剪切弹性模量G测定实验报告标准答案 问题讨论: 1、试验过程中,有时候在加砝码时,百分表指针不动,这是为什么?应采取什么 措施? 答:检查百分表是否接触测臂或超出百分表测量上限,应调整百分表位置。

材料力学实验报告文档2篇

材料力学实验报告文档2篇 Material mechanics experiment report document 编订:JinTai College

材料力学实验报告文档2篇 小泰温馨提示:实验报告是把实验的目的、方法、过程、结果等记录下来,经过整理,写成的书面汇报。本文档根据实验报告内容要求展开说明,具有实践指导意义,便于学习和使用,本文下载后内容可随意修改调整及打印。 本文简要目录如下:【下载该文档后使用Word打开,按住键盘Ctrl键且鼠标单击目录内容即可跳转到对应篇章】 1、篇章1:材料力学实验报告格式文档 2、篇章2:材料力学实验报告范文 材料力学实验报告不会写的话,下面请看小泰给大家整理收集的材料力学实验报告相关内容,供大家阅读参考。 篇章1:材料力学实验报告格式文档 二、实验设备和仪器: 三、实验记录和处理结果: 四、实验原理和方法: 五、实验步骤及实验结果处理:

篇章2:材料力学实验报告范文【按住Ctrl键点此返回目录】该实验台配上引伸仪,作为材料力学实验教学中测定材料弹性模量E实验用。 1.试样:Q235钢,直径d =10mm,标距l=100mm。 2.载荷增量△F=1000N ①砝码四级加载,每个砝码重25N; ②初载砝码一个,重16N; ③采用1:40杠杆比放大。 3.精度:一般误差小于5%。 三、操作步骤及注意事项 1.调节吊杆螺母,使杠杆尾端上翘一些,使之与满载时关于水平位置大致对称。 注意:调节前,必须使两垫刀刃对正V型槽沟底,否则垫刀将由于受力不均而被压裂。 2.把引伸仪装夹到试样上,必须使引伸仪不打滑。 ①对于容易打滑的引伸仪,要在试样被夹处用粗纱布沿圆周方向打磨一下。

材料力学性能拉伸试验报告

材料力学性能拉伸试验报告 材化08 李文迪 40860044

[试验目的] 1. 测定低碳钢在退火、正火和淬火三种不同热处理状态下的强度与塑性性能。 2. 测定低碳钢的应变硬化指数和应变硬化系数。 [试验材料] 通过室温拉伸试验完成上述性能测试工作,测试过程执行GB/T228-2002:金属材料室温拉伸试验方法: 1.1试验材料:退火低碳钢,正火低碳钢,淬火低碳钢的R4标准试样各一个。 1.2热处理状态及组织性能特点简述: 1.2.1退火低碳钢:将钢加热到Ac3或Ac1以上30-50℃,保温一段时间后,缓慢而均匀 的冷却称为退火。 特点:退火可以降低硬度,使材料便于切削加工,并使钢的晶粒细化,消除应力。1.2.2正火低碳钢:将钢加热到Ac3或Accm以上30-50℃,保温后在空气中冷却称为正 火。 特点:许多碳素钢和合金钢正火后,各项机械性能均较好,可以细化晶粒。 1.2.3淬火低碳钢:对于亚共析钢,即低碳钢和中碳钢加热到Ac3以上30-50℃,在此 温度下保持一段时间,使钢的组织全部变成奥氏体,然后快速冷却(水冷或油冷),使奥氏体来不及分解而形成马氏体组织,称为淬火。 特点:硬度大,适合对硬度有特殊要求的部件。 1.3试样规格尺寸:采用R4试样。 参数如下:

1.4公差要求 [试验原理] 1.原理简介:材料的机械性能指标是由拉伸破坏试验来确定的,由试验可知弹性阶段 卸荷后,试样变形立即消失,这种变形是弹性变形。当负荷增加到一定值时,测力度盘的指针停止转动或来回摆动,拉伸图上出现了锯齿平台,即荷载不增加的情况下,试样继续伸长,材料处在屈服阶段。此时可记录下屈服强度R 。当屈服到一定 eL 程度后,材料又重新具有了抵抗变形的能力,材料处在强化阶段。此阶段:强化后的材料就产生了残余应变,卸载后再重新加载,具有和原材料不同的性质,材料的强度提高了。但是断裂后的残余变形比原来降低了。这种常温下经塑性变形后,材料强度提高,塑性降低的现象称为冷作硬化。当荷载达到最大值Rm后,试样的某一部位截面开始急剧缩小致使载荷下降,至到断裂。 [试验设备与仪器] 1.1试验中需要测得: (1)连续测量加载过程中的载荷R和试样上某段的伸长量(Lu-Lo)数据。(有万能材料试验机给出应力-应变曲线) (2)两个个直接测量量:试样标距的长度 L o;直径 d。 1.2试样标距长度与直径精度:由于两者为直接测量量,工具为游标卡尺,最高精度为 0.02mm。 1.3检测工具:万能材料试验机 WDW-200D。载荷传感器,0.5级。引伸计,0.5级。 注1:应力值并非试验机直接给出,由载荷传感器直接测量施加的载荷值,进而转化成工程应力,0.5级,即精确至载荷传感器满量程的1/500。 注2:连续测试试样上某段的伸长量由引伸计完成,0.5级,即至引伸计满量程的1/50。

相关文档
最新文档