浙江大学:《计算机辅助设计与图形学》课程教学资源(PPT讲稿)简单图形库介绍

简单图形库介绍

图形坐标系、像素 3 : 。。 . ······|········· 0。。。 ●●。 ●●。。。。 ······→…··········· 。 ●。●。·。 。● ·····················⊙·· ●。 ··.···········● e。。。。。 .·····.······ ······················ ●。 。。。 。 ●·················· 0

第三方图形库 ■C语言本身不提供图形绘制功能。 借助于第三方提供的图形库,可实现图形的绘 制。 图形库以C原码形式,或者以二进制目标码形式提 供 在应用第三方图形库时,不需要了解其具体的实现, 只需了解其基本功能和图形绘制流程。 直接调用相关图形库函数来实现具体的图形绘 制。 注意:图形库接口头文件应当被包含到源文件中 头文件包含了相关图形库函数的原型
C语言本身不提供图形绘制功能。 借助于第三方提供的图形库,可实现图形的绘 制。 ▪ 图形库以C原码形式,或者以二进制目标码形式提 供。 ▪ 在应用第三方图形库时,不需要了解其具体的实现, 只需了解其基本功能和图形绘制流程。 直接调用相关图形库函数来实现具体的图形绘 制。 ▪ 注意:图形库接口头文件应当被包含到源文件中。 ▪ 头文件包含了相关图形库函数的原型

基本图形函数 Init Graphics Initializes the graphics package, open the window for renderin MovePen(, y) Moves the pen to an absolute position Draws a line from current position to a relative DrawLine(dx, dy) coordinates DrawArc(r, start, sweep) Draws an arc specified by a radius and two angles GetWindow Width Returns the width of the graphics window GetWindowHeightO Returns the height of the graphics window GetcurrentXO Returns the current x-coordinate of the pen GetcurrentYo Returns the current y-coordinate of the pen
InitGraphics() Initializes the graphics package, open the window for rendering MovePen(x, y) Moves the pen to an absolute position DrawLine(dx, dy) Draws a line from current position to a relative coordinates DrawArc(r, start, sweep) Draws an arc specified by a radius and two angles GetWindowWidth() Returns the width of the graphics window GetWindowHeight() Returns the height of the graphics window GetCurrentX() Returns the current x-coordinate of the pen GetCurrentY() Returns the current y-coordinate of the pen

