这门课解决什么问题
很多做工业软件、上位机或图形可视化开发的工程师,经常遇到一个痛点:业务逻辑能写,但一旦涉及交互式图形渲染、坐标系变换和图元管理,就会卡在底层图形库的调用上。这门课直接对标这个工作场景,带你用 C#.NET 结合 OpenGL,从零搭出一个具备基础绘图和交互能力的 CAD 系统。它解决的不是单纯画几条线,而是怎么把面向对象的类设计、图形渲染管线、鼠标键盘交互事件拼成一个能跑起来的整体。学完之后,你能独立做一套小型图形编辑工具,比如工装夹具的简易绘图模块、工厂产线布局的可视化编辑器,或者给现有上位机软件加上二维草图绘制功能。
适合什么基础与学习顺序
这门课不适合完全没写过代码的人。你需要有基本的 C# 语法基础,至少能看懂类、继承和事件绑定。如果你做过 WinForms 或 WPF 桌面开发,但没碰过底层图形接口,这门课刚好补上这块短板。建议先看面向对象那几节,确认自己对多态和继承的理解没问题,再进入 OpenGL 部分。坐标系和坐标变换是核心难点,直接决定后续图元绘制能不能对齐,这部分要反复看。显示列表和反走样属于进阶优化,可以等核心绘图跑通后再回头补。
资料怎么配合练习
这套资料包含视频讲解和配套源码,正确的用法是边看边敲,不要只盯着视频。每学完一个图元绘制模块,就自己写一个小 demo 验证,比如先独立画出线段和多边形,再尝试加属性设置。源码的作用是对照查错,当你自己写的渲染结果和预期不一致时,拿源码逐行比对,定位是矩阵变换写反了还是图元顶点顺序错了。系统设计那部分内容建议放在最后看,等你对底层绘制有手感之后,再去理解整体架构怎么分层,这样收获会扎实很多。
用VC#.NET结合OpenGL,从无到有开发一个功能较完整的小型交互式CAD系统。
课程目录
* 01 课程简介/
* 01 课程简介.mp4 08:25
* 02 源码和PPT下载
* 02 VC#.NET基础/
* 01 VC#.NET编程基础.mp4 20:01
* 03 面向对象编程/
* 01 类.mp4 15:22
* 02 继承.mp4 14:06
* 03 多态.mp4 06:58
* 04 OpenGL编程/
* 01 Tao框架,导入和初始化.mp4 15:14
* 02 坐标系和坐标变换.mp4 12:34
* 03 线形图元绘制.mp4 11:14
* 04 线形图元属性设置.mp4 05:10
* 05 多边形绘制.mp4 05:13
* 06 文本绘制.mp4 05:14
* 07 显示列表.mp4 04:46
* 08 反走样.mp4 05:43
* 05 系统设计的基本框架和技术/
* 01 相关类的设计.mp4 28:44
* 02 坐标系统.mp4 22:31
* 03 相机类.mp4 13:22
* 04 集合类.mp4 06:05
* 05 交互绘图技术.mp4 12:24
* 06 准备工作.mp4 10:51
* 06 基本图元类设计/
* 01 CGElement类.mp4 07:10
* 02 CPoint类.mp4 15:57
* 03 CLine类.mp4 09:53
* 04 CRectangle类.mp4 09:25
* 05 CCircle类.mp4 07:56
* 06 CArc类.mp4 19:48
* 07 CText类.mp4 16:04
* 07 交互绘图类设计/
* 01 CCommand类.mp4 04:55
* 02 CCreatePoint类.mp4 14:47
* 03 CCreateLine类.mp4 07:59
* 04 CCreateRectangle类.mp4 05:10
* 05 CCreateCircle类.mp4 04:22
* 06 CCreateArc类.mp4 05:33
* 07 CCreateText类.mp4 10:01
* 08 拾取和选择/
* 01 拾取和选择的概念.mp4 12:02
* 02 图元的包围矩形和GetBox方法.mp4 18:09
* 03 图元的拾取算法-Pick方法.mp4 12:14
* 04 实现图元的拾取-CSelect类.mp4 09:16
* 05 手柄的拾取.mp4 08:47
* 06 鼠标单选-CSelect类.mp4 06:16
* 07 全选、分类选择和放弃选择.mp4 04:51
* 09 图元的编辑/
* 01 修改图元的属性、删除图元、全部删除.mp4 11:25
* 10 图元变换/
* 01 图元变换概述.mp4 03:35
* 02 平移变换 - 图元的Move方法和交互平移CMove类.mp4 12:24
* 03 平移变换 - 手柄的平移.mp4 09:23
* 04 平移变换 - 拖拉图元平移.mp4 05:38
* 05 旋转变换 - 图元绕任意点旋转.mp4 06:40
* 06 旋转变换 - 图元的Rotate方法和交互旋转CRotate.mp4 11:20
* 07 镜像变换 - 图元相对于任意直线镜像.mp4 08:05
* 08 镜像变换 - 图元的Mirror方法和交互镜像CMirror.mp4 06:52
* 09 比例变换 - 图元的Scale方法和实现比例变换.mp4 06:52
* 11 视图变换/
* 01 视图变换概述.mp4 11:31
* 02 画面平移.mp4 11:35
* 03 画面缩放.mp4 07:45
* 12 撤销和重做/
* 01 记录画面.mp4 10:06
* 02 撤销和重做.mp4 05:40
* 03 浅拷贝和深拷贝.mp4 07:21
* 13 保存和打开/
* 01 序列化/反序列化和保存/打开.mp4 08:43






