- 博客(16)
- 资源 (21)
- 收藏
- 关注
原创 Lua 源文件划分
从官网下载到Lua 的源代码后,展开压缩包,会发现源代码文件全部放在src子目录下。这些文件根据实现功能的不同,可以分为四部分。1.虚拟机运转的核心功能2.源代码解析以及预编译字节码3.内嵌库4.可执行的解析器,字节码编译器
2017-03-31 18:21:56 720
转载 C/C++ typedef用法
typedef 声明,简称 typedef,为现有类型创建一个新的名字。比如人们常常使用 typedef 来编写更美观和可读的代码。所谓美观,意指 typedef 能隐藏笨拙的语法构造以及平台相关的数据类型,从而增强可移植性和以及未来的可维护性。在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。
2017-03-31 17:39:05 582
原创 计算机图形学(四)几何变换_4_二维复合变换_2_矩阵合并特性
因此,依靠变换的描述次序,既可以使用从左到右(前乘),也可以使用从右到左(后乘)的结合分组来求矩阵乘积。有些图形软件包要求变换按应用的次序描述。 在这种情况下,先引入变换M1,然后M2,最后M3。在每一个连续的变换子程序被调用时,其矩阵从左边与前面的矩阵乘积合并。而另一些图形系统是后乘矩阵,因此该变换序列按相反次序引入;最后引入的变换(本例中是M1)是最先应用的,而第一个被调用的变换(此时是M3)是最后应用的。
2017-03-31 16:52:46 2195
转载 模板与泛型的区别
泛型和模板都提供支持参数化类型的语言功能。但是,它们是不同的,有不同的用途。本主题提供了一个概述的许多差异。泛型是通用的,直到它们在运行时类型取代。模板是专门在编译的时候,所以他们不仍然在运行时的参数化类型。特别是公共语言运行库支持仿制药在MSIL。由于运行时知道仿制药,具体类型可以被取代时,泛型类型的引用程序集包含一个泛型类型。相比之下,模板,解决成普通类型在编译时产生的类型可能不会专门在其他组件中。 专门在两个不同的组件与同类型参数的泛型是相同的类型。专门在两个不同的组件与同类型参数的模板被认为是由运行
2017-03-31 11:43:42 3729 2
转载 c++关键字之:volatile
volatile 是“易变的”、“不稳定”的意思。volatile是 c++ 的一个关键字,用来解决在“共享”环境下容易出现的读取错误的问题。在单任务的环境中,一个函数体内部,如果在两次读取变量的值之间的语句没有对变量的值进行修改,那么编译器就会设法对可执行代码进行优化。由于访问寄存器的速度要快过RAM(从RAM中读取变量的值到寄存器),以后只要变量的值没有改变,就一直从寄存器中读取变量的值,而不对RAM进行访问。
2017-03-30 19:19:09 790
转载 C++ STL 详细总结
从逻辑层次来看,在STL中体现了泛型化程序设计的思想(generic programming),引入了诸多新的名词,比如像需求(requirements),概念(concept),模型(model),容器(container),算法(algorithmn),迭代子(iterator)等。与OOP(object-oriented programming)中的多态(polymorphism)一样,泛型也是一种软件的复用技术;从实现层次看,整个STL是以一种类型参数化(type parameterized)的方式
2017-03-30 17:01:30 771
转载 用1 x 2的多米诺骨牌填满M x N的矩形有多少种方案,M<=5,N<2^31,输出答案mod p的结果
我们以M=3为例进行讲解。假设我们把这个矩形横着放在电脑屏幕上,从右往左一列一列地进行填充。其中前n-2列已经填满了,第n-1列参差不齐。现在我们要做的事情是把第n-1列也填满,将状态转移到第n列上去。由于第n-1列的状态不一样(有8种不同的状态),因此我们需要分情况进行讨论。
2017-03-29 18:40:47 8044 2
原创 计算机图形学(四)几何变换_4_二维复合变换(上)
利用矩阵表达式,可以通过计算单个变换的矩阵乘积,将任意的变换序列组成复合变换矩阵(compsite transformation matrix)。形成变换矩阵的乘积经常称为矩阵的合并(concatenation)或复合(compsistion)。由于一个坐标位置用齐次列矩阵表示,我们必须用表达任一变换次序的矩阵前乘该列矩阵。由于场景中许多位置用相同的顺序变换,先将所有变换矩阵相乘形成一个复合矩阵将是高效率的方法。因此,如果我们要对点位置P经行两次变换,变换后的位置将用下式计算。只有相对于坐标原点缩放的缩放
2017-03-29 18:06:39 6109 2
原创 计算机图形学(四)几何变换_3_矩阵逆变换
旋转角的负值生成顺时针方向的旋转,因而当任何旋转矩阵和其逆旋转矩阵相乘时生成单位矩阵。由于旋转角符号的变化仅影响sin函数,因此该逆矩阵可以通过交换行和列来获得。即我们可以做任何旋转矩阵R的转置矩阵来得到它的逆矩阵(R-1= RT)。 将缩放系数用其倒数取代就得到了缩放变换的逆矩阵。对以坐标系原点为中心,缩放参数为Sx和Sy的二维缩放,其逆变换矩阵为
2017-03-28 18:14:33 6395
原创 计算机图形学(四)几何变换_2_矩阵表示_2_二维矩阵
图形软件中的一种替代方法是在旋转子程序中为基准坐标提供另外的参数。然后,包含基准点参数的旋转子程序建立一个不需要引入一系列变换函数的通用旋转矩阵。 缩放操作S(sx,sy)是方程中以sx和sy参数为3*3矩阵。多数情况下,我们可以缩放矩阵表示成S。有些软件包尽可能有些软件包仅提供如方程所示的以坐标系原点为中心的缩放函数。在这种情况下,以另一参考点为中心的缩放变换通过一系列变换操作来处理。然而,有些系统也包括通用的缩放子程序,可以指定点为中心的缩放构造齐次函数。
2017-03-27 20:43:57 3984
原创 计算机图形学(四)几何变换_2_矩阵表示_1_矩阵表示和齐次坐标
如果将2x2矩阵表达式扩充为3x3矩阵,就可以把二维几何变换的乘法和平移项组合成单一矩阵表示。这时将变换矩阵的第三列用于平移项,而所有的变换公式可表达为矩阵乘法。但为了这样操作,必须解释二维坐标位置到三元向量的矩阵表示。标准的实现技术是将二维坐标位置表示(x,y)扩充到三维表示(xh,yh, h),称为齐次坐标(homogeneous coordinate),这里的齐次参数(homogeneous parameter)h是一个非零值
2017-03-14 19:19:10 5162
原创 C#中关于String类型的常用方法
Equals(string value)返回一个BOOL型,比较是否相等,和"=="类似Compareto(string value)判断大小,大返回1 小返回-1 相等返回0IndexOf(string value)在当前字符串里找到这个字符,从第一个开始找,找到就返回第一次找到所在的索引,如果找不到返回-1例: 1123 如果找1的话 返回0
2017-03-13 19:19:16 3039
原创 计算机图形学(四)_几何变换_1_基本的二维几何变换(三)_缩放
改变一个对象的大小,可使用缩放(scaling)变换。一个简单的二维缩放操作可通过将缩放系数(scaling factor)Sx 和 Sy与对象坐标位置(x, y)相乘而得: 在缩放公式中包含固定点的坐标,类似于在旋转公式中包含基准点的坐标。我们可以建立一个其元素为方程(5.14)中常数项的列向量,然后将这个列向量加到等式(5.12)中的乘积S*P上。下一节将讨论仅包含矩阵乘法的变换方程的矩阵形式。 多边形的缩放可以通过将变换方程(5.14)应用于每个顶点,然后利用变换后的顶点重
2017-03-09 18:34:41 9478
原创 计算机图形学(四)_几何变换_1_基本的二维几何变换(二)_旋转
类似于平移,旋转是一种不变形地移动对象的刚体变换,对象上的所有点旋转相同的角度。线段的旋转可以通过将旋转方程5用于每个线段端点,并重新绘制新端点间的线段而得到。多边形的旋转则是将每个顶点旋转指定的旋转角,并使用新的顶点来生成多边形而实现旋转。曲线的旋转通过定位定义的点并重新绘制曲线而完成。例如圆或椭圆,可以通过将中心位置沿指定旋转角对着的弧移动而绕非中心轴旋转。椭圆可通过旋转其长轴和短轴来实现绕其中心位置的旋转。
2017-03-03 16:46:41 8505
原创 计算机图形学(四)_几何变换_1_基本的二维几何变换(一)
几何变换有时也称为建模变换(modeling transformation ),但有些图形系统将两者区分开来。建模变换一般用于构造场景或给出由多个部分组合而成的复杂对象的层次式描述等。例如,一架飞机由机翼、机尾、机身、发动机和其他部分组成,每一部分又可描述成第二级组合体,如此等等,在层次结构中逐层往下描述。因此,该飞机可用那些部件及附属于每个部件的“建模”变换来描述,这些变换指出那些部件如何适用于整个飞机的设计。另一方面,几何变换能用来描述动画序列中对象在场景中可以怎样移动或简单地从另一角度来观察它们。因此
2017-03-02 19:26:50 3471
原创 计算机图形学(三)_图元的属性_章节总结(下)
glutInitDisplayMode 选择颜色模式,GLUT_RGB或GLUT_INDEXglColor* 指定一个RGB或RGBA颜色glIndex* 用颜色表索引指定一个颜色glutSetColor(index, r, g, b); 将一个颜色装入一个颜色表位置glEnable(GL_BLEND); 激活颜色调和glBlendFunc(sFact, dFact); 指定颜色调和因子glEnableClientState 激活OpenGL颜色数组设施(GL_COLOR_ARRAY); g
2017-03-01 16:00:10 920 1
第一人称射击游戏(Unity)
2015-09-17
Unity_模仿击打铝罐代码
2015-09-17
图片控件ImageView
2014-12-08
羽哥Time And DatePicker
2014-12-08
RadioButtonAndCheckboxDemo
2014-12-08
universal-image-loader-1.8.6-with-sources.jar
2014-12-05
android-support-v4.jar
2014-12-05
羽哥位移的血轮眼
2014-12-05
羽哥android动画-旋转+透明的血轮眼
2014-12-05
羽哥TabHostDemo
2014-12-02
羽哥RatingBarDemo
2014-12-01
羽哥SeekBarDemo
2014-12-01
羽哥SpinnerDemo
2014-12-01
微信飞机大战
2014-07-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人