3一个简单的图形软件包全解
Graphics Lab.PKU 计算机图形学 第三章 一个简单的二维光栅图形软件包 主要内容 3.1 用图形软件包绘图 3.2 基本的交互处理 3.3 光栅操作 图元的声明 绘图纸,屏幕, 坐标系 扫描转换:将顶点(参数表示的图形)转换为点阵表示的图形 基本图元: 点、直线段、折线、多边形、 圆弧、字符、标记符号。 数据类型: Struct Point{ int x, y;} typedef int * VertexCoordList; typedef Point *VertexList; Void PutPixel(int x, int y, int color); //画点函数,color :颜色值。 Void LineCoord(int x0, int y0,int x1,int y1); Void Line (Point *pnt0, Point * pnt1); //画线函数 用端点描述直线段更自然、方便,故定义了一个名为Point的数据类型: Typedef struct {int x,y}Point Void polylineCoord( int vertexCount, VertexCoordList xArray, VertexCoordList yArray); Void polyline(int vertexCount, VertexList vertices) //画折线函数。 vertexCount为顶点个数,xArray,yArray为存储折线顶点的x坐标、y坐标的数组;vertices为Point类型的顶点数组 (2)多边形和矩形 Void PolygonCoord(int vertexCount, VertexCoordList xArray, VertexCoordList yArray) Void Polygon(int VertexCount, VertexList vertices); //画多边形。 Void RectangleCoord(int leftX,int bottomY, int rightX, int topX) Void RectanglePoint(Point* leftBottom, Point* rightTop); Void Rectangle(Rectangle *rect) //画矩形 Typedef struct{point leftBottom, rightTop;}Rectangle Void MarkerCoord(int x, int y); Void Marker(Point *pt); //端点做标记。 Void PolyMarkerCoord(int vertexCount, VertexCoordList xArray, VertexCoordList yArray) Void PolyMarker(int vertexCount, VertexList vertices) 3.1.2 图元属性 (1)线型和线宽 Void SetLineStyle(enum LineStyle lineStyle); Void SetLineWidth(int lineWidth); 枚举变量 lineStyple 预定义之线型CONTINUOUS、DASHED、DOTTED 图元在显示时被扫描转换成离散的像素写入显存,线型控制可看作有选择地写像素的位屏蔽器(bit marker). --位屏蔽器为‘0’表示帧缓存中相应的像素值不变(即透明),为‘1’表示用线段的颜色值代替帧缓存中相应的像素值。 SetLineWidth(1); LineCoord(55,5,105,295); //line a SetLineStytle(DASHED); SetLineWidth(5); LineCoord(105,5,155,295); //line b SetLineWidth(10); SetLineStytle(DOTTED); LineCoord(155,5,255,295); //line c SRGP中,设置颜色属性有三种方式: 三种指定颜色的方式 通过查色表索引值 通过颜色名称 通过红、绿、蓝三分量
您可能关注的文档
- 3、岩石的组成全解.ppt
- 3、正投影与三视图正确地分析和判断空间中的点、线、面的位置全解.ppt
- 3、用电负荷等级划分全解.doc
- 3、简单文字特效全解.ppt
- 3、褒贬颠倒--感情失当教学用全解.ppt
- 3、爬天都峰全解.ppt
- 3《桃花心木》课件4全解.ppt
- 3、天然纤维化学--蛋白质全解.ppt
- 3、青海湖,梦幻般的湖全解.ppt
- 3、走进化学实验室》课件全解.ppt
- 山西天一大联考2025-2026学年高二上学期期末学情监测语文试题(试卷+解析).docx
- 山西忻州部分学校2025-2026学年高一上学期2月质量检测数学试题(人教B版)(试卷+解析).docx
- 山西运城市2025-2026学年高二第一学期期末调研测试数学试题(试卷+解析).docx
- 陕西省榆林市榆阳区2025-2026学年八年级上学期期末地理试题(试卷+解析).docx
- 陕西西安市碑林区2025-2026学年度第一学期期末八年级生物试题(试卷+解析).docx
- 四川省广元市苍溪县2025-2026年八年级上学期期末道德与法治试题(试卷+解析).docx
- 江苏泰州市姜堰区2025-2026学年七年级上学期1月期末数学试题(试卷+解析).docx
- 江苏省扬州市邗江区2025-2026学年九年级上学期期末考试化学试题(试卷+解析).docx
- 江西上饶市铅山县2025-2026学年第一学期期末考试八年级数学试题(试卷+解析).docx
- 江苏扬州市高邮市2025-2026学年度第一学期期末学业质量监测试题九年级英语(试卷+解析).docx
最近下载
- 六年级上册数学复习练习:寻找单位“1”和列出等量关系式专项练习.docx VIP
- 六年级上册数学晨读晚默综合每日一练.docx VIP
- 2026中考数学压轴题选择+填空275题答案.docx VIP
- DB11T 911-2012 无公害农产品 南瓜设施生产技术规程.docx VIP
- 【规范药房创建资料】与药品质量有关设施设备(如温湿度调控设备、阴凉柜、医用冰箱、冷柜、温湿度计等)使用制度.doc VIP
- DB11T 905-2012 草莓种苗DB11T 905-2012 草莓种苗.docx VIP
- DBJ04 脉冲超细干粉灭火装置配置技术规程.pdf VIP
- DBJ04 山西省工程建设地方标准 城镇公共停车场(库)工程建设标准.docx VIP
- DBJT 15-110-2015 广东省建筑防火及消防设施检测技术规程.docx VIP
- 两票三制培训资料.ppt VIP
原创力文档

文档评论(0)