当前位置:文档之家› 计算机图形学 课程设计作品分析

计算机图形学 课程设计作品分析

计算机图形学 课程设计作品分析
计算机图形学 课程设计作品分析

《计算机图形学Visual c++版》考试作业报告

题目:计算机图形学图形画板

专业:推荐IT学长淘宝日用品店530213

班级:推荐IT学长淘宝日用品店530213

学号:推荐IT学长淘宝日用品店530213

姓名:推荐IT学长淘宝日用品店530213

指导教师:推荐IT学长淘宝日用品店530213 完成日期: 2015年12月2日

一、课程设计目的

本课程设计的目标就是要达到理论与实际应用相结合,提高学生设计图形及编写大型程序的能力,并培养基本的、良好的计算机图形学的技能。

设计中要求综合运用所学知识,上机解决一些与实际应用结合紧密的、规模较大的问题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握计算机图形学基本知识和算法设计的基本技能术,掌握分析、解决实际问题的能力。

通过这次设计,要求在加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。

二、设计内容推荐IT学长淘宝日用品店530213

设计一个图形画板,在这个图形画板中要实现:

1,画线功能,而且画的线要具备反走样功能。

2, 利用上面的画线功能实现画矩形,椭圆,多边形,并且可以对这些图形进行填充。

3,可以对选中区域的图形放大,缩小,平移,旋转等功能。

三、设计过程

程序预处理:包括头文件的加载,常量的定义以及全局变量的定义

#include "stdafx.h"

#include "GraDesign.h"

#include "GraDesignDoc.h"

#include "GraDesignView.h"

#include "math.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif

//******自定义全局变量

int type = -1;

CPoint point1;

CPoint point2;

CPoint temp[2];

CPoint remember;

int i = 0;

///////////////////////////////////////////////推荐IT学长淘宝日用品店530213//////////////////////////////

// CGraDesignView

IMPLEMENT_DYNCREATE(CGraDesignView, CView)

BEGIN_MESSAGE_MAP(CGraDesignView, CView)

//{{AFX_MSG_MAP(CGraDesignView)

ON_WM_LBUTTONDOWN()

ON_WM_LBUTTONUP()

ON_COMMAND(line, Online)

ON_COMMAND(rectangle, Onrectangle)

ON_COMMAND(ellipse, Onellipse)

ON_COMMAND(polygon, Onpolygon)

ON_COMMAND(fill, Onfill)

ON_WM_RBUTTONDOWN()

ON_COMMAND(tobig, Ontobig)

//}}AFX_MSG_MAP

// Standard printing commands

ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)

ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)

ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)

END_MESSAGE_MAP()

////////////////////////////推荐IT学长淘宝日用品店530213/////////////////////////////////////////////////

// CGraDesignView construction/destruction

CGraDesignView::CGraDesignView()

{

// TODO: add construction code here

}

CGraDesignView::~CGraDesignView()

{

}

BOOL CGraDesignView::PreCreateWindow(CREATESTRUCT& cs)

{

// TODO: Modify the Window class or styles here by modifying

// the CREATESTRUCT cs

return CView::PreCreateWindow(cs);

}

/////////////////////////////////////////////////////////////////////////////

// CGraDesignView drawing

void CGraDesignView::OnDraw(CDC* pDC)

{

CGraDesignDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

// TODO: add draw code for native data here

}

/////////////////////////////////////////////////////////////////////////////

// CGraDesignView printing

BOOL CGraDesignView::OnPreparePrinting(CPrintInfo* pInfo)

{

// default preparation

return DoPreparePrinting(pInfo);

}

void CGraDesignView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) {

// TODO: add extra initialization before printing

}

void CGraDesignView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) {

// TODO: add cleanup after printing

}

/////////////////////////////////////////////////////////////////////////////

// CGraDesignView diagnostics

#ifdef _DEBUG

void CGraDesignView::AssertValid() const

{

CView::AssertValid();

}

void CGraDesignView::Dump(CDumpContext& dc) const

{

CView::Dump(dc);

}

CGraDesignDoc* CGraDesignView::GetDocument() // non-debug version is inline

{

ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CGraDesignDoc)));

return (CGraDesignDoc*)m_pDocument;

}

#endif //_DEBUG

推荐IT学长淘宝日用品店530213

画直线:RunLine函数绘制任意斜率的直线,并且添加反走样算法,通过OnLButtonDown,OnLButtonUp函数记录鼠标的点击位置

//************画线函数***********************

void CGraDesignView::RunLine(CPoint CP0, CPoint CP1)

