本书共十章,主要包括计算机绘图基本知识、平面图形设计、图形变换、物体视图及表面展开、立体图的自动绘制、三维立体消隐、实测曲线绘制、曲线拟合与设计、曲面设计和VBA与三维实体造型技术等方面内容。
可作为工科类本科各专业学生使用的教材,也可作为研究生与“含图”学科教师及研究人员的参考资料。
目录第一章计算机绘图基本知识-第一节绘图常用设备一、数字化仪和图形输入板二、扫描仪三、自动绘图机四、显示器第二节自动绘图原理一、直线的插补计算二、曲线的插补计算第三节图形显示基础一、像素二、分辨率三、图形显示方式四、屏幕坐标系五、屏幕的纵横比习题第二章平面图形设计第一节VisualBasic的图形功能一、图形控件二、图片控件三、坐标系四、绘图方法五、绘图颜色六、绘图属性七、在图形区输出字符串第二节图形显示程序设计的基本方法一、图形显示程序设计二、图形显示程序分析三、图形显示程序设计举例第三节平面图案设计一、基本图案设计二、平面图案设计第四节圆弧连接一、过已知点作圆的切线二、作两已知圆的公切弧习题第三章图形变换第一节图形窗口一、窗口变换公式二、视图窗口应用举例第二节二维图形裁剪一、逐边裁剪法基本概念二、逐边裁剪的算法三、视图窗口的扩缩变换四、视图窗口裁剪图形与扩缩变换的程序设计第三节动画程序设计一、改变颜色模拟运动二、用异或方式模拟运动三、用显示擦除模拟运动第四节二维图形矩阵变换一、点的变换二、直线的变换三、平面的变换四、齐次坐标五、组合变换及举例习题第四章物体视图及表面展开第一节物体视图的变换矩阵一、三维基本变换矩阵二、三视图变换矩阵第二节平面物体三视图的自动绘制一、矩阵变换法绘制物体三视图二、代数变换法绘制物体三视图第三节直纹面及截部三视图的自动绘制一、直纹回转面三视图的自动绘制二、双曲抛物面三视图的自动绘制第四节立体相贯及表面展开图的自动绘制一、两圆柱相贯及表面展开图的自动绘制二、异径换向渐变段表面展开图的自动绘制习题第五章立体图的自动绘制第一节立体图变换矩阵一、轴测投影变换矩阵二、透视投影变换矩阵第二节轴测图自动绘制一、矩阵变换法绘制轴测图二、代数变换法绘制轴测图第三节透视图自动绘制第四节视向变动下立体图自动绘制一、投影坐标系的确定二、投影点的数学模型三、坐标变换习题第六章三维立体消隐第一节平面立体消隐算法一、平面的方向二、凸多面体消隐算法三、凹多面体消隐算法四、常用数据结构第二节凸多面体消隐一、建立三表形式的数据结构二、建立投影图的数学模型三、判别各棱面的可见性四、检索与存储五、绘图程序设计第三节多个凸多面体消隐一、优先体二、第二优先体上可见线段再判别三、第二优先体子线段处理第四节任意平面体消隐一、算法思想简介二、数据结构形式三、程序流程图四、绘图程序设计习题第七章实测曲线绘制第一节常见曲线回归一、线性回归二、曲线回归三、常见曲线线性回归程序设计第二节多项式回归一、多元线性回归模型二、完全多项式回归三、多元多项式回归四、多项式回归程序设计第三节多项式逐步回归一、逐步回归的基本思想二、逐步回归算法三、一元完全多项式逐步回归四、编程分析实例第四节曲线滤波平滑一、最佳低通数字滤波二、五点三次平滑三、低次平滑公式四、曲线平滑程序设计习题第八章曲线拟合与设计第一节埃特金法插值拟合一、埃特金插值公式二、埃特金法插值拟合曲线三、埃特金法插值拟合曲线程序设计第二节三次参数样条曲线拟合一、三次参数样条曲线二、三次参数样条曲线程序设计第三节贝塞尔曲线设计一、贝塞尔曲线表达式二、贝塞尔曲线的端点性质三、贝塞尔曲线的性质四、组合三次贝塞尔曲线五、贝塞尔曲线程序设计第四节B样条曲线设计:一、B样条曲线的表达式二、二次B样条曲线三、三次B样条曲线四、三次B样条曲线的性质五、三次B样条曲线的边界条件六、N次B样条曲线程序设计习题第九章曲面设计第一节曲面的数学表示与消隐算法一、曲面的非参数表达二、曲面的参数表达三、地平线缓冲消隐算法第二节Coons曲面设计一、Coons曲面的标记规则二、双三次Coons曲面三、双三Coons曲面程序设计四、Coons曲面的拼接第三节贝塞尔曲面设计一、双一次Bezier曲面二、双二次Bezier曲面三、双三次Bezier曲面四、双三次Bezier曲面和Coons曲面的比较五、双三次Bezier曲面的程序设计第四节
2024/2/11 21:12:34 18.06MB Visual Basic绘图
1
计算机考研数据结构总结.pdf
2024/2/11 18:45:02 45.78MB 计算机考研 数据结构
1
用Visualc++编写的一个简单的校园导游系统是我们数据结构的课程设计用mgraphinitgraph()函数来初始化图,使用字符串的函数strcpy来初始化信息和名称,再给各弧的权值赋值,由于全部赋值在找路径的过程中太多了,所以只给部分赋值了。
用intlocatevex(mgraphc,intv)来查找景点在图中的序号(由于之后继续增加或者减少结点)两景点间的所有路径用函数intallpath(mgraphc)找到所有的路径voidpath(mgraphc,intm,intn,intk)用于打印序号为m,n景点间的一条路径在其中,当走完一条路径后,将其存储在d[k]中,直到d[k]==n时输出这条路径,然后跳出,把d[k]点的visited设为0,继续进行下个顶点。
直至到所有的顶点都完成。
用voidshortestpath_dij(mgraphc)函数来计算两个顶点间的最短路径,使用迪克斯特拉算法用voidshortestpath_floyd(mgraphc)函数来计算两个顶点间的最短路径,使用floyd算法
2024/2/10 13:36:07 19KB 导游系统
1
滴滴Java面试2018,主要包括面试官的各种面试问题,比如面到了Java底层原理,红黑树等数据结构等。
2024/2/9 1:01:12 258B java
1
《C语言课程设计》通讯录管理系统一、课程设计目的通过课程设计,加深对结构化设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。
通过课程设计,学会设计数据结构。
其中包括对结构数组、链表和数据文件等知识的运用。
通过课程设计,提高程序开发功能,能运用合理的控制流程编写清晰高效的程序。
通过课程设计,训练C程序调试能力,能将一个中小型各级组织系统联调通过。
通过课程设计,开发一个中小型系统,掌握系统研发全过程。
通话课程设计,培养分析问题、解决实际问题的能力。
二、课程设计内容 设计一个实用的学生通讯录管理系统,能以简便高效的方式对通讯录进行管理和检索,具体要示:录入:学生通讯录信息包括:学号,姓名,地址,电话。
以结构数组或数据文件的形式存放通讯录信息。
更新:增加、删除通讯录信息。
查询:按学号为序或姓名为序进行通讯录信息浏览。
系统以菜单方式工作,要求界面友好,易于操作。
1
哈尔滨工业大学数据结构试题,解压密码为:hitmath2010@126.com
2024/2/8 17:05:36 107KB 数据结构
1
采用java技术构建的一个管理系统。
整个开发过程首先对系统进行需求分析,得出系统的主要功能。
接着对系统进行总体设计和详细设计。
总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计等;
详细设计主要包括系统数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。
最后对系统进行功能测试,并对测试结果进行分析总结。
包括程序毕设程序源代码一份,数据库一份,完美运行。
配置环境里面有说明。
2024/2/8 10:17:35 27.64MB 校园二手市场交易平台系统
1
数据结构C语言动态链表议员多项式的加减法数据结构C语言一元多项式的加减法算法实现代码,用vs运行,已测试成功运行,
2024/2/7 16:22:45 764KB 数据结构 C语言 动态链表
1
清华大学邓俊辉版《数据结构》的一个PPT课件pdf,可以结合视频使用,或者复习使用。
2024/2/7 14:34:27 78.02MB 数据结构
1
数据结构,农夫过河。
详细讲述过河#include//0代表在河的这边;1代表在河的对岸structCondition{intfarmer;intwolf;intsheep;intcabbage;};structConditionconditions[100];//结构体条件数组char*action[100];voidtakeWolfOver(inti)//把狼来过去{action[i]="把狼过去.---_-对岸";conditions[i+1].wolf=1;conditions[i+1].sheep=conditions[i].sheep;conditions[i+1].cabbage=conditions[i].cabbage;}voidtakeWolfBack(inti)/*把狼带回来*/{action[i]="带狼回来.本岸对岸";conditions[i+1].wolf=conditions[i].wolf;conditions[i+1].sheep=1;conditions[i+1].cabbage=conditions[i].cabbage;}voidtakeSheepBack(inti)/*把羊带回来*/{action[i]="带羊回来.本岸对岸";conditions[i+1].wolf=conditions[i].wolf;conditions[i+1].sheep=conditions[i].sheep;conditions[i+1].cabbage=1;}voidtakeCabbageBack(inti)/*把菜带回来*/{action[i]="带菜回来.本岸对岸";conditions[i+1].wolf=conditions[i].wolf;conditions[i+1].sheep=conditions[i].sheep;conditions[i+1].cabbage=conditions[i].cabbage;/*全不动*/}voidgetBackBarely(inti)/*返回时的情况*/{action[i]="空手回来.本岸<---(barely)";conditions[i+1].wolf=conditions[i].wolf;conditions[i+1].sheep=conditions[i].sheep;conditions[i+1].cabbage=conditions[i].cabbage;}voidshowSolution(inti)/*显示解决方法*/{intc;printf("\n");printf("%s\n","解决办法:");for(c=0;c<i;c++){printf("step%d:%s\n",c+1,action[c
2024/2/6 8:04:03 4KB 农夫过河
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