| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

计算机图形学实验报告

文***品

贡献于2022-03-22

字数:15250

计算机图形学实验报告

实验题目:
利计算机编程语言绘制图形实现容:
(1)中点算法生成意斜率直线设置线型线宽
(2)中点算法生成圆
(3)中点算法生成椭圆
(4)扫描算法实现意边形填充
(5)Cohen_Sutherland裁剪
(6)曲线曲面绘制
(7)二维图形变换
(8)三视图变换

二系统分析设计
实验采C语言编程运行环境TurboC

三算法思想程序实现
1中点算法生成意斜率直线设置线型线宽
(1).算法思想
假定直线斜率k0~1间(k取值类似处理)前象素点(xpyp)象素点两种选择点P1(xp+1yp)P2(xp+1yp+1)P1P2中点(xp+1yp+05)称MQ理想直线xxp+1垂线交点MQ方时取P2应象素点MQ方时取P1象素点中点画线法基原理
面讨中点画线法实现点(x0y0)(x1 y1)直线段L方程式F(x y)ax+by+c0中ay0y1 bx1x0 cx0y1x1y0欲判断中点MQ点方方M代入F(xy)判断符号构造判式
dF(M)F(xp+1 yp+05)a(xp+1)+b(yp+05)+c
d<0时ML(Q点)方取P2象素
d>0时ML(Q点)方取P1象素
d0时选P1P2均约定取P1象素
注意dxp yp线性函数采增量计算提高运算效率
前象素处d³0情况取正右方象素P1(xp+1 yp)判象素位置应计算 d1F(xp+2 yp+05)a(xp+2)+b(yp+05)d+a增量a
d<0时取右方象素P2(xp+1 yp+1)判断象素计算d2 F(xp+2 yp+15)a(xp+2)+b(yp+15)+cd+a+b 增量a+b画线(x0 y0)开始d初值 d0F(x0+1 y0+05)F(x0 y0)+a+05b F(x0 y0)0d0a+05b
d符号d增量整数初始值包含数2d代d摆脱数
(2)程序实现
void putpixels(int xint yint colorint n)
{ int ij
for(in2i for(jn2j putpixel(x+jy+icolor)
}

void Midpointline(int x0int y0int x1int y1int colorint n)
{
int abdxdydxyincrP1incrP2
if(x0x1)
{
if(y0 for(yy0y putpixel(x0ycolor)
else
for(yy0y>y1y)
putpixel(x0ycolor)
}
else if(x0 {
if(y0 {
dy y1y0 dx x1x0
d dx2*dy
incrP1 2*dy incrP2 2*(dxdy)
x x0 y y0
putpixels(xycolorn)
while (x {
if (d<0)
{y++ d +incrP2}
else
d +incrP1
x++
putpixels(xycolorn)
}
}
else
{
dy y1y0 dx x1x0
d2*dydx
incrP1 2*(dx+dy) incrP2 2*dy
x x0 y y0
putpixels(xycolorn)
while(x {
if (d>0)
{ yd +incrP1}
else
d +incrP2
x++
putpixels(xycolorn)
}
}
}
else
if(x0>x1)
{ if(y0 {
dy y0y1 dx x0x1
d2*dydx
incrP1 2*(dx+dy) incrP2 2*dy
x x1 y y1
putpixels(xycolorn)
while (x {
if(d>0)
{ yd +incrP1}
else
d +incrP2
x++
putpixels(xycolorn)
}
}
else
{
dy y0y1 dx x0x1
d dx2*dy
incrP1 2*dy incrP2 2*(dxdy)
x x1 y y1
putpixels(xycolorn)
while (x {
if (d<0)
{y++ d +incrP2}
else
d +incrP1
x++
putpixels(xycolorn)
}
}
}}
2中点算法实现画圆
(1) 算法思想
果构造函数 F(xy)x2+y2R2圆点F(xy)0圆外点F(xy)>0圆点F(xy)<0 中点画线法样构造判式:
dF(M)F(xp+1yp05)(xp+1)2+(yp05)2R2
d<0应取P1象素象素判式:
dF(xp+2yp05)(xp+2)2+(yp05)2R2d+2xp+3
d≥0应取P2象素象素判式
dF(xp+2yp15)(xp+2)2+(yp15)2R2d+2(xpyp)+5
里讨第象素(0R)判式d初始值:
d0F(1R05)125R
进步提高算法效率面算法中浮点数改写成整数法运算改成加法运算仅整数实现中点画圆法
(2)程序实现:
void midpointcircle(int R)
{
int xydeltaxdeltayd
x0yRd1R
deltax3
deltay5RR
putpixel(x+300y+300GREEN)
while(x {
if(d<0)
{
d+deltax
deltax+2
x++
}
else
{
d+deltax+deltay
deltax+2
deltay+2
x++
y
}
putpixel(x+300y+300RED)
putpixel(y+300x+300GREEN)
putpixel(x+300y+300BLUE)
putpixel(y+300x+300WHITE)
putpixel(x+300y+300YELLOW)
putpixel(y+300x+300CYAN)
putpixel(x+300y+300MAGENTA)
putpixel(y+300x+300BROWN)
}
}





3中点算法实现椭圆:
(1)算法思想
生成椭圆弧中点算法直线中点算法类似初始化条件判式递推公式确定判式时候消浮点运算量减少法次数椭圆注意第限斜率1情况直线|m|>1时相y变量详细叙述椭圆:考虑分界点部弧段段斜率素递推出继素根条件



初始条件分界点方弧段类似求
(2)程序实现
void putpixels(int xint yint colorint n)
{ int ij
for(in2i for(jn2j putpixel(x+jy+icolor)

}
void ellipsepoint(long x0long y0long xlong ylong colorint n)
{
putpixels((int)(x0+x)(int)(y0+y)(int)colorn)
putpixels((int)(x0x)(int)(y0+y)(int)colorn)
putpixels((int)(x0+x)(int)(y0y)(int)colorn)
putpixels((int)(x0x)(int)(y0y)(int)colorn)
}


void midpointellipse(long x0long y0long along blong colorint n)
{
long xydsasbxpyp
saa*asbb*b
xp(long)((float)sa(float)sqrt((float)(sa+sb)))
yp(long)((float)sb(float)sqrt((float)(sa+sb)))
x0ybdsa+4*sb4*sa*b
while(x{
if(d<0)
{
dd+4*sb*(2*x+3)
x++
}
else
{
dd+4*sb*(2*x+3)+4*sa*(22*y)
x++
y
}
ellipsepoint(x0y0xycolorn)
}

xay0d4*sa+sb4*a*sb
while(y{
if(d<0)
{
dd+4*sa*(2*y+3)
y++
}
else
{
dd+4*sa*(2*y+3)+4*sb*(22*x)
y++
x
}
ellipsepoint(x0y0xycolorn)
}
}







4扫描线算法实现边形填充:
(1)算法思想:
水扫描线扫描点线段构成段定义边形根扫描线边形边产生系列交点交点x坐标进行排序排序交点成取出作两端点需填充色彩画水直线边形扫描完毕填充结束
实现步骤:
(1) 建立边分类表ET
(2) 扫描线坐标y初值ET中非空元素序号
(3) 置活化边表AEL空
(4) 执行列步骤直ETAEL空
A 果ET中第y类非空中边取出插入AEL中插入程忠进行排序
B AEL中边两两配边中x坐标规取整获效填充区段填充
C 前扫描线坐标y值递增1y1
D AEL中满足yymax边删
E AEL中剩条边x递增deltaxxx+deltax
(2)程序实现
typedef struct
{
int y_top
float x_int
int delta_y
float x_change_per_scan }EACH_ENTRY
EACH_ENTRY sides[MAX_POINT]
int x[MAX_POINT]y[MAX_POINT]
int side_countfirst_slast_sscanbottomscanx_int_count
void fill_area(int count)
{
sort_on_bigger_y(count) first_s1 last_s1
for(scansides[1]y_topscan>bottomscanscan)
{ update_first_and_last(countscan)
process_x_intersections(first_slast_s)
draw_lines(scanx_int_countfirst_s)
update_sides_list() } }
sort_on_bigger_y(int n)
{ int kx1y1int tem
side_count0 y1y[n]
x1x[n] bottomscany[n]
for(k1k{ if(y1y[k])
{ side_count++ if(kn) temy[k+1]
else temy[1]
put_in_sides_list(side_countx1y1x[k]y[k]tem)
}
else { setcolor(13) line(x1y1x[k]y[k]) }
if(y[k]y1y[k]x1x[k] }
}
put_in_sides_list(int entryint x1int y1int x2int y2int next_y)
{ int maxy float x2_tempx_change_temp
x_change_temp(float)(x2x1)(float)(y2y1)
x2_tempx2 if((y2>y1)&&(y2{ y2 x2_tempx_change_temp }
else { if((y2next_y))
{ y2++ x2_temp+x_change_temp } }
maxy(y1>y2) y1y2
while((entry>1)&&(maxy>sides[entry1]y_top))
{ sides[entry]sides[entry1]
entry }
sides[entry]y_topmaxy
sides[entry]delta_yabs(y2y1)+1
if(y1>y2) sides[entry]x_intx1
else sides[entry]x_intx2_temp
sides[entry]x_change_per_scanx_change_temp
}
update_first_and_last(int countint scan)
{
while((sides[last_s+1]y_top>scan)&&(last_slast_s++ while(sides[first_s]delta_y0)
first_s++ }
process_x_intersections(int first_sint last_s)
{ int k x_int_count0
for(kfirst_sk{ if(sides[k]delta_y>0)
{ x_int_count++
sort_on_x(kfirst_s)
}
}
}
sort_on_x(int entryint first_s)
{ while((entry>first_s)&&(sides[entry]x_int{ swap(&sides[entry]&sides[entry1]) entry
}
}
swap(EACH_ENTRY *xEACH_ENTRY *y)
{ int i_temp
float f_temp
i_tempx>y_top
x>y_topy>y_top
y>y_topi_temp
f_tempx>x_int
x>x_inty>x_inty>x_intf_temp
i_tempx>delta_yx>delta_yy>delta_y
y>delta_yi_temp
f_tempx>x_change_per_scan
x>x_change_per_scany>x_change_per_scan
y>x_change_per_scanf_temp
}
draw_lines(int scanint x_int_countint index)
{
int kxx1x2 for(k1k<(int)(x_int_count2+15)k++)
{ while(sides[index]delta_y0)
index++ x1(int)(sides[index]x_int+05)
index++
while(sides[index]delta_y0)
index++
x2(int)(sides[index]x_int+05)
setcolor(13)
line(x1scanx2scan) index++
}
}
update_sides_list() {
int k
int temp
for(kfirst_sk{ if(sides[k]delta_y>0)
{ sides[k]delta_y
sides[k]x_intsides[k]x_change_per_scan
}
}
}













5CohenSutherland裁剪算法实现直线段裁剪:
51编码算法:
511算法思想:
算法分三步骤:判断线段两端否窗口果线段完全见否判断线段否显然见果裁剪结束否求线段窗口边延长线交点线段线段分两段中段见舍弃余线段继续进行递裁剪算法编码进行二进制位运算顶点窗口二进制编码0000否进行编码
512实现步骤:
(1) 种算法利编码方法延长窗口边线包含未裁剪图形窗口面区域分成九区域:
(2)区域4位编码CtCbCrCl表示代码中位分01窗口边线确定面出具体编码规中右边位Cl第位次Cr第二Cb第三Ct第四位
A两端点P1(x1y1)P2(x2y2)区域0000中满足点裁剪 等式:
B两端点窗口边线外侧位置四位代码中相位时位1显然两端点代码C1C2位运算 C1&C2≠0 检查判断直线窗口外应全部舍弃
C果直线两端点满足述两种情况简单全部保留全部舍弃直线时需计算出直线窗口边线交点直线分段继续进行检查判断样逐段舍弃位窗口外线段保留剩余窗口线段
513程序实现
*********定义裁剪函数************
void line_clip(int x1 int y1 int x2 int y2 int leftint topint right int bottom)
{
void getcode(int xint yint d[4]) *定义获端点代码函数*
int ix11y11 *定义交点坐标*
int aa1
getcode(x1y1a)
getcode(x2y2b)
*1:裁剪循环开始*
while(aa0)
{
if((a[0]+a[1]+a[2]+a[3]0)&&(b[0]+b[1]+b[2]+b[3]0)) *第种情况线段完全见*
{
aa0
return
}
else if((a[0]&&b[0])+(a[1]&&b[1])+(a[2]&&b[2])+(a[3]&&b[3])0) *线段完全见*
{
setcolor(0)
setwritemode(0) *设置画线输出模式覆盖方式*
line(x1y1x2y2) *进行裁剪 进行覆盖*
aa0
return
}
*2:线段完全见完全见边交点线段裁剪处理*
else
{
if(a[0]+a[1]+a[2]+a[3]0) *寻找见点*
{
for(i0i<4i++)
c[i]b[i]*x2y2见点*
}
else
{
for(i0i<4i++)
c[i]a[i]*x1y1见点*
}
*3:直线窗口边作求交运算求出交点赋值x11y11*
if(c[0]1)
{
x11left
y11(int)((y2y1)*(leftx1)(x2x1)+y1)
}
else if(c[1]1)
{
x11right
y11(int)((y2y1)*(rightx1)(x2x1)+y1)
}
else if(c[2]1)
{
x11(int)((x2x1)*(bottomy1)(y2y1)+x1)
y11bottom
}
else if(c[3]1)
{
x11(int)((x2x1)*(topy1)(y2y1)+x1)
y11top
} *3:求交运算结束*
if((c[0]a[0])&&(c[1]a[1])&&(c[2]a[2])&&(c[3]a[3]))
{
setcolor(0)
setlinestyle(003)
setwritemode(0)
line(x1y1x11y11)
x1x11 y1y11
getcode(x11y11a)
}
else if((c[0]b[0])&&(c[1]b[1])&&(c[2]b[2])&&(c[3]b[3]))
{
setcolor(0)
setlinestyle(003)
setwritemode(0)
line(x2y2x11y11)
x2x11y2y11
getcode(x11y11b)
}
} *2:边交点线段裁剪处理结束*
} *1:裁剪循环结束*
}

*获端点代码*
void getcode(int xint yint d[4])
{
d[0]0d[1]0d[2]0d[3]0
if(x if(x>right) d[1]1
if(y>bottom) d[2]1
if(y return
}



















6曲线曲面绘制
61生成Bezier曲线
(1)算法思想
利Bezier曲线造型时果次数太高固然表示复杂形状时造成计算复杂度增加二次Bezier曲线表示力限面仅讨三次Bezier曲线矩阵表示计算机生成
(1) 矩阵表示
三次Bezier曲线定义式:

分解两矢量点积:

取Bezier曲线矩阵:

三次Bezier曲线基矩阵:

(2) 三次Bezier曲线生成
Bezier曲线参数表示法区间[01]分成N等份确定控制点取应三维点样两间画条直线该直线段投影二维面需Bezier曲线
(2)程序实现:
void bezier_3(int color double p[4][2])
{
double tt1t2xtyt
int rate200xy
setcolor(color)
moveto(p[0][0]p[0][1])
for (t0t<1t+10rate)
{
yt1t
t1yt*yt
t23*yt*t
xtp[0][0]*t1*yt+p[1][0]*t2*yt+p[2][0]*t2*t+p[3][0]*t*t*t
ytp[0][1]*yt*t1+p[1][1]*t2*yt+p[2][1]*t2*t+p[3][1]*t*t*t
x(int)(xt)
y(int)(yt)
lineto(xy)
}
}
62绘制Bezier曲面
(1)算法思想:
Bezier曲线条控制边形顶点位置严格关系曲线 Bezier曲线形状趋特征边形形状阶数控制边形顶点数决定Bezier曲面Bezier曲线拓广Bernstein函数作基函数Bernstein基函数构造空间点阵列位置控制
(2)算法实现步骤:
1 出控制顶点
2根公式编程绘制Bezier曲面








计算点坐标
3 画直线方法首尾相接画直线
(3)程序实现:
main()
{
char str[80]
int drivermode
int ikmj
int x0300y0300
int p[4][4][3]{{{1214550}{2412050}{4511750}{6514050}}
{{246534}{564534}{875634}{997534}}
{{4312020}{659820}{8710020}{11111520}}
{{151600}{341200}{551350}{751700}}}
float u0u1u2u3v0v1v2v3
float q10q11q12q13dudv
float q[n+1][n+1][3]q20[3]q21[3]q22[3]q23[3]q30[3]q31[3]q32[3]q33[3]
float xy
printf(input j(0bezier 1B_spline)\n)
scanf(d&j)
driverDETECTmode0
initgraph(&driver&modeD\\TC)
setbkcolor(1)
setcolor(15)
for(i0i<3i++)
{for(k0k<3k++)
{x(07071*p[i][k][0]+07071*p[i][k][1]+200)*2300
y(04082*p[i][k][0]+04082*p[i][k][1]08165*p[i][k][2]+200)*2300
if(k0)moveto(xy)lineto(xy)
}
}
for(i0i<3i++)
{for(k0k<3k++)
{x(07071*p[k][i][0]+07071*p[k][i][1]+200)*2300
y(04082*p[k][i][0]+04082*p[k][i][1]08165*p[k][i][2]+200)*2300
if(k0)moveto(xy)lineto(xy)
}
}
dudv10n
for(i0i {
u0(i*du)*(i*du)*(i*du)u1(i*du)*(i*du)u2i*duu31
if(j0)
{q10u0*(1)+u1*3+u2*(3)+u3*1q11u0*3+u1*(6)+u2*3
q12u0*(3)+u1*3q13u0*1}
if(j1)
{q10(u0*(1)+u1*3+u2*(3)+u3*1)6 q11(u0*3+u1*(6)+u3*4)6
q12(u0*(3)+u1*3+u2*3+u3*1)6q13(u0*1)6}
for(k0k<2k++)
{
q20[k]q10*p[0][0][k]+q11*p[1][0][k]+q12*p[2][0][k]+q13*p[3][0][k]
q21[k]q10*p[0][1][k]+q11*p[1][1][k]+q12*p[2][1][k]+q13*p[3][1][k]
q22[k]q10*p[0][2][k]+q11*p[1][2][k]+q12*p[2][2][k]+q13*p[3][2][k]
q23[k]q10*p[0][3][k]+q11*p[1][3][k]+q12*p[2][3][k]+q13*p[3][3][k]
if(j0)
{q30[k]q20[k]*(1)+q21[k]*3+q22[k]*(3)+q23[k]*1
q31[k]q20[k]*3+q21[k]*(6)+q22[k]*3
q32[k]q20[k]*(3)+q21[k]*3
q33[k]q20[k]*1}
if(j1)
{q30[k](q20[k]*(1)+q21[k]*3+q22[k]*(3)+q23[k]*1)6
q31[k](q20[k]*3+q21[k]*(6)+q22[k]*3)6
q32[k](q20[k]*(3)+q22[k]*3)6
q33[k](q20[k]*1+q21[k]*4+q22[k]*1)6}
}
for(m0m {
v0(m*dv)*(m*dv)*(m*dv)v1(m*dv)*(m*dv)v2m*dvv31
for(k0k<2k++)
{q[i][m][k]q30[k]*v0+q31[k]*v1+q32[k]*v2+q33[k]*v3}
}
}
setcolor(4)
for(i0i {for(m0m {x(07071*q[i][m][0]+07071*q[i][m][1]+200)*2300
y(04082*q[i][m][0]+04082*q[i][m][1]08165*q[i][m][2]+200)*2300
if(m0)moveto(xy)
lineto(xy)
}
}
for(m0m {for(i0i {x(07071*q[i][m][0]+07071*q[i][m][1]+200)*2300
y(04082*q[i][m][0]+04082*q[i][m][1]08165*q[i][m][2]+200)*2300
if(m0)moveto(xy)
lineto(xy)
}
}
if(j0)
{ printf(3Bezier curved surface)}
if(j1)
{ printf(3B_Splline curved surface)}
outtextxy(270270this is zhouman's homework)
setcolor(3)
settextstyle(TRIPLEX_FONTHORIZ_DIR1)
sprintf(strsgraphicszhoumantime20091230)
outtextxy(120430str)
getch()
closegraph()
}














7 二维图形缩放旋转移组合变换
(1)思想算法:
齐次坐标理二维图形变换矩阵式表示:
移变换:[x* y* 1] [x y 1] * [t*x s*y 1]
例变换:[x* y* 1][x y 1] * [m+x n+y 1]

旋转变换: 面二维图形饶原点逆时针旋转Ө角变换矩阵

[x* y* 1][x y 1] * [x*cosөy*sinө]

复合变换:种变换矩阵原点参点意参点进行变换时
候复合变换矩阵
(2)程序实现:
直线命令画出齿(六边形半)→利旋转变换称变换矩阵 实现余部分绘制→调试运行程序→输出图形→分析结果→结束
void tf1(float sqfloat cqint xpint yp)
{ t[0][0]cq t[0][1]sq t[0][2]0
t[1][0]sqt[1][1]cq t[1][2]0
t[2][0]xp t[2][1]yp t[2][2]1
}
void tf2()
{ float xy
xpp[j][0]ypp[j][1]
pp[j][0]x*t[0][0]+y*t[1][0]+t[2][0]
pp[j][1]x*t[0][1]+y*t[1][1]+t[2][1]
}
main()
{
int gdrivergmodexp300yp200
float p[][2]{{801}{808}{9917}{9726}{7626}}
float it[3][3]
gdriverDETECT
registerbgidriver(EGAVGA_driver)
initgraph(&gdriver&gmoded\\tc)
setbkcolor(3)
cleardevice()
setcolor(9)
circle(xpyp70)
circle(xpyp20)
circle(xpyp40)
circle(xpyp5)
circle(xpyp2)
circle(xpyp45)
setlinestyle(006)
for(i0i<6ii+03142)
{tf1(sin(i)cos(i)xpyp)
for(j0j<5j++)
{pp[j][0]p[j][0]pp[j][1]p[j][1]tf2()}
for(j0j<4j++)
line(pp[j][0]pp[j][1]pp[j+1][0]pp[j+1][1])
delay(10000)
}
getch()
closegraph()
}
8. 图形三视图变换
编写三维变换算法程序→检查程序正确性→分段调试程序→输入出三维形体顶点坐标→执行变换→算法程序进行必调整→更换形体数继续变换→结束
程序实现:
#include
#include
int a[14][4]{{30001}{304001}{04001}{040101}{030301}
{00301}{300301}{3010301}{1010301}{1030301}{1040101}
{1010101}{3010101}{3040101}}
float t[4][4]p[14][4]
void a400()
{int ij
for(i0i<4i++)
for(j0j<4j++)
t[i][j]0
}
void a500()
{ int kij
for(i0i<14i++)
{for(j0j<4j++)
{p[i][j]0
for(k0k<4k++)
p[i][j]p[i][j]+a[i][k]*t[k][j]}
p[i][0]p[i][0]+280
p[i][1]p[i][1]+180
}
setcolor(9)
moveto(p[0][0]p[0][1])
for(i0i<14i++)
lineto(p[i][0]p[i][1])
line(p[6][0]p[6][1]p[0][0]p[0][1])
line(p[7][0]p[7][1]p[12][0]p[12][1])
line(p[8][0]p[8][1]p[11][0]p[11][1])
line(p[9][0]p[9][1]p[4][0]p[4][1])
line(p[10][0]p[10][1]p[3][0]p[3][1])
line(p[13][0]p[13][1]p[10][0]p[10][1])
line(p[1][0]p[1][1]p[13][0]p[13][1])
getch()
}
main()
{int drivermodeij
driverDETECT
initgraph(&driver&moded\\tc)
setbkcolor(3)
a400()
t[0][0]07071*3
t[0][1]04082*3
t[1][0]07071*3
t[1][1]04082*3
t[2][1]08165*3
t[3][3]1
a500()
closegraph()
}






四实验总结
实验程中程中许会方提高改进加深书知识理解掌握时学书没东西积累宝贵验学工作裨益
实验采C语言编程C语言图形界面制作方面较面
象语言言没优势实验基图形绘制方面选择算法加实施够实现实验完成部分功种功选中种算法完成程中深刻解认识种算法留印象未实现整画图板界面遗憾继续努力完善
需完成功点:
(1)汉字编写功
(2)投影变换
(3)隐藏面消隐
(4)三维图形变换等












参考文献
[1] 倪明田吴良芝 计算机图形学 北京:北京学出版社2000
[2] 孙家广等 计算机图形学 北京: 清华学出版社 2002
[3] 王飞 计算机图形学基础北京:北京邮电学出版社 2002
[4] 王汝传邹北骥计算机图形学北京:民邮电出版社2003
[5] 杨钦计算机图形学清华学出版社2005(3)
[6] 郭玲文精通AutoCAD科学出版社2001(8)


文档香网(httpswwwxiangdangnet)户传

《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 2 香币 [ 分享文档获得香币 ]

该文档为用户出售和定价!

购买文档

相关文档

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

计算机图形学实验报告(例文)  计算机图形学实验报告   0900213 38 8 郭佩佩  实验一  建立计图实验环境 1. 实验目的 为了体现面向对象的程序设计思想,本实验采用基于 Visual C 十十集成环境的 MFC 编程方法,从开发 windows 应用程序的角度,来建立一个菜单交互式绘图基本环境,为后续的实验打基础。  2. 实验内容 1)  建立

z***i 2年前 上传677   0

计算机图形学实验报告

《计算机图形学》实验报告姓 名: 学 号: 班 级: 计算机班 实验地点: 实验时间: 实验一1 实验

文***品 6个月前 上传209   0

计算机实验报告

计算机实验报告  课程:大学计算机基础         班级 : *****          学号:**       姓名:***  组别:        同组者姓名:                 仪器编号:          实验日期:     实验 windows 2000 操作  +[Print Screen]   打开“画图”程序   单击“文件/新建”菜单   在

h***n 10年前 上传617   0

计算机图形学模拟试卷和答案

北京语言大学网络教育学院《计算机图形学》模拟试卷一注意: 1.试卷保密,考生不得将试卷带出考场或撕页,否则成绩作废。请监考老师负责监督。2.请各位考生注意考试纪律,考试作弊全部成绩以零分计算。3.本试卷满分100分,答题时间为90分钟。4.本试卷分为试题卷和答题卷,所有答案必须答在答题卷上,答在试题卷上不给分。一、【单项选择题】(本大题共10小题,每小题2分,共20分)在每小题列

文***品 3年前 上传1176   0

计算机基本组成实验报告

电 子 科 技 大 学 实验报告   学生姓名:                           学 号:   一、     实验室名称:  计算机学院硬件实验室   二、  实验项目名称:计算机基本组成实验   三、    实验原理 在计算机中,CPU是运算中心和控制中心,系统中的所有设备都是通过三条总线(DB数据总线、AB地址总线、CB控制总线)以及相应的输入/输出接

x***8 12年前 上传12523   0

计算机应用基础实验报告

目的:理解微型计算机的结构和工作原理,掌握组装一台微型计算机所需的硬件由几分钟组成,并学会配置微机硬件配置。

z***2 6年前 上传3389   0

计算机组成原理实验报告 (2)

计 算 机 组 成 原 理 实 验 报 告Computer Organization Lab Reports______________________________________________________________________________班级: ___ 姓名:__ _ 学号:_____ 实验日期:_____________学院: ___ _ 专业:_ ___

z***u 1年前 上传488   0

计算机组成原理实验报告

计算机组织与体系结构实 验 报 告评 语:成绩教 师: 年 月 日班 级: ________学 号: ____________姓 名: ______实验地点: E-Ⅱ区 311 _实验时间: 第三批 实验一 存储器实验

z***u 1年前 上传444   0

计算机网络实验报告

1.理解电子邮件的工作原理;2.掌握电子邮件的申请方法;3.掌握电子邮件的使用方法。

一***旵 3年前 上传660   0

计算机网络实验报告

1、观察教学机房,了解计算机网络结构,并画出计算机网络拓扑结构图。 2、了解计算机网络中的网络设备,并了解每台计算机上使用的网络标识、网络协议。 3、制作2根直通双绞线和2根交叉线,并测试。 4、分别用制作好的直通线、交叉线以及串口线、并口线,连接两台计算机。

M***9 4年前 上传1637   0

计算机网络实验报告

(1)理解远程登录的工作原理;(2)掌握远程登录的设置方法;(3)熟悉远程桌面的使用方法;(4)理解端口的含义。

一***旵 3年前 上传633   0

计算机组成原理实验报告 (1)

郑州航空工业管理学院计算机科学与应用系实验报告课 程 名: 计算机组成原理 学 号: 姓 名: 指导教师: 成 绩; 计算

文***品 1年前 上传414   0

计算机图形学期末考试题库

计算机图形学期末考试题库  一、单项选择题1.  计算机图形显示器一般使用什么颜色模型?(B)A)RGB; B)CMY; C)HSV ; D)HLS     2.  哪一个不是国际标准化组织(ISO)批准的图形标准?(D)A)GKS; B)PHIGS; C)CGM ; D)DXF     3.  下述用数值微分法(DDA)画斜率的绝对值小于1的直线的C语言子程序中哪一行有

文***品 3年前 上传1185   0

大学微型计算机原理及应用本科实验报告

本科实验报告课程名称: 微型计算机原理及应用 实验项目: 多位十进制数相加 实验地点: 博学馆四层微机实验室 专业班级: 学 号: 学生姓名: 指导教师:

z***u 1年前 上传410   0

计算机上机实验内容及实验报告要求

计算机上机实验内容及实验报告要求  一、《软件技术基础》上机实验内容  1.顺序表的建立、插入、删除。  2.带头结点的单链表的建立(用尾插法)、插入、删除。  二、提交到个人10m硬盘空间的内容及截止时间  1.分别建立二个文件夹,取名为顺序表和单链表。  2.在这二个文件夹中,分别存放上述二个实验的相关文件。每个文件夹中应有三个文件(.c文件、.obj文件和.exe文

p***0 12年前 上传784   0

计算机输入输出系统接口实验报告

计算机输入输出系统接口实验报告姓名:学号:二 0 16 年 X月实验一 环境熟悉与 I/O 地址译码一、实验目的掌握I/O地址译码电路的工作原理。二、实验内容将接口实验包中所带的 EX-138.DSN 文件用 ISIS 7 打开。改变 A9~A3 的接线方法,从而得到 Y0;

文***享 8个月前 上传281   0

《计算机网络基础》课内实验报告

《计算机网络基础》课内实验学 部: 经济与管理学院 专 业: 市场营销(网络营销) 班 级: 学 号: 姓 名: 指导教师:

徐***计 2年前 上传332   0

XX大学计算机网络实验报告

计算机网络实验报告册实验一 交换机基本配置实验学时:2学时实验类型:验证实验要求:必修一、实验目的1.掌握桌面网络组建方法2.掌握 Quidway S系列中低端交换机几种常见配置方法二、实验内容1. 通过 Console口搭建配置环境2. 通过 Telnet搭建配置环境3. 熟悉 VRP的各种视图及各视图下的常用命令三、实验原理、方法和手段1. 交换机配置方

文***品 3年前 上传599   0

计算机操作系统内存分配实验报告

计算机操作系统内存分配实验报告一、实验目的熟悉主存的分配与回收。理解在不同的存储管理方式下,如何实现主存空间的分配与回收。掌握动态分区分配方式中的数据结构和分配算法及动态分区存储管理方式及其实现过程。二、实验内容和要求主存的分配和回收的实现是与主存储器的管理方式有关的。所谓分配,就是解决多道作业或多进程如何共享主存空间的问题。所谓回收,就是当作业运行完成时将作业或进程所占的主存空间归还

文***品 3年前 上传620   0

计算机病毒及其防范技术实验报告(例文)

计算机病毒及其防范技术实验报告(例文)   计算机病毒及其防范技术 课程实验报告   项目名称:  对于特定病毒的查杀程序  姓名:  雷雨诗   日期:  2021 年 4 月 22 日   一、项目简介:  针对教员给出的病毒源代码(完整版),通过对特征码的扫描的方式,编写的两个专杀程序。这两个程序分别通过对两种特征码的扫描进行特征码的扫描

z***i 2年前 上传902   0

**民族师范学院数学与计算机科学学院上机实验报告

**民族师范学院数学与计算机科学学院上机实验报告   201 年 至 201 年度    第   学期 上机时间   专业年级:数本151 姓  名 王行舟 08   实验项目:《数学建模算法与应用》第37页,习题3.   3.1某工厂向用户提供发动机,按合同规定,其交货数量和日期是:第一季度末交40台,第二季度末交60台,第三季度末交80台。工厂的最大生产能力为每季100

w***啊 6年前 上传2833   0

化学实验报告

化学实验报告  化学是一门以实验为基础的学科。化学上的许多理论和定律都是从实验中发现归纳出来的。同时,化学理论的应用、评价也有赖于实验的探索和检验。虽然到了近代乃至现代,化学的飞速进步已经产生了各种新的研究方法,但是,实验方法仍然是化学不可缺少的研究手段。新课程改革将科学探究作为突破口,科学探究不但是一种重要的学习方式,同时也是中学化学课程的重要内容,它对发展学生的科学素养具有不可替代的作用

静***开 11年前 上传1068   0

**学院实验报告

实验内容:使用金融数据库查找宏观经济及行业相关数据,使用Excel进行作图分析。根据所得数据以及图形分析相关问题。实验目的:掌握金融数据库软件的相关使用,操作,快捷查找数据,能够制作美观图形,对于数据有效分析。

e***3 3年前 上传690   0

电路实验报告

实验一 元件特性的示波测量法一、实验目的1、学习用示波器测量正弦信号的相位差。2、学习用示波器测量电压、电流、磁链、电荷等电路的基本变量3、掌握元件特性的示波测量法,加深对元件特性的理解。二、实验任务1、 用直接测量法和李萨如图形法测量移相器的相移即实验原理图如图 5-6示。

小***库 3年前 上传3105   0

上机实验报告

上机实验报告  一.     题目1.  建立一个学生档案,内容包括学号,姓名,年龄,性别,数学,物理和英语3门功课成绩。要求实现以下功能:1)        数据输入;2)        查询某个学生的成绩;3)        按平均排列输出;4)        统计某门课各分数段人数;5)        删除某个学生记录;2.  编程实现对二位数进行加,减,乘运算,每运行一次程序做10道

l***2 8年前 上传878   0