{

CDC *pDC=GetDC();

CPoint p,t;

int x,y;

double e,k,e1;

x=CP1.x-CP0.x;

//斜率无穷

if(x==0)

{

if(CP0.y>CP1.y)

{

t=CP0;

CP0=CP1;

CP1=t;

}

p=CP0;

while(p.y

{

pDC->SetPixelV(p,RGB(0,0,0));

p.y++;

}

}

else

{

y=CP1.y-CP0.y;

k=double(y)/double(x);

//斜率0至1

if(k>=0 && k<1)

{

//比较两个点中X轴坐标的大小

if(CP0.x>CP1.x)

{

t=CP0;

CP0=CP1;

CP1=t;

}

p=CP0;

x=CP1.x-CP0.x;

y=CP1.y-CP0.y;

//画反走样

k=double(CP0.y-CP1.y)/(CP0.x-CP1.x);

e=k;

while(p.x

e1=1-e;

//反走样画两个像素点

pDC->SetPixelV(p.x,p.y,RGB(e*255,e*255,e*255));

pDC->SetPixelV(p.x,p.y+1,RGB(e1*255,e1*255,e1*255));

p.x++;

e=e+k;

if(e>=1){

e--;

p.y++;

}

}

}

//斜率大于1

if(k>=1)

{

if(CP0.y>=CP1.y)

{

t=CP0;

CP0=CP1;

CP1=t;

}

p=CP0;

x=CP1.x-CP0.x;

y=CP1.y-CP0.y;

k=double(CP0.y-CP1.y)/(CP0.x-CP1.x);

e=1/k;

while(p.x

e1=1-e;

pDC->SetPixelV(p.x,p.y,RGB(e*255,e*255,e*255));

pDC->SetPixelV(p.x+1,p.y,RGB(e1*255,e1*255,e1*255));

p.y++;

e=e+1/k;

if(e>=1){

e--;

p.x++;

}

}

}

//斜率-1至0

if(k<0 && k>-1)

{

if(CP0.x>CP1.x)

{

t=CP0;

CP0=CP1;

CP1=t;

}

p=CP0;

x=CP1.x-CP0.x;

y=CP1.y-CP0.y;

k=double(CP0.y-CP1.y)/(CP0.x-CP1.x);

e=k;

while(p.x

e1=1-e;

pDC->SetPixelV(p.x,p.y,RGB(e*255,e*255,e*255));

pDC->SetPixelV(p.x,p.y-1,RGB(e1*255,e1*255,e1*255));

p.x++;

e=e-k;

if(e>=1){

e--;

p.y--;

}

}

}

//斜率小于等于-1

if(k<=-1)

{

if(CP0.y

{

t=CP0;

CP0=CP1;

CP1=t;

}

p=CP0;

x=CP1.x-CP0.x;

y=CP1.y-CP0.y;

k=double(CP0.y-CP1.y)/(CP0.x-CP1.x);

e=-1/k;

while(p.y>CP1.y-1){

e1=1-e;

pDC->SetPixelV(p.x,p.y,RGB(e*255,e*255,e*255));

pDC->SetPixelV(p.x+1,p.y,RGB(e1*255,e1*255,e1*255));

p.y--;

e=e-1/k;

if(e>=1){

e--;;

p.x++;

}

}

}

}

}

推荐IT学长淘宝日用品店530213

void CGraDesignView::Onrectangle()

{

type = 2;

}

画矩形:利用画线功能通过实现RunRectangle函数画出矩形

//***************画矩形函数****************************

void CGraDesignView::RunRectangle(CPoint CP0, CPoint CP1)

{

CDC *pDC=GetDC();

CPoint CP2,CP3;

//0 1 在同一对角线,2和1在垂直方向,0 3在竖直方向

CP2.x=CP1.x;

CP2.y=CP0.y;

CP3.x=CP0.x;

CP3.y=CP1.y;

//**********利用前面的功能画4条边************************** RunLine(CP0,CP2);

RunLine(CP0,CP3);

RunLine(CP1,CP2);

RunLine(CP1,CP3);

}

void CGraDesignView::Onellipse()

{

type = 3;

}

画椭圆:利用画线功能通过实现RunEllipse函数画出椭圆

//***************画椭圆函数****************************

void CGraDesignView::RunEllipse(CPoint CP0, CPoint CP1)

{

CDC *pDC=GetDC();

CRect rect;

GetClientRect(&rect);

pDC->SetMapMode(8);

pDC->SetWindowExt(rect.Width(),rect.Height());

pDC->SetViewportExt(rect.Width(),-rect.Height());

pDC->SetViewportOrg((CP0.x+CP1.x)/2,(CP0.y+CP1.y)/2);

////////////////建立坐标轴//////////////////////

double a,b,d,d2,a2,b2;

CPoint p,p0;

int endx,endy;

a=abs(CP0.x-CP1.x)/2;

b=abs(CP0.y-CP1.y)/2;

a2=a*a;b2=b*b;

endx=(int)(a2/sqrt(a2+b2));

d=b2-b*a2+0.25*a2;

p.x=0;p.y=(long)b;

if(CP0.y == CP1.y)

{

RunRectangle(CP0,CP1);

}

else

{

while(p.x

{

pDC->SetPixelV(p,RGB(0,0,0));

pDC->SetPixelV(p.x,-p.y,RGB(0,0,0));

pDC->SetPixelV(-p.x,p.y,RGB(0,0,0));

pDC->SetPixelV(-p.x,-p.y,RGB(0,0,0));

if(d>=0)

{

d=d+2*b2*p.x-2*a2*p.y+3*b2+2*a2;

p.y--;

}

else {d=d+2*b2*p.x+3*b2;}

p.x++;

}

d2=b2*(p.x+0.5)*(p.x+0.5)+a2*(p.y-1)*(p.y-1)-a2*b2;

while(p.y>=0)

{

pDC->SetPixelV(p,RGB(0,0,0));

pDC->SetPixelV(p.x,-p.y,RGB(0,0,0));

pDC->SetPixelV(-p.x,p.y,RGB(0,0,0));

pDC->SetPixelV(-p.x,-p.y,RGB(0,0,0));

p.y--;

if(d2<0)

{

d2=d2+2*b2*p.x-2*a2*p.y+2*b2+3*a2;

p.x++;

}

else

{

d2=d2-2*a2*p.y+3*a2;

}

}

}

}

void CGraDesignView::Onpolygon()

{

type = 4;

}

void CGraDesignView::Onfill()

{

type = 5;

}

画多边形:利用画线功能通过鼠标左键函数OnLButtonDown取点,用鼠标右键函数OnRButtonDown实现回到原点

CPoint temp[2];

CPoint remember;

int i = 0;

//多边形1

if(4 == type)

{

i++;

temp[i%2] = point;

if(1==i) { remember = temp[i]; return; }

RunLine(temp[i%2],temp[(i+1)%2]);

}

//画多边形,按鼠标右键结束,并自动连接起始点,数据清零

RunLine(temp[i%2],remember);

i=0;

temp[0].x=0;

temp[0].y=0;

temp[1].x=0;

temp[1].y=0;

CView::OnRButtonDown(nFlags, point);

填充:通过实现RunFill函数实现填充

CPoint stack[1000000];

void CGraDesignView::RunFill(CPoint point)

{

CPoint p;

int top;

COLORREF r;

CClientDC dc(this);

top=0;

stack[top]=point;

top++;

while(top!=0)

{

top--;

p=stack[top];

r=dc.GetPixel(p);

if(r != RGB(255,255,255)) continue;

dc.SetPixelV(p,RGB(0,255,0));

r=dc.GetPixel(p.x+1,p.y);

if(r == RGB(255,255,255) && r!=RGB(0,255,0))

{

stack[top].x=p.x+1;

stack[top].y=p.y;

top++;

}

r=dc.GetPixel(p.x-1,p.y);

if(r == RGB(255,255,255) && r!=RGB(0,255,0))

{

stack[top].x=p.x-1;

stack[top].y=p.y;

top++;

}

r=dc.GetPixel(p.x,p.y+1);

if(r == RGB(255,255,255)&& r!=RGB(0,255,0))

{

stack[top].x=p.x;

stack[top].y=p.y+1;

top++;

}

r=dc.GetPixel(p.x,p.y-1);

if(r == RGB(255,255,255) && r!=RGB(0,255,0))

{

stack[top].x=p.x;

stack[top].y=p.y-1;

top++;

}

}

}

void CGraDesignView::Ontobig()

{

type = 6;

}

推荐IT学长淘宝日用品店530213

1.需求分析

本程序将实现多功能画板的功能:

1,画线功能,而且画的线要具备反走样功能。

2, 利用上面的画线功能实现画矩形,椭圆,多边形,并且可以对这些图形进行

3,可以对选中区

域的图形放大,缩小,平移,旋转等功能。

2.概要设计

RunLine(CPoint CP0, CPoint CP1) //反走样直线

RunRectangle(CPoint CP0, CPoint CP1) //矩形

RunEllipse(CPoint CP0, CPoint CP1) //椭圆

RunFill(CPoint point) //填充

OnLButtonDown(UINT nFlags, CPoint point) //鼠标左键

OnRButtonDown(UINT nFlags, CPoint point) //鼠标右键

3.详细设计

RunLine函数绘制任意斜率的直线,并且添加反走样算法,通过OnLButtonDown,OnLButtonUp 函数记录鼠标的点击位置

利用画线功能通过实现RunRectangle函数画出矩形

利用画线功能通过实现RunEllipse函数画出椭圆

利用画线功能通过鼠标左键函数OnLButtonDown取点,用鼠标右键函数OnRButtonDown实现回到原点

4.调试分析

仅画图功能初步实现,而放大,缩小,平移,旋转等功能依然无法实现。

5.用户使用说明

1、运行VC6.0

2、选择功能面板上的类型

3、选择功能(画线,矩形,椭圆,多边形,填充)

4、在画板上画图

6.测试结果

1,直线:

3,椭圆

4,多边形

7.附录

带注释的源程序。如果提交源程序软盘,可以只列出程序文件名的清单。

四、课程设计体会

通过做这个画板设计实验,一方面把所学的知识整合到一起并通过画板表现出来,通过这次设计,实现对直线,矩形,多边形的绘制,还有通过自创类来实现消隐的功能,通过研究与合作,更熟练了用指针进行扫描来绘制这些图形,以及提高对这门课程的兴趣。

推荐IT学长淘宝日用品店530213

电气14级四个班级虚拟仪器课程设计题目2015秋季2016.1.18-22

12级《虚拟仪器》课程设计任务书 一、设计题目及任务 学生按分组组别从以下对应题目号中选择一题进行设计。 1.粮仓管理系统设计(利用labVIEW)(3-4人) 1)一个粮仓系统有五个独立的粮仓,假设粮仓中各有一个控制节点,用来测量其内部温度及湿度,并有两个执行机构,分别用于打开通气窗口及打开风扇。 2)假设五个粮仓的数据都汇聚在一个集中节点,该节点将数据传至上位监控计算机(串行口)。(数据协议自定,要将五个节点区分开) 3)设计一个监控界面,用于实时监控五个粮仓的实时数据。并保留每天的数据。可以按日期及指定的粮仓来查询数据,并显示历史曲线。 4)用户可以设置报警线,当温度超过报警线时,要求下传数据,启动相应的执行机构。 并在控制面板中有所显示。 5)要求用实际串口完成。(可以在另一个电脑上用串口调试助手,模拟集中节点) 2.利用声卡的数据采集与输出(LabVIEW)(3-4人) 1)通过话筒,利用声卡采集一段声音 2)显示该段声音的频率分析,分析特点,并存储起来。 3)试着根据存储的声音特色,区别不同的人。 4)存储不同的声音,利用声卡实现回放。 3.虚拟仪器的网络控制(3-4人) 1)设计一个程序控制8个外设小灯的点亮方式,要求两种方式A:每个小灯间隔时间T,依次亮,时间T可调,并循环。B:先1.3.5.7.9亮隔时间T,2.4.6.8.10亮,并循环,T 可调。 2)要求主面板与硬件的8个小灯同步。 3)通过网络在另一台计算机上控制此程序的运行(利用LabVIEW的DateSocket技术) 4.基于NI数据采集卡的虚拟示波器(3-4人) 1):波形来自外来的信号发生器(可以外接,也可以仿真) 2:通过采集此信号(波形采集) 3):主界面要求为一个典型的示波器界面,各个调节按钮的功能应该均具备。 4):要求显示波形的特征量。 5:)存储并回放波形。 5.动态分析仪(3-4人) 1):设计一个典型系统的动态响应的过度过程的分析仪。 2):输入为:单位阶跃、单位斜坡、单位加速度、脉冲输入、正弦。 3):系统为典型的一阶系统和二阶系统。相关参数可调 4):当用户在主界面输入不同的输入及系统时,要求输出其动态响应的时域及频域分析。 5):如果在上述系统中加入延时环节(延时时间可调),对应的动态响应应如何? 6.基于NI数据采集卡的虚拟信号放生器(3-4人)