初始化 本课程采用的第三方图形库是基于 windows系 统的Win32AP 在Win3AP中,第一个C函数是 Win main(),而不 是 main),且要遵循 Windows编程规范—一这 需要花很多时间去学习 为了方面初学者使用,在第三方图形库中,已 实现了通用的 Win maing)基本功能 应用程序所要做的相关初始化工作只需写在Main( 函数中即可 在Main函数中,首先要调用 I Init Graphic50来初始化 图形窗口,以便绘制图形
本课程采用的第三方图形库是基于windows系 统的Win32API. 在Win32API中, 第一个C函数是WinMain(), 而不 是 main(),且要遵循windows编程规范——这 需要花很多时间去学习. 为了方面初学者使用,在第三方图形库中,已 实现了通用的WinMain()基本功能 ▪ 应用程序所要做的相关初始化工作只需写在Main() 函数中即可. ▪ 在Main()函数中,首先要调用InitGraphics()来初始化 图形窗口,以便绘制图形

画笔 可以想象在图形窗口里有一只虚拟的画笔 存在 设定画笔的位置(坐标): MovePen(x, y) 坐标X和y是图形窗口的绝对坐标(单位:英寸) MoveMen(xy)将把画笔移到(Xy)—一画笔当 前位置 ■接下来的图形绘制都是从该位置开始的 ■有的绘图函数可以更改画笔当前位置
可以想象在图形窗口里有一只虚拟的画笔 存在. 设定画笔的位置(坐标): ▪ MovePen(x, y); ▪ 坐标x和y是图形窗口的绝对坐标(单位:英寸) MovePen(x, y)将把画笔移到(x,y)——画笔当 前位置. 接下来的图形绘制都是从该位置开始的. 有的绘图函数可以更改画笔当前位置

直线 画直线函数: Drawline(dx,dy) 其中,dx和dy是相对于画笔当前位置的偏移量 假设画笔当前位置是(X,y),它从(Xy)到(X+dx y+dy)画一条直线 画完直线后,画笔当前位置移到(x+d×,y+d 画一个矩形 MoveMen(0.5, 0.5) DrawLine(0.0, 1.0); DrawLine(1.0,0.0); Drawline(0.0, -1.0) DrawLine(-1.0,0.0);
画直线函数:DrawLine(dx, dy) ▪ 其中,dx和dy是相对于画笔当前位置的偏移量 ▪ 假设画笔当前位置是(x, y),它从(x, y)到(x+dx, y+dy) 画一条直线。 ▪ 画完直线后,画笔当前位置移到(x+dx, y+dy) 画一个矩形: MovePen(0.5, 0.5); DrawLine(0.0, 1.0); DrawLine(1.0,0.0); DrawLine(0.0,-1.0); DrawLine(-1.0,0.0);

圆与圆孤 DraWArc(r, start, sWeep 以画笔当前位置作为圆弧所在圆的Ⅹ轴上右 起点,画一段圆弧 圆孤的半径为r,起始角度为 start(单位:度, 相对于Ⅹ轴方向逆时针为正),弧度为 sweep
DrawArc(r, start, sweep) 以画笔当前位置作为圆弧所在圆的X轴上右 起点,画一段圆弧. 圆弧的半径为r, 起始角度为start(单位:度, 相对于X轴方向逆时针为正), 弧度为sweep

文本 ■常用的 printf用于标准输出(控制台窗口) 输出格式化数据,不能用于在图形窗口输 出文本 ■图形模式下输出文本的函数 Draw TextString(char *string 从当前位置开始输出文本(字符串) string string是字符串指针
常用的printf用于标准输出(控制台窗口) 输出格式化数据,不能用于在图形窗口输 出文本。 图形模式下输出文本的函数 DrawTextString(char *string) ▪ 从当前位置开始输出文本(字符串)string ▪ string 是字符串指针

sprintf Draw Textstring)函数只能输出文本(字符 串),不能直接输出格式化数据。 ■函数 sprint(0可将格式化数据输出到一个缓 冲区中,形成一个字符串: int sprintf( char str, const char format, .. printf的用法同 printf0( printi将结果输出到标准输出 sprintf,则输出到字符串(用户指定的str)
DrawTextString()函数只能输出文本(字符 串),不能直接输出格式化数据。 函数sprintf()可将格式化数据输出到一个缓 冲区中,形成一个字符串: ▪ int sprintf ( char * str, const char * format, ... ) ▪ sprintf()的用法同printf(): ▪ printf将结果输出到标准输出 ▪ sprintf则输出到字符串(用户指定的str)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 数据结构与控制算法分析(PPT专题讲稿)查找与排序.ppt
- 浙江大学:《计算机辅助设计与图形学》课程教学资源(PPT讲稿)查找、排序.pptx
- 浙江大学:《计算机控制装置》课程教学资源(PPT讲稿)计算机控制系统的抗干扰设计.ppt
- 浙江大学信息与电子工程学系:《无线网络应用》课程教学资源(PPT讲稿)网线制作实验.ppt
- 浙江大学:R语言基础(PPT讲稿).pptx
- 分布式虚拟环境:虚拟现实的基础理论、算法及实现项目结题报告(分布并行图形绘制技术及系统).ppt
- 浙江大学:《计算机辅助设计与图形学》课程教学资源(PPT讲稿)程序设计专题——结构.pptx
- 浙江大学:《计算机辅助设计与图形学》课程教学资源(PPT讲稿)程序设计专题——结构化程序设计与递归函数.pptx
- 浙江大学:《计算机辅助设计与图形学》课程教学资源(PPT讲稿)SDL(Simple DirectMedia Layer)图形程序设计.pptx
- 《计算机辅助设计(CD)》课程教学大纲.pdf
- MATLAB简介.ppt
- 《数字图像处理技术 Digital Image Processing》课程教学资源(教学大纲).pdf
- linux系统知识培训(PPT讲稿).pptx
- 高性能计算机和曙光GHPC1000集群系统.ppt
- 曙光:机群应用开发(并行编程原理及程序设计)Parallel Programming - Fundamentals and Implementation(MPI并行程序设计 Parallel Programming with the Massage Passing Interface(MPI)).ppt
- 中科院昆明动物研究所培训:曙光5000A超级计算机.ppt
- 《网页设计教程》PPT课件:第9章 美化网页.ppt
- 《网页设计教程》PPT课件:第8章 网页表单的处理.ppt
- 《网页设计教程》PPT课件:第7章 在网页中使用超链接.ppt
- 《网页设计教程》PPT课件:第6章 网页图像处理.ppt
- 浙江大学:《计算机辅助设计与图形学》课程教学资源(PPT讲稿)数据可视化基础.ppt
- Python的基本应用(PYTHON的入门应用).pptx
- 浙江大学计算机科学与技术学院:C语言程序设计基础与试验(PPT讲稿).ppt
- 耶鲁大学:A Sparse Parametric Mixture Model for BTF Compression, Editing and Rendering.ppsx
- 浙江大学:程序设计专题(PPT讲稿)结构化程序设计与递归函数(刘新国).pptx
- 浙江大学:循环结构(PPT讲稿).pptx
- 浙江大学:《计算机辅助设计与图形学》课程教学资源(PPT讲稿)基于图像的绘制技术 Image Based Rendering, IBR.ppt
- 浙江大学计算机系:网络图形技术 Chinagraph‘2000 讨论组.ppt
- 结构(9.1 构建手机通讯录 9.2 结构变量 9.3 结构数组 9.4 结构指针).ppt
- 大型综合程序范例解析(PPT讲稿).ppt
- 生物信息数据分析技能培训:计算机基础技能培训(linux基础知识).pptx
- 浙江大学:虚拟现实中基于图像的建模和绘制(报告PPT).ppt
- 《E-commerce 2014》电子商务(PPT讲稿)Chapter 9 Online Retail and Services.ppt
- 清华大学出版社:《WEB技术开发》课程教学资源(PPT课件)第1章 WEB开发技术概述.ppt
- 《E-commerce 2014》电子商务(PPT讲稿)Chapter 12 B2B E-commerce:Supply Chain Management and Collaborative Commerce.ppt
- 《WEB技术开发》教学资源(PPT讲稿)HTML AND CSS.ppt
- 《E-commerce 2014》电子商务(PPT讲稿)Chapter 5 E-commerce Security and Payment Systems.ppt
- 杭州电子科技大学:《计算机、互联网和万维网简介》教学资源(PPT课件)Chapter 01 C++ Programming Basics.ppt
- 香港浸会大学:《Data Communications and Networking》课程教学资源(PPT讲稿)Chapter 10 Circuit Switching and Packet Switching.ppt
- 山东大学:《微机原理及单片机接口技术》课程教学资源(PPT课件讲稿)第九章 模数转换器与数模转换器.ppt