书法字典:https://www.shufadict.com

随笔分类 -  Demo

DirectX Demo
用DirectX实现魔方(三)视角变换及缩放(附源码)
摘要:在本系列第一篇介绍过鼠标按键的功能,如下。左键拖拽 - 旋转魔方右键拖拽 - 变换视角滚轮 - 缩放魔方今天研究一下如何实现后面两个功能,用到的技术主要是Arcball,Arcball是实现Model-View-Camera的重要技术,这里的旋转基于Quaternion(四元数)来实现,当然也可以通过欧拉角来实现,但是欧拉角的旋转不够平滑。先看一下Model-View-Camera的效果,如下,这个gif效果图是用LICEcap录制的,帧率有些慢,略有卡顿现象,大家可以下载文末的可执行文件查看更加平滑的效果。右键拖拽 - 变换视角由上面的动画可以看到,通过用户按下并拖拽鼠标右键即可以旋转视角( 阅读全文

posted @ 2013-09-16 09:50 翰墨小生 阅读(10698) 评论(17) 推荐(8) 编辑

用DirectX实现魔方(二)
摘要:这篇说一下如何构造魔方,主要包括魔方几何体的构造及纹理贴图。以下论述皆以三阶魔方为例,三阶魔方共有3 x 3 x 3 = 27个小立方体。构造魔方在第一篇里面说过,最初模型用的是微软的.x文件格式,由于魔方要实现按层旋转,所以不能将整个模型做成一个.x文件,只能分成若干个小立方体,每个立方体对应一个.x文件。这导致在发布程序的时候也要发布这些模型文件,而且.x文件已经逐渐为微软遗弃,所以就干脆不用了,自己画吧。魔方由27个小立方体构成,所以只要绘制一个小立方体,并复制27分,再将这个27个小立方体按一定顺序堆叠在一起,最后贴上纹理,就可以构成一个完整的魔方了。一个小立方体包含六个面,由于每个面 阅读全文

posted @ 2013-07-10 09:22 翰墨小生 阅读(7460) 评论(26) 推荐(14) 编辑

用DirectX实现魔方(一)
摘要:关于魔方魔方英文名字叫做Rubik's Cube,是由匈牙利建筑学教授和雕塑家Ernő Rubik于1974年发明,最初叫做Magic Cube(这大概也是中文名字的来历吧),1980年Ideal Toys公司开始销售此玩具,并将名字改为Rubik's Cube。魔方在80年代最为风靡,至今未衰。截至2009年1月,魔方在全世界已经售出了3亿五千多万个。最常见的魔方是三阶魔方,由27个小方块构成,共三层,每层9个小方块。我的Demo实现的就是三阶魔方。其他的魔方种类有二阶,四阶及更高阶,也有钻石魔方,五边形魔方,三角魔方等。三阶魔方所有可能的排列数是43252003274489 阅读全文

posted @ 2013-06-28 09:18 翰墨小生 阅读(10018) 评论(38) 推荐(7) 编辑

导航

书法字典:https://www.shufadict.com