计算机图形学实验

实验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 ;

计算机图形学试题附答案完整版

名词解释 将图形描述转换成用像素矩阵表示的过程称为扫描转换。 1.图形 2.像素图 3.参数图 4.扫描线 5.构造实体几何表示法 6.投影 7.参数向量方程 8.自由曲线 9.曲线拟合 10.曲线插值 11.区域填充 12.扫描转换 三、填空 1.图形软件的建立方法包括提供图形程序包、和采用专用高级语言。 2.直线的属性包括线型、和颜色。 3.颜色通常用红、绿和蓝三原色的含量来表示。对于不具有彩色功能的显示系统,颜色显示为。 4.平面图形在内存中有两种表示方法,即和矢量表示法。 5.字符作为图形有和矢量字符之分。 6.区域的表示有和边界表示两种形式。 7.区域的内点表示法枚举区域内的所有像素,通过来实现内点表示。 8.区域的边界表示法枚举区域边界上的所有像素,通过给赋予同一属性值来实现边界表示。 9.区域填充有和扫描转换填充。 10.区域填充属性包括填充式样、和填充图案。 11.对于图形,通常是以点变换为基础,把图形的一系列顶点作几何变换后,

连接新的顶点序列即可产生新的变换后的图形。 12.裁剪的基本目的是判断图形元素是否部分或全部落在之内。 13.字符裁剪方法包括、单个字符裁剪和字符串裁剪。 14.图形变换是指将图形的几何信息经过产生新的图形。 15.从平面上点的齐次坐标,经齐次坐标变换,最后转换为平面上点的坐标,这一变换过程称为。 16.实体的表面具有、有界性、非自交性和闭合性。 17.集合的内点是集合中的点,在该点的内的所有点都是集合中的元素。 18.空间一点的任意邻域内既有集合中的点,又有集合外的点,则称该点为集合的。 19.内点组成的集合称为集合的。 20.边界点组成的集合称为集合的。 21.任意一个实体可以表示为的并集。 22.集合与它的边界的并集称集合的。 23.取集合的内部,再取内部的闭包,所得的集合称为原集合的。 24.如果曲面上任意一点都存在一个充分小的邻域,该邻域与平面上的(开)圆盘同构,即邻域与圆盘之间存在连续的1-1映射,则称该曲面为。 25.对于一个占据有限空间的正则(点)集,如果其表面是,则该正则集为一个实体(有效物体)。 26.通过实体的边界来表示一个实体的方法称为。 27.表面由平面多边形构成的空间三维体称为。 28.扫描表示法的两个关键要素是和扫描轨迹。 29.标量:一个标量表示。 30.向量:一个向量是由若干个标量组成的,其中每个标量称为向量的一个分量。 四、简答题 1. 什么是图像的分辨率?

电子电路设计与制作教学大纲

《电子电路设计与制作》教学大纲1.课程中文名称:电子电路设计与制作 2.课程代码: 3.课程类别:实践教学环节 4.课程性质:必修课 5.课程属性:独立设课 6.电子技术课程理论课总学时:256总学分:16 电子电路设计与制作学时:3周课程设计学分:3 7.适用专业:电子信息类各专业 8.先修课程:电路分析基础、模拟电子技术、数字电子技术、PCB电路设计一、课程设计简介 实验课、课程设计、毕业设计是大学阶段既相互联系又相互区别的三大实践性教学环节。实验课是着眼于实验验证课程的基本理论,培养学生的初步实验技能;毕业设计是针对本专业的要求所进行的全面的综合训练;而课程设计则是针对某几门课程构成的课程群的要求,对学生进行综合性训练,培养学生运用课程群中所学到的理论学以致用,独立地解决实际问题。电子电路设计与制作是电子信息类各专业必不可少的重要实践环节,它包括设计方案的选择、设计方案的论证、方案的电路原理图设计、印制板电路(即PCB)设计、元器件的选型、元器件在PCB板上的安装与焊接,电路的调试,撰写设计报告等实践内容。电子电路设计与制作的全过程是以学生自学为主,实践操作为主,教师的讲授、指导、讨论和研究相结合为辅的方式进行,着重就设计题目的要求对设计思路、设计方案的形成、电路调试和参数测量等展开讨论。 由指导教师下达设计任务书(学生自选题目需要通过指导教师和教研室共同审核批准),讲解示范的案例,指导学生各自对自己考虑到的多种可行的设计方案进行

