# 跟月影学可视化:从代码到图形的进阶之路

在 Web 前端开发的广阔天地中,可视化往往被视为一道高不可攀的门槛。许多工程师习惯了编写业务逻辑、搭建页面布局,却对“图形渲染”心存敬畏。然而,随着数据大屏、数字孪生、3D 网页游戏的兴起,掌握可视化能力已成为前端工程师突破职业瓶颈的关键技能。《跟月影学可视化》这门体系课,正是为希望跨越这一鸿沟的学习者量身打造的实战指南。

本课程并非从晦涩的数学公式入手劝退初学者,而是采用了“由浅入深、理论结合实践”的独特路径。课程开篇即直击痛点,通过《不写网页的前端工程师,还能干什么?》与《Web 前端与可视化到底有什么区别?》两篇预习内容,帮助学员厘清技术边界,建立正确的认知框架。无论你是零基础入门,还是希望系统补全知识盲区,这堂课都能让你快速找到定位。

在**图形基础篇**中,月影老师全面梳理了浏览器实现可视化的四大核心方式:Canvas、SVG、WebGL 以及 CSS。课程不仅讲解了 Canvas 指令式绘图的灵活性,还深入剖析了 SVG 声明式图形的层级关系,并引入了 WebGL 渲染管线的概念。更重要的是,课程设置了极具趣味性的实战项目——“手势密码”组件的开发。通过国庆策划专题,你将亲手使用原生 JavaScript 实现一个交互式的手势解锁功能,让枯燥的技术点在实际应用中变得生动可感。

**数学篇**则是本课程的硬核亮点。可视化离不开数学支撑,但这里不讲抽象证明,只讲实用工具。从向量和坐标系的基础定义,到向量乘法在图形变换中的应用;从参数方程描述曲线,到三角剖分处理多边形——每一讲都紧扣可视化中的具体场景。特别是针对仿射变换等复杂概念,课程提供了直观的讲解与代码示例,确保你不仅能“算得出来”,更能“画得出来”。

无论你是想深入理解 ECharts、D3.js 等库背后的原理,还是渴望独立开发高性能的图表库,这门课都将为你夯实最底层的能力。它不教你如何使用工具,而是教你如何成为创造工具的人。在这个数据驱动的时代,掌握可视化,就是掌握了与用户对话的全新语言。如果你厌倦了千篇一律的业务 CRUD,渴望在屏幕上一笔一划绘制出属于自己的视觉世界,那么《跟月影学可视化》将是你通往高阶前端工程师的必经之路。

课程目录

国庆策划 (2讲)

  1. 国庆策划 _ 假期别闲着,一起来挑战“手势密码”
  2. 国庆策划 _ 快来看看怎么用原生JavaScript实现手势解锁组件

课前必学 (2讲)

  1. 开篇词 _ 不写网页的前端工程师,还能干什么?
  2. 预习 _ Web前端与可视化到底有什么区别?

图形基础篇 (4讲)

  1. 01 _ 浏览器中实现可视化的四种方式
  2. 02 _ 指令式绘图系统:如何用Canvas绘制层次关系图?
  3. 03 _ 声明式图形系统:如何用SVG图形元素绘制可视化图表?
  4. 04 _ GPU与渲染管线:如何用WebGL绘制最简单的几何图形?

数学篇 (5讲)

  1. 05 _ 如何用向量和坐标系描述点和线段?
  2. 06 _ 可视化中你必须要掌握的向量乘法知识
  3. 07 _ 如何用向量和参数方程描述曲线?
  4. 08 _ 如何利用三角剖分和向量操作描述并处理多边形?
  5. 09 _ 如何用仿射变换对几何图形进行坐标变换?

特别放送 (6讲)

  1. 加餐5|周爱民:我想和你分享些学习的道理
  2. 加餐1 _ 作为一名程序员,数学到底要多好?
  3. 加餐2 _ SpriteJS:我是如何设计一个可视化图形渲染引擎的?
  4. 加餐3 _ 轻松一刻:我想和你聊聊前端的未来
  5. 加餐4 _ 一篇文章,带你快速理解函数式编程
  6. 用户故事 _ 非前端开发,我为什么要学可视化?

视觉基础篇 (8讲)

  1. 10 _ 图形系统如何表示颜色?
  2. 11|图案生成:如何生成重复图案、分形图案以及随机效果?
  3. 12 _ 如何使用滤镜函数实现美颜效果?
  4. 13 _ 如何给简单的图案添加纹理和复杂滤镜?
  5. 14 _ 如何使用片元着色器进行几何造型?
  6. 15 _ 如何用极坐标系绘制有趣图案?
  7. 16 _ 如何使用噪声生成复杂的纹理?
  8. 17 _ 如何使用后期处理通道增强图像效果?

视觉高级篇 (10讲)

  1. 18 _ 如何生成简单动画让图形动起来?
  2. 19 _ 如何用着色器实现像素动画?
  3. 20 _ 如何用WebGL绘制3D物体?
  4. 21 _ 如何添加相机,用透视原理对物体进行投影?
  5. 22 _ 如何用仿射变换来移动和旋转3D物体?
  6. 23 _ 如何模拟光照让3D场景更逼真?(上)
  7. 24 _ 如何模拟光照让3D场景更逼真?(下)
  8. 25 _ 如何用法线贴图模拟真实物体表面
  9. 26 _ 如何绘制带宽度的曲线?
  10. 27 _ 案例:如何实现简单的3D可视化图表?

性能篇 (3讲)

  1. 28 _ Canvas、SVG与WebGL在性能上的优势与劣势
  2. 29 _ 怎么给Canvas绘制加速?
  3. 30|怎么给WebGL绘制加速?

数据篇 (12讲)

  1. 31 _ 针对海量数据,如何优化性能?
  2. 32 _ 数据之美:如何选择合适的方法对数据进行可视化处理?
  3. 33 _ 数据处理(一):可视化数据处理的一般方法是什么?
  4. 34 _ 数据处理(二):如何处理多元变量?
  5. 35_ 设计(一):如何让可视化设计更加清晰?
  6. 36 _ 设计(二):如何理解可视化设计原则?
  7. 37 _ 实战(一):如何使用图表库绘制常用数据图表?
  8. 38 _ 实战(二):如何使用数据驱动框架绘制常用数据图表?
  9. 39 _ 实战(三):如何实现地理信息的可视化?
  10. 40_ 实战(四):如何实现3D地球可视化(上)?
  11. 41 _ 实战(五):如何实现3D地球可视化(下)?
  12. 42 _ 如何整理出我们自己的可视化工具集?

结束语 (2讲)

  1. 有奖征集倒计时4天!你填写毕业问卷了吗?
  2. 结束语 _ 可视化工程师的未来之路