码迷,mamicode.com
首页 > 其他好文 > 详细

数学之美--计算机图形学中的数学方法论

时间:2017-02-08 23:22:00      阅读:379      评论:0      收藏:0      [点我收藏+]

标签:图形学

我的github:

https://github.com/jackyblf

我的公众号:

技术分享

早期研究3D程序开发的程序员最大的情怀就是从无到有,自己实现一个游戏引擎。当时的我也是充满着这种复古情怀!!


以前的demo大部分都用c++写的,现在尽力全部改成html5+canvas/webgl版本


正在改写demo,编写文章,敬请期待

技术分享

09年台式机out of order了,一直到去年年底,买了个硬盘数据线,把以前的代码全部拷贝出来了,万幸没损坏!!!

技术分享

08年的vs2005代码,在vs2015中,竟然无法编译通过了,花时间调试一下,让代码能够运行起来!

2008年及以前写的c/c++代码库:

1、基础库 (数学库,Util(100多个函数用于数学,碰检,mesh拓扑计算,动画,投影矩阵各种技巧等),logger,parser,树,动态数组类,虚拟文件系统,图形(DDS,TGA,BMP,JPG,不使用第三方库)
2、空间分割(八叉树,bsp树,kd树,四叉树,grid系统等)
3、场景管理(室内基于portal管理(使用doom3 proc文件),室外实现了geomipmap地形,以后要将室内室外统一由Portal进行管理),室内使用doom3地图(40多间房间),在2008年购买的笔记本上不带shader可以跑700帧左右。该portal遍历算法不需要将Portal多边形上的点变换到屏幕坐标系然后求交测试(doom3engine实现方式),只需要一次dot操作就可以知道是否portal可见,速度极快

技术分享

技术分享

4、碰撞检测实现了点线面体空间级别的碰撞,collisionScene类管理动静态物体碰检,实现物体stepSlideMove方式运行
5、实现了Md5骨骼动画读取与运行

技术分享

技术分享


6、渲染系统暂时使用gl函数,渲染系统核心是渲染数据流组织和BATCH,多种方式可实现,做实验,哪些效率最好。目前用glEffect进行渲染(2016年:目前github有几个很强的跨平台,基于command buffer实现的多线程渲染库,可以直接合并进去)
7、渲染特效:shadowvolume(zfail-zpss自动切换,lightScissor + depthBoundTest),shadowmap,以及贴花系统(多边形任意表面贴花技术)
8、编辑功能,实现了类似3DMAX的编辑系统以及photoshop 2d 编辑系统

技术分享

(2017年1月更新)目前已经移植到html5+js平台,总计1500行以上js代码,使用canvas2d渲染。

技术分享

技术分享

9、曲线曲面系统,各种曲线或曲面,本质上会发现,仅仅是基矩阵的不同而已。实现前向差分法,大幅度提高曲线曲面的拟合速度

技术分享

其实基础模块基本都实现了,到目前为止主要侧重于碰检和场景管理方面,在渲染方面还很弱,但是基础模块完成后,其他方面就是时间问题了,以后重点放在渲染器和特效方方面。最重要的一件事要实现GUI系统,使用fastDelgate上实现一个多播系统,然后实现类似flash的冒泡事件系统,参考webkit dom event事件实现机制,做过一些实验,完全可行。(2016年: 在2009年,从webkit中将dom冒泡event系统独立,并在fastDelegate上实现)
该demo尽量避免使用第三方库,主要是学习和巩固知识使用,以后会重构,但是一些基础函数和库不要大改变,而场景管理和渲染器方面变动会很大,脱离doom3体系结构,抽象出一致的编程接口

2D/3D 相互交互,大量的数学操作,各种投影矩阵的变换,局部刷新裁剪矩阵

技术分享

技术分享

技术分享

ar增强现实技术(opencv实现图像识别,opengl进行渲染显示)

技术分享

技术分享

虚拟现实中的应用(使用廉价的google开源硬件):

技术分享

技术分享



旋转的局部坐标系和固定的全局坐标系

技术分享

将3D朝向矩阵引入到2D系统中,去除掉sin/cos atan2等三角函数调用,要知道三角函数是消耗cpu的大户之一

技术分享

公转,自传,billboard矩阵,粒子系统,经典的数学应用

技术分享

数学在嵌入式中的应用

技术分享

技术分享


数学在金融行业APP中的运用

技术分享


参考书籍

技术分享

技术分享

技术分享

本文出自 “随风而行之青衫磊落险峰行” 博客,转载请与作者联系!

数学之美--计算机图形学中的数学方法论

标签:图形学

原文地址:http://jackyblf.blog.51cto.com/11250866/1896180

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!