比较,选择其中的最佳方案并进行论证,制作出满足设计要求的电子产品,撰写设计报告。需要注意是,设计方案的原理图须经Proteus软件仿真确信无误后,才能进行印刷电路图的制作,硬件电路的制作,以避免造成覆铜板、元器件等材料的浪费。电路系统经反复调试,完全达到(或超过)设计要求后,再完善设计报告。设计的整个过程在创新实验室或电子工艺实验室中完成。 二、电子电路设计与制作的教学目标与基本要求 教学目标: 1、通过课程设计巩固、深化和扩展学生的理论知识,提高综合运用知识的能力,逐步提升从事工程设计的能力。 2、注重培养学生正确的工程设计思想,掌握工程设计的思路、内容、步骤和方法。使学生能根据设计要求和性能参数,查阅文献资料,收集、分析类似电路的性能,并通过设计、安装、焊接、调试等实践过程,使电子产品达到设计任务书中要求的性能指标的能力。 3、为后续的毕业设计打好基础。课程设计的着眼点是让学生开始从理论学习的轨道上逐渐转向实际运用,从已学过的定性分析、定量计算的方法,逐步掌握工程设计的步骤和方法,了解工程设计的程序和实施方法;通过课程设计的训练,可以给毕业设计提供坚实的铺垫。 4、培养学生获取信息和综合处理信息的能力,文字和语言表达能力以及协调工作能力。课程设计报告的撰写,为今后从事技术工作撰写科技报告和技术文件打下基础。 5、提高学生运用所学的理论知识和技能解决实际问题的能力及其基本工程素质。 基本要求: 1、能够根据设计任务和指标要求,综合运用电路分析、电子技术课程中所学到的理论知识与实践操作技能独立完成一个设计课题的工程设计能力。 2、会根据课题需要选择参考书籍,查阅手册、图表等有关文献资料。能独立思考、深入钻研课程设计中所遇到的问题,培养自己分析问韪、解决问题的能力。

数据分析课程设计

数据分析课程设计 题目:四川农村居民的消费结构浅析 班级:2009级数学与应用数学1班 学号:20091615310028 姓名:张雪梅 指导老师:张燕 时间:2012年6月19日

【摘要】 随着人们生活水平的提高,消费结构也在日益变化,为了能够更好的为四川农村人们服务,更快的发展农村建设,让人们过上更好的生活。在此,有必要研究农村人们的消费结构变化情况,以便做出正确的判断。本文是基于四川统计年鉴中1995年—2010年中的14年的四川省农村居民人均纯收入与消费支出的相关数据,运用sas软件,采用因子分析方法,实证研究了该省农村居民的消费结构变动情况。结论表明, 四川农村居民的生活质量有所提高,大多数人解决了住房、温饱等生活问题,对生活方面的支出有所减少,更多的开始关注文化教育和精神娱乐方面,最后给农村今后的发展提出了小小的建议。 【关键字】 四川省农村居民消费结构因子分析 sas

目录 摘要 (2) 关键字 (2) 目录 (3) 一、消费简介 (6) 1.消费结构概念 (6) 2 研究我省农村居民消费结构的必要性 (6) 二、因子分析概述 (7) 1、因子分析的概念和意义 (7) 2、因子分析的的数学模型 (7) 3、因子分析的基本步骤 (8) 4、因子的命名 (10) 5、计算因子得分 (10) 6、具体实施步骤 (10) 三、实证分析过程 (10) 1、数据的收集整理 (10) 2、相关系数矩阵的计算 (11) 3、因子载荷矩阵的计算 (12)

4、因子的方差贡献率及变量的共同度计算及分析 (14) 5、计算因子得分 (14) 四、结论与建议 (16) 1、结果分析 (16) 2、对于四川省农村居民消费结构的建议 (16) 五、参考文献 (18)

计算机图形学5套模拟题

组卷规则:每套模拟题5个问答或者计算或者证明题,每题20分。 《计算机图形学基础》模拟试题(1) 1、简述Cohen-Sutherland 裁剪方法的思想,并指出与之相比,中点裁剪方法的改进之处,及这种改进的理由。 答:Cohen-Sutherland 裁剪算法的思想是:对于每条线段分为三种情况处理。(1)若完全在窗口内,则显示该线段简称“取”之。(2)若明显在窗口外,则丢弃该 线段,简称“弃”之。(3)若线段既不满足“取”的条件,也不满足“弃”的条件,则求线段与窗口交点,在交点处把线段分为两段。其中一段完全在窗口外,可弃之。然后对另一段重复上述处理。中点分割算法的大意是,与Cohen-Sutherland 算法一样首先对线段端点进行编码,并把线段与窗口的关系分为三种情况: 全在、完全不在和线段和窗口有交。对前两种情况, 进行同样的处理。对于第三种情况,用中点分割的方法求出线段与窗口的交点。即从点出发找出距最近的可见点A和从点出发找出距最近的可见点B,两个可见点之间的连线即为线段的可见部分。从出发找最近可见点采用中点分割方法:先求出的中点,若不是显然不可见的,并且在窗口中有可见部分,则距最近的可见点一定落在上,所以用代替;否则取代替。再对新的求中点。重复上述过程,直到长度小于给定的控制常数为止,此时收敛于交点。 改进之处在于,对第三种情况,不直接解方程组求交,而是采用二分法收搜索交点。这种改进的理由是:计算机屏幕的象素通常为1024×1024,最多十次二分搜索即可倒象素级,必然找到交点。而且中点法的主要计算过程只用到加法和除2运算,效率高,也适合硬件实现。 2、在Phong 模型 中,三项分别表示何含义?公式中的各个符号的含义指什么? 答:三项分别代表环境光、漫反射光和镜面反射光。为环境光的反射光强,为理想漫反射光强,为物体对环境光的反射系数,为漫反射系数,为镜面反射系数,为高光指数,L 为光线方向,N 为法线方向,V 为视线方向,R 为光线的反射方向。

用结点电压法求解含源网络-电路分析基础课程设计

用结点电压法求解含源网络 周全(5030309773) 结点电压法是一种运用范围较广的分析方法,用结点电压法分析含源网络时需要注意的是: 1.列方程前,应把实际电压源模型等效变换为实际电流模型; 2.理想电压源去路中的电流不能忽略 3.与理想电流源串联的元件应看成短路; 4.将受控源按独立源处理,并用结点电压表示其控制量 一、常规题: 例:列出图中电路的结点电压方程 解:取与理想电压源去路所连的两个结点之一的①为参考结点,这时结点②的 电压=1V ,可作为已知量,因此不必列写结点②的结点电压方程,对结点③,④的结点电压方程为: 2322341(11)330.5111(11)30.50.20.51n n n n n n u u u u u u ?+++=+??++++=???????? 2?4 补充方程 2n u u =? 把 u 2=1V 和 u 2=-u n4 代入方程组,整理即得 3434293 n n n n u u u u +=???+=??

二、用结点电压分析法求解电路时碰到的非常规情况: 用结点电压分析法求解的常规情况很多书上都有相应的题目,但我在做题时发现了一道用节点电压法解。 例:用结点电压法求解图示电路u 和u 3 解:选结点③为参考结点,对①,②列方程 121211(21)2(11)5n n n n n u u u u u u +?=???++=??=? 1u 0 整理以上方程可得 12123262n n n n u u u u ?=???+=? 可以看出,该方程无解,此题说明,当电路中含有受控源时,有可能解不存在,而对一个实际的物理系统来说,解应该是存在的,这道题当时做时很容易想为什么解不出,却没想到这题模型本来就是不合实际电路的,而答案正是要我们发现这一点,所以我觉得这道题还是很巧妙的。

