四边形密铺平面
摘要:任意四边形可以密铺整个二维平面,这里将给出其代码实现.void CTileQuadrangleGridDrawer::BuildTileQuadrangle(Vector3* v){ Vector2 vDis01 = m_quadPositions[0] - m_quadPositions[1...
阅读全文
posted @
2015-12-04 20:02
叶飞影
阅读(1763)
推荐(1) 编辑
分形的程序实现
摘要:近一段时间一直在研究分形,写了几个分形相关的程序,这是其中一个。程序中里面包含近20种分形图形的生成算法。(1)科赫(Koch)雪花(2)列维(levy)曲线(3)龙形曲线(Dragon Curve)(4)C折线(5)谢尔宾斯基(Sierpinski)三角形(6)谢尔宾斯基(Sierpinski...
阅读全文
posted @
2014-10-22 07:17
叶飞影
阅读(6975)
推荐(5) 编辑
N体运动的程序模拟
摘要:这依然是与《三体》有关的一篇文章。空间中三个星体在万有引力作用下的运动被称之为三体问题,参见我的上一篇文章:三体运动的程序模拟。而这一节,对三体问题进行了扩展,实现了空间中N个星体在万有引力下的运动模拟。程序中使用了两个物理定律:(1)万有引力定律这是牛顿发现的:任意两个质点有通过连心线方向上...
阅读全文
posted @
2014-09-24 12:07
叶飞影
阅读(7079)
推荐(4) 编辑
分形之万花筒
摘要:万花筒是一种光学玩具,只要往筒眼里一看,就会出现一朵美丽的“花”样。将它稍微转一下,又会出现另一种花的图案。不断地转,图案也在不断变化,所以叫“万花筒”。万花筒的图案是靠玻璃镜子反射而成的。它是由三面相交成60°角的镜子组成的,由于光的反射定律,放在三面镜子之间的每一件东西都会映出六个对称的图...
阅读全文
posted @
2014-09-19 09:14
叶飞影
阅读(3542)
推荐(5) 编辑
WhyDX9:翻写D3D红龙书中的程序
摘要:之前写过一套学习OpenGL的框架:WhyGL,即然有了GL那也应该再写个学习D3D的框架:WhyDX9.两个程序的架构相同,然后这个程序是将D3D红龙那本书的DEMO翻写了一遍.先将可执行程序发一下,代码等整理后再发.使用说明:WhyDX9演示程序平台.exeWhyDX9.exe都可以运行程序,不...
阅读全文
posted @
2014-05-07 12:05
叶飞影
阅读(1748)
推荐(2) 编辑
WhyGL:一套学习OpenGL的框架,及翻写Nehe的OpenGL教程
摘要:最近在重学OpenGL,之所以说重学是因为上次接触OpenGL还是在学校里,工作之后就一直在搞D3D,一转眼已经毕业6年了.OpenGL这门手艺早就完全荒废了,现在只能是重学.学习程序最有效的办法是动手写,光看书是不行了,因为看书的时候很容易陷入对人类两大难题的思考中,以至于进展缓慢.这两大难...
阅读全文
posted @
2014-03-29 18:37
叶飞影
阅读(9175)
推荐(5) 编辑
物理绳子的模拟
摘要:模仿Nehe的OpenGL教程第40课写的,程序运行后,会出现一条绳子,用鼠标操作Widget可以控制绳子一端的位置.如果有人对它感兴趣,请查阅Nehe的OpenGL教程的第40课.这个功能看上去很复杂,其实代码不难,有关物理逻辑的代码不到500行.F11 全屏空格 将绳子恢复到初始位置上ESC 程序退出下载地址:http://files.cnblogs.com/WhyEngine/Rope.zip
阅读全文
posted @
2014-03-28 21:03
叶飞影
阅读(1606)
推荐(1) 编辑
寻路DEMO
摘要:网格场景的寻路算法DEMO灰色格子为默认正常蓝色格子表示为障碍物,不可进入红色细条在格子周围,表示格子的墙,用于阻碍行走紫色为当前鼠标选中格子黄色为寻路的起始位置和结束位置.鼠标左键设置,CTRL+鼠标左键可以重设起始位置.绿色格子为寻路路径淡蓝色为寻路算法的搜索路径.鼠标右键控制场景的视角,按X键恢复为默认视角.鼠标滚轮调节视口远近.ESC 程序退出F11 全屏显示实现了三种寻路算法,A*,广度优先,深度优先.算法是很多年前写的,这两天整理到自已的引擎中.自己几年前的代码风格很差,改起来很是费劲.这只是个测试DEMO,你会发现深度优先算法的效率最高,但其路径可能会绕很大的弯,A*算法效率最差
阅读全文
posted @
2014-02-02 18:54
叶飞影
阅读(1961)
推荐(2) 编辑
WHY数学图形显示工具
摘要:软件功能:输入一个二元数学表达式,含有两个参数变量X和Y,显示该数学表达式的三维图形. 很久之前就有写这个软件的想法,却一直没有激情和动力,终于在年假这两天完成了.以此软件纪念我那十几年前的高中生活,那时我虽然不喜欢数学,但立体几何学得还算不错.不知道还有没有人记得我之前发的博客"数学表达式解析工具"见:http://www.cnblogs.com/WhyEngine/p/3513478.html, 当时写那个小工具就是为这个软件做基础工作.程序写的有点着急,比如我本打算按Z的高度设置不同的颜色,底层接口都已经实现,但发现MFC的界面逻辑写起来有些麻烦,就没写下去.数学表达
阅读全文
posted @
2014-01-28 19:18
叶飞影
阅读(1574)
推荐(5) 编辑
3维DEMO: 抽奖圆盘
摘要:抽奖圆盘 前些日子去超市,消费满一定钱数可以参加抽奖,就是在电视机上有个可旋转的圆盘,按一键开始,按一键抽奖结束.看到最大奖的扇形区域大约有个10度角的样子,按说中大奖的概率应该是36分之1.当然,这是天真的想法.盘子上奖项区域面积的大小不会等于其抽中概率的大小.于是我写了这个DEMO,圆盘上随机生成十种颜色,用户可以分别设置每个颜色的区域面积大小和抽中概率大小.面积大的颜色中奖概率不一定大,面积小的颜色中奖概率不一定小,一切尽在我的掌握之中.写这个程序算是为自己以后的抽奖积累人品吧,希望明年能中个什么奖.右侧控件设置圆盘颜色区域大小与抽中概率大小.如下图所示:空格键控制抽奖,"R&
阅读全文
posted @
2013-12-26 08:39
叶飞影
阅读(1542)
推荐(4) 编辑
BULLET物理DEMO最新版本
摘要:鼠标右键按下并拖动 旋转视角WSAD 前后左右RF 上下QE 左右旋转上下左右键 上下左右旋转鼠标左键按下并拖动 拖动选的刚体SHIFT+鼠标左键并拖动 另一种方式拖动选的刚体 空格 向鼠标所指的方向发射一立方体Cube刚体- 减小发射刚体的初始速度= 增加发射刚体的初始速度O,0向鼠标所指的方向发射一个随机的刚体1 向鼠标所指的方向发射Box刚体2 向鼠标所指的方向发射Cylinder刚体3 向鼠标所指的方向发射Sphere刚体4 向鼠标所指的方向发射Capsule刚体5 向鼠标所指的方向发射Cone刚体6 向鼠标所指的方向发射Cube刚体P暂停/恢复CTRL+R 重置物理世界SHIFT+K
阅读全文
posted @
2013-11-17 21:02
叶飞影
阅读(1142)
推荐(0) 编辑
WhyDemo: 画线圈LineFlower
摘要:画线圈LineFlower 刚发过画线圈的屏保程序,现在发一下它的可编辑版本.可以对线圈的相关参数进行设置. 小时候玩过一种画线圈的玩具,将一个圆形齿轮在一个大圈里转,会画出各种图形来.这个程序就是模仿它做的.将一个圆围绕着另一个大圆公转,并且它还做自转运动.那么圆上一点的运动轨迹就能生成一个奇妙的图形.更奇妙的是,一个小小参数的改变,会使整个画面完全不同.操作说明:-,=减少增加圈数[,] 减少增加半径1,2减少增加轨迹生成点位置偏移CTRL + D恢复为默认参数空格播放C 改变颜色点击屏幕右边的UI界面上的按钮可以对相应参数进行修改,当窗口分辨率改变时,其线圈图形也会发生改变.下载地址:h
阅读全文
posted @
2013-11-14 21:33
叶飞影
阅读(632)
推荐(0) 编辑
3D几何图形生成的DEMO
摘要:3D几何图形生成的DEMO可以生成以下几种图形:[1] 平面(Plane)图形的生成算法[2] 立方体(Box)图形的生成算法[3] 球(Sphere)图形的生成算法[4] 圆锥(Cone)图形的生成算法[5] 柱台(Cylinder)图形的生成算法[6] 胶囊体(Capsule)图形的生成算法[7...
阅读全文
posted @
2013-11-08 22:22
叶飞影
阅读(1590)
推荐(0) 编辑
花了两天时间为我的引擎实现了性能分析的界面显示
摘要:DEMO集成到了InstancingDemo中.可以查看游戏中每一个模块的耗时情况.操作方式:F2 显示引擎的性能分析界面F3 性能分析暂停与恢复F4 性能分析的背景色调整下载地址:http://pan.baidu.com/s/1kUFBS
阅读全文
posted @
2013-11-08 20:16
叶飞影
阅读(486)
推荐(1) 编辑
原创D3D几何实例化的DEMO
摘要:CUBE的几何实例化DEMO鼠标右键按下并拖动 旋转视角WSAD 前后左右RF 上下QE 左右旋转上下左右键 上下左右旋转- 减少立方体= 增加立方体shader代码: 1 //-------------------------------------------------------------------------------------- 2 // Global variables 3 //-------------------------------------------------------------------------------------- 4 5 float4.
阅读全文
posted @
2013-10-31 20:02
叶飞影
阅读(680)
推荐(0) 编辑
WIDGET和鼠标特效的DEMO
摘要:原创WIDGET和鼠标特效的DEMO,键盘1 平移Widget键盘2 旋转Widget键盘3 缩放WidgetDEMO中,实现对BOX的旋转缩放位移下载地址:http://pan.baidu.com/s/1qZzZl
阅读全文
posted @
2013-10-27 17:11
叶飞影
阅读(387)
推荐(0) 编辑
原创BULLET物理的DEMO
摘要:原创BULLET物理的DEMO按空格和0,1,2,3,4,5,6会发射不同的刚体.具体的使用说明:鼠标右键按下并拖动 旋转视角WSAD 前后左右RF 上下QE 左右旋转上下左右键 上下左右旋转鼠标左键按下并拖动 拖动选的刚体SHIFT+鼠标左键并拖动 另一种方式拖动选的刚体 空格 向鼠标所指的方向发射一立方体Cube刚体- 减小发射刚体的初始速度= 增加发射刚体的初始速度O,0 向鼠标所指的方向发射一个随机的刚体1 向鼠标所指的方向发射Box刚体2 向鼠标所指的方向发射Cylinder刚体3 向鼠标所指的方向发射Sphere刚体4 向鼠标所指的方向发射Capsule刚体5 向鼠标所指的方向发射
阅读全文
posted @
2013-10-27 17:07
叶飞影
阅读(550)
推荐(0) 编辑