《海量数据分析》课程标准

《数据分析》课程标准 1.课程定位与课程设计 1.1课程的性质与作用 本课程是大数据应用技术专业的核心课程。通过本课程的学习,使学生掌握调查方案设计、数据资料的收集、整理、分析和数据分析报告的撰写方法和思路,及运用相关数据处理工具进行数据分析的基本方法。该课程主要是培养学生完整数据分析的理念与运用相关数据处理工具进行数据分析的能力,为学生学习和掌握《数据挖掘》等其他专业课程提供必备的专业基础知识,也为学生从事大数据应用技术相关岗位工作打下良好的基础。 1.2课程设计理念 课程设计遵循“以学生为主体”教育思想,依据“任务引领”为课程内容设计原则,以提高学生整体素质为基础,以培养学生市场调查与数据分析工具的使用能力、特别是创新能力和实际操作能力为主线,兼顾学生后续发展需要,选取符合数据分析职场所要求的知识、素质和能力为教学内容;在基本理论和基础知识的选择上以应用为目的,以“必需、够用”为度,服从培养能力的需要,突出针对性和实用性 (2)遵循能力本位的教学观。注重培养学生在工作中对数据资料的收集、整理和分析处理能力,训练学生的专业能力、社会能力和方法能力。课程设计以能力为核心,围绕能力的形成学习相关知识。 1.3 课程设计思路 在课程设计上根据大数据应用技术专业就业岗位群任职要求,改革传统的课程体系和教学方法,形成以就业为导向,立足于学生职业能力培养和职业素养养成,突出课程的应用性和操作性。数据分析工作是一个有序开展的工作,顺序性和过程性很强,课程设计的思路正是依据工作任务的顺序和过程开展的,数据分析工作过程主要分为五个步骤,这五个步骤也就是五个工作项目,构成了本课程学习内容的框架。通过任务驱动充分发挥学生的主体作用,让学生在完成具体任务的过程中来构建相关理论知识,发展职业能力,并提升职业素养。在教学内容上遵循“理论够用、适度,重在应用”的原则,弱化理论,剔除抽象的公式推导和复杂计算分析,把数据资料的收集特别是利用互联网收集数据资料及运用数据分析工具软件进行数据分析,作为重点内容进行讲授和训练,适应社会经济和科技进步给市场信息分析与预测带来的发展。 2.课程目标 通过本课程的学习,学生掌握从调查方案设计、数据资料的收集、处理、分析到数据分析报告的撰写整个工作流程,学会运用相关数据处理工具进行数据分析的基本方法。同时还要培养学生自主学习能力、自我管理能力、沟通能力、组织协调能力、市场开拓意识、竞争意识和团队协作精神,使学生既具备较高的业务素质,又具有良好的职业道德和敬业精神。

计算机图形学课程设计书

计算机图形学课程设计 书 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]

课程设计(论文)任务书 理学院信息与计算科学专业2015-1班 一、课程设计(论文)题目:图像融合的程序设计 二、课程设计(论文)工作: 自2018 年1 月10 日起至2018 年1 月12日止 三、课程设计(论文) 地点: 2-201 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)熟悉Delphi7的使用,理论与实际应用相结合,养成良好的程序设计技能;(2)了解并掌握图像融合的各种实现方法,具备初步的独立分析和设计能力;(3)初步掌握开发过程中的问题分析,程序设计,代码编写、测试等基本方法;(4)提高综合运用所学的理论知识和方法独立分析和解决问题的能力; (5)在实践中认识、学习计算机图形学相关知识。 2.课程设计的任务及要求 1)基本要求: (1)研究课程设计任务,并进行程序需求分析; (2)对程序进行总体设计,分解系统功能模块,进行任务分配,以实现分工合作;(3)实现各功能模块代码; (4)程序组装,测试、完善系统。 2)创新要求: 在基本要求达到后,可进行创新设计,如改进界面、增加功能或进行代码优化。

3)课程设计论文编写要求 (1)要按照书稿的规格打印誊写课程设计论文 (2)论文包括封面、设计任务书(含评语)、摘要、目录、设计内容、设计小结(3)论文装订按学校的统一要求完成 4)参考文献: (1)David ,《计算机图形学的算法基础》,机械工业出版社 (2)Steve Cunningham,《计算机图形学》,机械工业出版社 (3) 5)课程设计进度安排 内容天数地点 程序总体设计 1 实验室 软件设计及调试 1 实验室 答辩及撰写报告 1 实验室、图书馆 学生签名: 2018年1月12日 摘要 图像融合是图像处理中重要部分,能够协同利用同一场景的多种传感器图像信息,输出一幅更适合于人类视觉感知或计算机进一步处理与分析的融合图像。它可明显的改善单一传感器的不足,提高结果图像的清晰度及信息包含量,有利于更为准确、更为可靠、更为全面地获取目标或场景的信息。图像融合主要应用于军事国防上、遥感方面、医学图像处理、机器人、安全和监控、生物监测等领域。用于较多也较成熟的是红外和可见光的融合,在一副图像上显示多种信息,突出目标。一般情况下,图像融合由

用矩阵方法使网孔分析法通解-电路分析基础课程设计

用矩阵方法使网孔分析法通解 黄明康 5030309754 F0303025 在网络电路的学习中,我们一般使用结点分析法与网孔分析法。我们知道他们有各自的用途,但其实如果使用得当,只用其中的一个方法就可以解所有目前已经可解得网络电路。而在我看来这得当的使用就是巧妙运用数学。之所以如此,我认为是因为结点分析法的基础KCL与网孔分析法的基础KVL是相容的,即可以用结点分析法的地方就可以用网孔分析法解题。 先来看个例子,从网孔分析法说起,如图(1)所示,是一个非常适合用结点分析法与网孔分析法解题的网络。 正如上课时所做的,我们用网孔分析法解之,以im1、im2、im3为支路电流列出回路的矩阵方程,方程如式(2)。

最左边的矩阵是各回路的电阻矩阵,解出此方程,再根据VCR就能得出整个网路电路的各个参数。由于篇幅所限,也由于这已是大家皆知的常规方法,对于为何使用这种方法及其可用性、使用方法等在此不再冗述。 而我关心的是,这种方法是在这么一个可以说是完美的电路网络中运用的,所以一旦电路中的某个器件变了,可能使这种方法不可用。而其实上课时已经提出了这种问题,也给出了改进了的解题方法——运用网路电路的一些性质化解电路成可用网孔分析法的电路。 但这种方法在解题中会使不熟练的我不经意中掉入“陷阱”。我更愿意用以下的方法用数学解题,这样可以使我们不必太过计较概念。 对于我的方法,也请先看一个例子,如图(3): 这样,这个电路就不能单纯的运用网孔分析法了。那么按之前所述,运用网路电路的一些性质化解电路成可用网孔分析法的电路,然后解之,正如图(4)

a 和图(4) b 中所示过程。 然后得出电阻网络矩阵方程,解出所要的量。 对于以上的例题,也有所谓的虚网孔电流法如式(5): 其实,虚网孔电流法仅仅只是根据我们在网孔分析法的引出中得出的规律重新又列出了简单的方程组,这跟我们最初想要使用结点分析法和网孔分析法的初衷不符,初衷是按给出的网络电路图直接写出矩阵方程。这样就使我们可以更好的应对复杂的网络。 当然,也正是虚网孔电流法使我想起了网孔分析法的一般矩阵解法。仍就看图(3):

数据分析方法课程设计报告

《数据分析方法》 课程实验报告 1.实验内容 (1)掌握回归分析的思想和计算步骤; (2)编写程序完成回归分析的计算,包括后续的显著性检验、残差分析、Box-Cox 变换等内容。 2.模型建立与求解(数据结构与算法描述) 3.实验数据与实验结果 解:根据所建立的模型在MATLAB中输入程序(程序见附录)得到以下结果:(1)回归方程为: 说明该化妆品的消量和该城市人群收入情况关系不大,轻微影响,与使用该化妆品的人数有关。 的无偏估计: (2)方差分析表如下表: 方差来源自由度平方和均方值 回归() 2 5384526922 56795 2.28

误差()12 56.883 4.703 总和()14 53902 从分析表中可以看出:值远大于的值。所以回归关系显著。 复相关,所以回归效果显著。 解:根据所建立的模型,在MATLAB中输入程序(程序见附录)得到如下结果:(1)回归方程为: 在MTLAB中计算学生化残差(见程序清单二),所得到的学生化残差r的值由残差可知得到的r的值在(-1,1)的概率为0.645,在(-1.5,1.5)的概率为0.871,在(-2,2)之间的概率为0.968. 而服从正态分布的随机变量取值在(-1,1)之间的概率为0.68,在(-1.5,1.5)之间的概率为0.87,在(-2.2)之间的概率为0.95,所以相差较大,所以残差分析不合理,需要对数据变换。 取=0.6进行Box-Cox变换 在MATLAB中输入程序(见程序代码清单二) 取,所以得到r的值(r的值见附录二)其值在(-1,1)之间的个数大约为20/31=0.65,大致符合正态分布,所以重新拟合为: 拟合函数为: 通过F值,R值可以检验到,回归效果显著 (3)某医院为了了解病人对医院工作的满意程度和病人的年龄,病情的严重程度和病人的忧虑程度之间的关系,随机调查了该医院的23位病人,得数据如下表:

计算机图形学 课程设计作品

《计算机图形学Visual c++版》考试作业报告 题目:计算机图形学图形画板 专业:推荐IT学长淘宝日用品店530213 班级:推荐IT学长淘宝日用品店530213 学号:推荐IT学长淘宝日用品店530213 姓名:推荐IT学长淘宝日用品店530213 指导教师:推荐IT学长淘宝日用品店530213 完成日期: 2015年12月2日

一、课程设计目的 本课程设计的目标就是要达到理论与实际应用相结合,提高学生设计图形及编写大型程序的能力,并培养基本的、良好的计算机图形学的技能。 设计中要求综合运用所学知识,上机解决一些与实际应用结合紧密的、规模较大的问题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握计算机图形学基本知识和算法设计的基本技能术,掌握分析、解决实际问题的能力。 通过这次设计,要求在加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。 二、设计内容推荐IT学长淘宝日用品店530213 设计一个图形画板,在这个图形画板中要实现: 1,画线功能,而且画的线要具备反走样功能。 2, 利用上面的画线功能实现画矩形,椭圆,多边形,并且可以对这些图形进行填充。 3,可以对选中区域的图形放大,缩小,平移,旋转等功能。 三、设计过程 程序预处理:包括头文件的加载,常量的定义以及全局变量的定义 #include "stdafx.h" #include "GraDesign.h" #include "GraDesignDoc.h" #include "GraDesignView.h" #include "math.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif //******自定义全局变量 int type = -1; CPoint point1; CPoint point2; CPoint temp[2];

电子课程设计报告书写要求

电子课程设计报告书写要 求 Prepared on 22 November 2020

电子课程设计报告书写要求 (以数字电子钟为例) 1、封面(按以前的封面格式) 2、任务书 3、正文 一、数字电子钟总体设计方案 依据数字电子钟的任务要求,设计的总体方案如图1-1所示 图1-1 数字电子钟总体方案 (下面对总体原理进行说明)。。。。。。 二、各模块原理设计和分析 1、时基电路模块设计 本设计的时基电路模块由两个独立分模块组成,一个是由555定时器和RC 构成的秒脉冲电路;另一个是由的晶振和CD4060构成的振荡器,分频器构成的2Hz时基电路。 (1)555构成的秒脉冲电路 设计的555秒脉冲电路如图2-1所示 (电路工作原理阐述。。。。。。) (画出555振荡波形参考课件,给图标2-2) 参数计算 (列出振荡周期表达式,给定R80、R81和C10参数计 算周期) (2)晶振和CD4060构成的振荡分频电路 本设计采用频率为的晶振和CD4060构成精确的时基电路,见图2-3。 电路原理。。。。。。

由于晶振的频率为=215Hz,通过CD4060的14级分频输出为2Hz,必须再经过一次2分频才能实现秒脉冲,设计的2分频电路如图2-4所示。。。。。。。 图 2-4 晶振秒脉冲时基电 路 2、计时电路模块设计 该模块分别由” 秒”计数电路、”分”计 数电路和”小时”计数电路构成;秒和分都是60进制,小时是24进制,设计采用CD4518做计数器。 (1) CD4518计数器分析 CD4518是双8421-BCD编码同步加法计数 器如图2-5所示。 。。。。。。 列出CD4518的功能表和时序图(2-6)和 文字说明 (2)60进制电路设计 分和秒都是60进制,电路原理和 结构相同。60进制电路如图2-7所示。 电路原理。。。。。。 (3)24进制电路设计

计算机图形学基础第五章课后习题答案

5.3 试用中点Bresenham 算法画直线段的原理推导斜率在[-1,0]之间的直线段绘制过程(要求写清原理、误差函数、递推公式以及最终画图过程)。 解: 原理:每次在最大位移方向上走一步,而另一个方向是走步还是不走步取决于误差项的判别。 ∵斜率k 在[-1,0]之间 ∴x 为最大位移方向,每次在x 加1,而y 或减1或减0。 设直线段的方程F(x,y)=y-kx-b ,假设当前点是P(x i ,y i ),则下一点在P u (x i +1,y i )与P d (x i +1,y i -1)中选一。设M 为P u 和P d 的中点,则M 点的坐标为(x i +1,y i -0.5)。 构造误差判别式: d i =F(x M ,y M )=F(x i +1,y i -0.5)= y i -0.5-k(x i +1)-b 若d i ≥0,取P d (x i +1,y i -1); 若d i <0,取P u (x i +1,y i ); 即有x i+1=x i +1,y i+1=y i -1(d i ≥0)或y i (d i <0)。 误差函数的递推: d i ≥0时,取P d (x i +1,y i -1),再判断下一像素取哪个时,应计算 d i+1=F(x i +2,y i -1.5)= y i -1.5-k(x i +2)-b=d i -1-k ,增量为-1-k 。 d i <0时,取P u (x i +1,y i ),再判断下一像素取哪个时,应计算 d i+1=F(x i +2,y i -0.5)= y i -0.5-k(x i +2)-b=d i -k ,增量为-k 。 (x 0,y

计算机图形学课程设计

《计算机图形学》课程设计报告题目名称:球体背面剔除消隐算法 专业计算机科学与技术 班级计科15升-1班 学号 1516353004 姓名 指导教师王玉琨 2016 年 06 月 07 日

目录 设计内容与要求 (03) 总体目标和要求 (03) 内容与要求 (03) 总体设计 (03) 2.1 球的消隐处理基本原理 (03) 2.2 具体设计实现 (04) 详细设计 (04) 3.1调试后正确的程序清单 (04) 功能实现 (08) 4.1程序运行结果 (09) 4.2 功能实现及分析 (09) 总结 (09) 参考文献 (10)

球体背面剔除消隐算法 第 1章设计内容与要求 1.1 总体目标和要求 课程设计的目的:以图形学算法为目标,深入研究。继而策划、设计并实现一个能够表现计算机图形学算法原理的或完整过程的演示系统, 并能从某些方面作出评价和改进意见。 通过完成一个完整程序,经历策划、设计、开发、测试、总结和验收各阶段,达到: 1) 巩固和实践计算机图形学课程中的理论和算法; 2) 学习表现计算机图形学算法的技巧; 3) 培养认真学习、积极探索的精神; 4) 具备通过具体的平台实现图形算法的设计、编程与调试的能力; 5) 完成对实验结果分析、总结及撰写技术报告的能力。 总体要求:策划、设计并实现一个能够充分表现图形学算法的演示系统,界面要求美观大方,能清楚地演示算法执行的每一个步骤。 开发环境:Viusal C++ 6.0 1.2 内容与要求 球体背面剔除消隐算法 内容:(1)掌握背面剔除消隐算法原理; (2)实现矢量点积与叉积运算; (3)透视投影变换 (4)曲面体经纬线划分方法 功能要求: (1)绘制球体线框模型的透视投影图,使用背面剔除算法实现动态消隐; (2)通过右键菜单显示消隐效果,右键菜单有两个选项:未消隐与消隐; (3)使用键盘的上下左右控制键旋转消隐前后的球体; (4)单击左键增加视距,右击缩短视距; 第2章总体设计 2.1 球的消隐处理基本原理 球体的曲面通常采用一组网格多边形来表示,即把曲面离散成许多小平面片,用平面逼近曲面,一般使用许多四边形来逼近曲面。 网格四边形愈多,逼近曲面的精度就愈高,逼近效果就愈好,曲面看起来就越光滑。一般根据实际需要来确定合适的逼近精度即网格多边形数目。 当曲面表示为一组网格多边形时,消隐处理的主要工作是确定各网格多边形的可见性,由此可用平面立体的算法对曲面进行消隐处理。 球面的参数方程为:

数据分析课程设计-NBA球员技术统计分析报告

《数据分析方法》课程设计 成绩评定表 学生姓名严震班级学号1109010114 专业信息与计算课程设计题目NBA球员技科学术统计分析报告 评 语 组长签字: 成绩 日期 20年月日

《数据分析方法》课程设计 课程设计任务书 学院理学院专业信息与计算科学学生姓名严震班级学号1109010114 课程设计题目NBA 球员技术统计分析报告实践教学要求与 任务 : 设计要求(技术参数): 1、熟练掌握SPSS 软件的操作方法; 2、根据所选题目及调研所得数据,运用数据分析知识,建立适当的数学模型; 3、运用 SPSS 软件,对模型进行求解,对结果进行分析并得出结论; 4、掌握利用数据分析理论知识解决实际问题的一般步骤。 设计任务: 1、查阅相关资料,找到NBA 球员技术的相关指标,获得相关数据; 2、利用数据分析的理论,建立线性回归模型,以及对其进行主成分分析; 3、利用 SPSS软件求解 , 并给出正确的结论。 工作计划与进度安排 : 第一天——第二天学习使用SPSS 软件并选题 第三天——第四天查阅资料 第五天——第六天建立数学模型 第七天——第九天上机求解并完成论文 第十天答辩 指导教师:专业负责人:学院教学副院长: 201年月日201年月日201年月日

II

摘要 数据分析析的主要应用有两方面,一是寻求基本结构,简化观测系统,将具有错综复杂关系的对象(变量或样品)综合为少数几个因子(不可观测的,相互独立的随机变 量),以再现因子与原变量之间的内在联系;二是用于分类,对p 个变量或 n 个样品进 行分类。聚类分析一般有两种类型,即按样品聚类或按变量(指标)聚类,其基本思想是通过定义样品或变量间“接近程度”的度量,将“相近”的样品或变量归为一类。本文 利用利用数据分析中的因子分析和聚类分析对多个变量数据进行了分析。就是分析和处理 数据的理论与方法,数据分析中提出了广泛的多元数据分析的统计方法,包括线性回归分析、方差分析、因子分析、主成分分析、典型相关分析、判别分析、聚类分析等。 关键词: spss 软件 ; 聚类分析 ; 因子分析 ; 线性规划

计算机图形学实验报告 课程设计 大作业

安徽建筑工业学院 计算机图形学实验报告 院(系)名称: 专业: 班级: 姓名: 学号: 指导老师:

实验一实现任意直线的中点画线算法 【实验目的】 掌握直线的中点画线算法; 【实验环境】 VC++6.0 【实验内容】 利用任意的一个实验环境,编制源程序,实现直线的中点画线法。 【实验原理】 假定直线斜率k在0~1之间,当前象素点为(x p,y p),则下一个象素点有两种可选择点P1(x p+1,y p)或P2(x p+1,y p+1)。若P1与P2的中点(x p+1,y p+0.5)称为M,Q为理想直线与x=x p+1垂线的交点。当M在Q的下方时,则取P2应为下一个象素点;当M在Q的上方时,则取P1为下一个象素点。这就是中点画线法的基本原理。 图2.1.2 中点画线法每步迭代涉及的象素和中点示意图 下面讨论中点画线法的实现。过点(x0,y0)、(x1, y1)的直线段L的方程式为F(x, y)=ax+by+c=0,其中,a=y0-y1, b=x1-x0, c=x0y1-x1y0,欲判断中点M在Q点的上方还是下方,只要把M代入F(x,y),并判断它的符号即可。为此,我们构造判别式: d=F(M)=F(x p+1, y p+0.5)=a(x p+1)+b(y p+0.5)+c

当d<0时,M在L(Q点)下方,取P2为下一个象素; 当d>0时,M在L(Q点)上方,取P1为下一个象素; 当d=0时,选P1或P2均可,约定取P1为下一个象素; 注意到d是x p, y p的线性函数,可采用增量计算,提高运算效率。 若当前象素处于d 0情况,则取正右方象素P1(x p+1, y p),要判下一个象素位置,应计 算d1=F(x p+2, y p+0.5)=a(x p+2)+b(y p+0.5)=d+a,增量为a。 若d<0时,则取右上方象素P2(x p+1, y p+1)。要判断再下一象素,则要计算d2= F(x p+2, y p+1.5)=a(x p+2)+b(y p+1.5)+c=d+a+b ,增量为a+b。画线从(x0, y0)开始,d的初值d0=F(x0+1, y0+0.5)=F(x0, y0)+a+0.5b,因F(x0, y0)=0,所以d0=a+0.5b。 由于我们使用的只是d的符号,而且d的增量都是整数,只是初始值包含小数。因此,我们可以用2d代替d来摆脱小数,写出仅包含整数运算的算法程序。 【实验程序】 void Midpoint Line (int x0,int y0,int x1, int y1,int color) { int a, b, d1, d2, d, x, y; a=y0-y1; b=x1-x0;d=2*a+b; d1=2*a;d2=2* (a+b); x=x0;y=y0; drawpixel(x, y, color); while (x

计算机图形学第二版课后习题答案

第一章绪论 概念:计算机图形学、图形、图像、点阵法、参数法、 图形的几何要素、非几何要素、数字图像处理; 计算机图形学和计算机视觉的概念及三者之间的关系; 计算机图形系统的功能、计算机图形系统的总体结构。 第二章图形设备 图形输入设备:有哪些。 图形显示设备:CRT的结构、原理和工作方式。 彩色CRT:结构、原理。 随机扫描和光栅扫描的图形显示器的结构和工作原理。 图形显示子系统:分辨率、像素与帧缓存、颜色查找表等基本概念,分辨率的计算 第三章交互式技术 什么是输入模式的问题,有哪几种输入模式。 第四章图形的表示与数据结构 自学,建议至少阅读一遍 第五章基本图形生成算法 概念:点阵字符和矢量字符; 直线和圆的扫描转换算法; 多边形的扫描转换:有效边表算法; 区域填充:4/8连通的边界/泛填充算法;

内外测试:奇偶规则,非零环绕数规则; 反走样:反走样和走样的概念,过取样和区域取样。 5.1.2 中点 Bresenham 算法(P109) 5.1.2 改进 Bresenham 算法(P112) 习题答案

习题5(P144) 5.3 试用中点Bresenham算法画直线段的原理推导斜率为负且大于1的直线段绘制过程(要求写清原理、误差函数、递推公式及最终画图过程)。(P111) 解: k<=-1 |△y|/|△x|>=1 y为最大位移方向 故有 构造判别式: 推导d各种情况的方法(设理想直线与y=yi+1的交点为Q): 所以有: y Q-kx Q-b=0 且y M=y Q d=f(x M-kx M-b-(y Q-kx Q-b)=k(x Q-x M) 所以,当k<0, d>0时,M点在Q点右侧(Q在M左),取左点 P l(x i-1,y i+1)。 d<0时,M点在Q点左侧(Q在M右),取右点 Pr(x i,y i+1)。 d=0时,M点与Q点重合(Q在M点),约定取右点 Pr(x i,y i+1) 。 所以有 递推公式的推导: d2=f(x i-1.5,y i+2) 当d>0时, d2=y i+2-k(x i-1.5)-b 增量为1+k =d1+1+k

电路分析基础课程设计

太原理工大学 《电路分析基础B》课程设计报告 设计名称有源低通滤波器 专业班级 学号 姓名

课程设计实验报告 实验题目:有源滤波器的设计 实验目的: 1. 掌握有源滤波电路的基本概念,了解滤波电路的选频特性、通频带等概念,加深对有源滤波电路的认识和理解。 2. 在Electronics Workbench环境下用仿真的方法来研究滤波电路,了解元件参数对滤波效果的影响。 3. 根据给定的低通和高通滤波器结构和元件,分析其工作特点及滤波效果,分析电路的频率特性。 4.利用低通滤波器搭建带通和带阻滤波器电路,观察和分析其输出波形特点,分析电路的频率特性。 实验仪器:双踪示波器、扫频仪、电路板、信号发生器、稳压电源、电阻、电容、运算放大器、电脑 有源滤波器的概念: 滤波器是一种能够通过一定频率信号而阻止或衰减其他频率信号的装置。能通过的频率构成通带,而被衰减的频率则构成滤波器的阻带。无源滤波器是由电感、电容和电阻构成的。但是由于受到尺寸和实际性能的限制,电感在某些频率范围是不适用的;如果用能模拟电感的有源器件来代替电感,则构成了有源滤波器,用有源部件代替电感得到有源滤波器的方法有多种,我们所用的有源部件为集成电路运算放大器。有源滤波器一般用电压转移函数来说明(s=jω)。在正弦稳态条件下,电压转移函数可写成H(jω)=▏H(j)▕ 其中▏H(j)▕是幅值或增益函数,是相位函数。 有源滤波器的分类: 按滤波器通带和阻带在频率内的位置,滤波器可分为:低通、高通、带通、带阻等类别。 低通滤波器: 低通滤波器是一种能让从直流到到截止频率的低频分量通过,同时衰减或抑制高频分量的器件。其特性用幅频特性曲线表示,此处幅频特性指的是电压转移

数据分析课程设计报告

Xx大学2014-2015学年第一学期课程小论文课程名称:数据分析课程编号: 论文题目:大学生网上购物状况的调查分析 学生(学号): 学生(学号): 学生(学号): 论文评价:

最终成绩: 任课教师:评阅日期: 摘要:本文以问卷调查的形式,研究了当前大学生的网上购物现状。我们以统计软件SPSS为工具,对问卷调查所得的数据加以整理,分析得出在校大学生几乎人人都有网上购物的经历,平均每月每人会进行2-3次的网上购物,月网购费用平均为169元。不同的年级、不同的地方、不同性别的大学生网上购物的习惯也各不相同。对城镇的大学生来说,由于月生活费用比农村性质的大学生要高,因此月网购的花费相对更高,网购次数也越频繁。通常大家更喜欢在网上购买服装,书籍等商品,女大学生也喜欢购买装饰品和护肤产品。尽管大学生都喜欢网上购物,但是也有一部分人群对网上购物流程的不太熟悉,并且对所购的商品不满意。因此本文针对大学生网购出现的状况,对当前的网上购物现象和问题进行了总结,分析了当代大学生网购存在的问题及原因,提出了在的新形势下,如何让大学生更好地更放心的进行网购的对策。关键词:大学生网上购物SPSS 网购现状对策 引言:随着网络的普及,电脑成本的不断下降,依赖于网络的网络购物作为一种新型的消费方式,在全国乃至全球围都在飞速的发展,并且越来受到人们的青睐。网上购物已经慢慢地从一个新鲜的事物逐渐变成人们日常生活的一部分,冲击着人们的传统消费习惯和思维、生活方式,以其特殊的优势而逐渐深入人心最适合年轻族群购物口味的一种购物方式。 作为“高触网”的大学生,随着网络和电子商务的发展,他们成为网络购物群体中的主体。他们往往扮演者引领社会消费趋势的角色。尽管在校期间学生没有固定收入来源,在消费能力上受到了限制,但由于他们作为容易接受新鲜事物的一个群体,更加喜欢快捷、选择多的商品,因此省时省力的网络成了他们最好的购物方式。其次,大部分学生4年之后都会获得一份高于社会平均水平的收入。所以在校大学生一旦突破了资金的限制,将会成为社会主要的消费群体,其在校期间的消费行为会代表未来几年的消费趋势。基于这样一种思考我们对在校大学生进行问卷调查,利用Spss软件对各数据进行深入的分析,以便更好的了解当代大学生网络购物的特征。 一.抽样调查基本情况 通过设计调查问卷的方式,对我校100名大学生的家庭月收入、月生活费、网购的次数、月网购所花的钱、网购的商品类别、常购物的、网购的主因、对网购发展前景的看法、网购的熟悉程度、喜欢那种促销活动和对网购的满意程度进行了数据统计。用于深入统计分析大学生网购。

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