自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

转载 无损压缩算法发展

History of Lossless Data Compression AlgorithmsIntroductionThere are two major categories of compression algorithms: lossy and lossless. Lossy compression algorithms involve the redu

2016-12-01 15:50:24 1941

转载 汉语是世界上唯一一种面向对象的高级语言

作者:锄禾声明:除了汉语之外,我只会一点英语和日语。因此说是“唯一”略显夸张,有吸引眼球的嫌疑,请大家原谅。严谨地说,标题应该是“汉语是一种面向对象的高级语言”。在网上看到过很多有关汉语和英语比较的文章,他们写的都很不错,并且列举了大量的事例来证明汉语或者英语是优秀的。不过,我想用计算机软件设计的观点,来 理性地分析汉语和英语的优缺点。经过分析,我可以断言:汉语是世界上唯一一种

2015-07-27 17:24:56 1373

转载 如何更改win7下文件的打开方式

 一位朋友紧急求助:系统是windows7,这位朋友因为桌面没有OFFICE图标,又急着要用WORD,就把一个桌面图标右击,选择打开方式中选择了word,而且没有把“始终使用这种程序打开同类型文件”前的勾去掉。这一改之后,结果所有的快捷方式全变成了word文档了。可以再改成别的,比如再改为记事本方式打开,但就是没有办法恢复原状。   www.2cto.com  

2014-06-17 10:52:42 715

转载 赶时髦过了一遍Swift 语言....

Swift 语言      2014年6月3日发布,替代OBJECT-C      Swiftis a new programming languagefor creating iOS and OS X apps. Swift buildson the best of C and Objective-C, without the constraints of C c

2014-06-15 20:32:10 519

转载 用 System.Xml 读写XML 整理文档

用 System.Xml 读写XML 整理文档example        http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">                                         

2014-06-15 20:28:47 517

转载 左右手坐标系转换

原文: http://www.cnblogs.com/gin_dl/archive/2012/12/16/2820659.html和某同学讨论起这个 说服不了 就写了个简单的推导 顺手贴上来 长草好久好久好久了假定Sz是一个缩放矩阵,能把z取反,也就是Sz =  1  0  0   0  1  0     0  0 -1P = (x,y,z),P' =

2014-03-19 10:50:33 1268

转载 “有效近似”——物理学的几大领域

给大家介绍介绍物理学的几个领域先来一张图,看图说话OK,上图就是物理学目前的四个“基本理论”所统治的领域。所谓基本理论是指一个普遍的力学系统,即用一个数学模型描述物质和时间空间以及他们之间的关系。1. 左下的是“宏观低速”的区域,在这个区域是经典力学的领域。即最早的牛顿力学以及其后续发展的拉格朗日力学,哈密顿力学等。这里基本的数学模型是:空间是最简单的欧几里

2013-07-31 19:35:40 1606

转载 贝叶斯推断及其互联网应用

网上看到一篇非常好的文章,转过来保存~ http://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_one.html作者:阮一峰一、什么是贝叶斯推断贝叶斯推断(Bayesian inference)是一种统计学方法,用来估计统计量的某种性质。它是贝叶斯定理(Bayes' theorem)的应用。英国数学家

2013-03-04 17:12:21 498

翻译 压缩四元数

遇到一个需要减少旋转储存空间的问题,首先想到从3x3矩阵可以用四元数代替,一下省掉5个float,那么四元数还能压缩么,当然可以。 首先保证四元数是经过标准化的。那么这个四元数就会满足: x2 + y2 + z2 + w2 = 1那么我们要做的就是把w压缩到xyz里。上面公式经过换算得到: w = sqrt( (x/w)2 + (y/w)2 + (z/w)2 + 1

2013-02-20 11:06:49 1211

转载 SetUnhandledExceptionFilter拦不住的崩溃

前段程序测试中使用了SetUnhandledExceptionFilter,发现很多崩溃并没有拦截到,还是弹出关闭窗口,网上找了找,发现问题在于MS在c++缓存溢出检查中重置了这个函数,原因很简单,避免黑客利用这个常见错误黑电脑,不过也带来很多不便,这篇文章告诉我们如何避开这个问题SetUnhandledExceptionFilter and VC原文:http://blog.kalmba

2013-01-06 11:18:51 12440 2

转载 很有逻辑性的文章

前年半夜十一点多,我的豆浆机接到一个电话 。对方很狂躁地对我大叫:我们这儿是中国邮 政,你男朋友难产,赶紧过来一趟准备后事吧 。 我放下豆浆机,赶紧拿起一碗罐头开始吃 。吃到一半放下碗跑到楼下,一列火车远远驶 来,我一招手,火车驶到我面前停下,驾驶员 推门问:到哪?我说,中国邮政。你火车太慢 。我要打车。 驾驶员大惊失色,一踩油门。火车在水泥 路上火星四溅地拉着两道沟脱轨狂飙而去。 我一看鞋底,一

2012-10-22 10:15:28 1527

转载 压缩tangent frame

压缩tangent frame转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2038(对tangent frame的压缩,其实在2008年做All-frequency rendering of dynamic, spatially-varying reflectance这篇paper的过程中,就曾在茶余饭后讨论过这个事情。这其实

2012-10-08 09:50:44 568

转载 为什么要去火星

1970年,赞比亚修女 Mary Jucunda 给 Ernst Stuhlinger 博士写了一封信,他因在火星之旅工程中的原创性研究,成为 NASA(美国航空航天局)Marshall 太空航行中心的科学副总监。信中,Mary Jucunda 修女问道:目前地球上还有这么多小孩子吃不上饭,他怎么能舍得为远在火星的项目花费数十亿美元。Stuhlinger 很快给Jucunda 修女回了信,

2012-08-16 15:42:07 4031

转载 Re:关于变换矩阵的行列性

来自gameres.com论坛wjk98550328发表Re:关于变换矩阵的行列性行列都没所谓的,只要你应用层知道每行是什么意义,每列是什么意义,如果矩阵是行有意义,那就Matrix×Vector,vector理解为列向量,如果是列有意义的矩阵,那就Vector×Matrix,那个被变换的矩阵理解为行向量。仅此而已,在数学上不是还有矩阵转置,行列在数学上不就是一堆数据么,没

2011-10-25 12:52:45 2084

原创 为自己的程序添加接受文件管理器拖放文件支持

<br />公司一个项目的一个小要求,希望程序可以直接接受文件管理器的拖放,是一个使程序更加便利的功能,不过这中间涉及ole的知识,平时不接触的人还真是很难搞懂。<br />在网上查了很多资料,就发现2篇文章很有用<br /> <br />文件拖动Drag &amp; Drop 全解析<br />http://blog.csdn.net/sendy888/archive/2007/08/17/1747899.aspx<br /> <br /> <br />OLE Drap/Drop<br />htt

2010-07-08 11:49:00 795

原创 vfptr的困扰:保存c++类遇到的问题

今天遇到一个问题,在保存physx的NxShapeDesc时正常,但是load后,出现异常。 //保存时正常save( &ShapeDesc, sizeof(NxShapeDesc) ) //读取时,vfptr被覆盖,再传递给NxScene创建actor后就会出错load( &ShapeDesc, sizeof(NxShapeDesc) ) 原来是NxShapeDe

2010-04-21 00:06:00 1335

原创 一个使用c++在lua中创建自定义数据类型的简易方法

lua是一个内嵌式的语言,很多初学者对于lua中使用c++类中的函数,或者用c++直接创建一个自己的自定义数据类型比较头疼,因为这部分确实比较乱,牵扯到内存释放分配等问题,但是如果把其中关系理清,还是很简单的,下面这段代码是一个老外写的,我做了一些修改。首先看代码。 #ifndef LUNA_H#define LUNA_H 1/***********************

2010-04-15 20:12:00 4217

原创 physx中的inertia tensors(惯性张量)

最近编写编辑器的时候遇到一个问题,在创建一个nxactor后,这个actor的弹性很奇怪,在平坦的地面弹起来会胡乱的旋转。 在和正常actor比较后,发现,是弹性张量出的问题,犹豫程序的bug,导致弹性张量出现无效值。 在查阅了physx文档,发现这个弹性张量只能通过程序计算physx提供了一系列函数 NxCompute.....MassNxCompute.....

2010-03-16 11:44:00 3624 1

原创 physx学习手记,NxUserContactReport,NxUserTriggerReport,NxUserContactModify

这三个类是physx里常用的3个回调函数NxUserContactReport:报告物体碰撞时的数据,用户可以在这里得到碰撞的具体信息NxUserTriggerReport:是触发器,物体穿过、进入、离开触发器都会调用NxUserContactModify:是physx提供的一个强大的在碰撞瞬间的修改机会,但是消耗量巨大,sdk中说推荐只有在极为重要的地方使用它,比如主角,另外如果使用

2010-02-10 13:50:00 1972

翻译 lua c函数的堆栈变化标记

lua文档中每一个函数都有一个堆栈变化标记类似[-o,+p,x] 第一部分o代表有多少元素出栈,第二部分p代表有多少元素入栈(有些函数总是出栈它的参数,入栈它的结果)这部分在一些情况下,有可能是 x|y 形式出现,代表有x或y个元素入栈(出栈), ?标记的意思不能知道有多少个元素出、入栈。 第三部分 x说明函数是否可以抛出错误:-代表函数从不抛出错误。m代表函数只有not en

2009-07-16 16:10:00 681

原创 physx学习手记

 physx放下了一段时间,最近重新拣起,很多东西都忘记,重新复习一下。1,创建基本物理对象physx的碰撞对象是actor,每个actor都可以包含任意多个基本物理模型(shape)。shape有很多种,cube,sphere,capsule,plane,heightfield。创建一个actor需要3个对象的信息才能创建,body描述,shape描述,actor描述。body描

2009-02-26 23:04:00 1739

原创 实现一个类似3dmax那样的鼠标移动物体操作

 说起来很简单,但是当第一次想的时候,感觉还是挺有难度的。 首先得到当前物体需要朝向哪个方向移动,比如用户选中了x轴,说明物体需要沿着物体自己的x轴方向运动。 然后将这个x轴方向转换到摄像机空间,然后让z=0得到一个前截平面上的投影。 将这个投影和鼠标移动的xy组成的向量进行点积,得到这个值就是我们需要在x轴上移动的量,当然这个量很小,我们需要将他放大,系数随我们喜欢了

2009-01-24 10:18:00 2448 1

原创 在ogre中进行精细射线检测

 ogre有一个RaySceneQuery的类,在默认场景管理器下,这个类返回一组RaySceneQueryResultEntry,他们都是通过包围盒进行的检测,由于包围盒过于简陋,我们可以再进行更精细的基于面的射线碰撞检测。主要注意的就是mesh的构造方式,是否用了index,index是16位还是32位,其他的没什么了,射线到三角的检测函数取自dx例子,ogre自己也提供了,不过我感觉

2009-01-24 10:17:00 2515 1

原创 ogre 1.6和mfc 的debug new冲突问题的白痴解决方法。。

 由于ogre1.6实现了自己的debug new,跟mfc冲突,我尝试询问ogre官方是否有什么方法禁止ogre的debug new,但是得到的答复是不可以。貌似官方很鄙视mfc的内存漏洞检测机制。 不得已只能禁止mfc的了。 但是,很多人用了mfc的扩展库,比如我,修改很麻烦,如果只是删掉自己代码中的#defin new DEBUG_NEW,每次运行完后,都有大量的内存漏洞

2009-01-24 10:16:00 952

原创 不要用步进方式调试directinput。

 今天程序出了一个bug,以为是OIS的问题,结果调试了一天,才发现不是,另外知道了,directinput不能单步调试,很低级的错误……

2009-01-24 10:16:00 559

原创 研究Physx的一些进展(NX_BF_FROZEN 、NX_BF_KINEMATIC和静态物体)

 NX_BF_KINEMATIC 标志是NxBodyDesc.flags的一个标志。 KINEMATIC 是一种特殊的动态物体,他不会受到力的影响,比如重力,而且也不会移动,有了这个标记的物体,系统会认为它是一个密度无限大的物体,但是我们可以在程序中使用moveGlobal*()系列函数改变的姿态。 KINEMATIC 会将动态物体推出去,但是他不和其他静态物体以及KINEMA

2009-01-24 10:15:00 1185

原创 mfc菜单项运行时不见了

 最近,做场景管理器,大量使用了mfc来制作界面,又遇到了当初遇到的菜单在运行时不见了的问题。 经过调试,在运行时,这个菜单项是存在的,使用GetMenu函数是可以找到的,但是它就是不现实出来。 偶然间,发现CApp下有一个SetRegistryKey函数,这是一个用来保存应用程序状态的方法,比如窗口大小,最大化最近使用的文件之类的,mfc把这些保存在注册表。 于是我进

2009-01-24 10:15:00 1595 4

原创 ogre:在运行时,为entity添加骨骼文件,以及合并骨骼文件的方法

 添加:很简单,setSkeletonName即可。 但是,需要初始化一下:_initialise(true);refreshAvailableAnimationState(); //这个函数好像可以不用调用,具体还没时间仔细看,不过调用一下,也可以 >_  合并:skel1,skel2两个骨骼实例指针.Skeleton::BoneHandleMap b

2009-01-24 10:14:00 1278

原创 研究Physx的一些进展(错误)

 Physx的错误非常难找,因为它的sdk也带的是release版本,没有调试信息,而且出错也不报错,就告诉你内存访问错误,一大堆内存地址,这对高手或许有用,反正我是看不懂。 这两天因为一个错误搞了好久,终于找到了,原因在于我创建的一个capsule由于计算方法的原因,传入的半径为0,但是这个capsule创建居然成功了,郁闷的是,我为这歌capsule创建joint时失败了,提示一大

2009-01-24 10:13:00 754

原创 研究Physx的一些进展(character controller)

 character一般用于主角这类用户控制的物体,它不会受到scene的重力影响,不会被其他物体推。 程序中可以使用它的move方法移动它,当他碰到静态物体时,会停下来,遇到动态物体时会推开他,当然,这些都是可以通过activegroup来控制的。group最多有32组。因为他是一个NxU32,并通过每一位代表一个组。 move的一个参数用来告诉程序,character的当前

2009-01-24 10:12:00 1483

原创 研究physx的一些进展(NxTriangleMesh)

 physx有很多用户类需要自己写,很麻烦,比如NxStream,NxUserAllocator,不过他带的例子中有现成了,拿来用好了 :)physx的plane类型和character不能进行碰撞,这点非常奇怪,网上问了很多人,都不得要领,在他的官方论坛上问,也没有回应,好在他的NxtriangleMesh支持和character的碰撞。physx除了对固定形状的碰撞判定外,还支持任

2009-01-24 10:11:00 2434

转载 马屁股和火箭

 美国铁路两条铁轨之间的标准距离是4英尺8.5英寸,这是一个很奇怪的标准,究竟是从何而来的呢?原来这是英国的铁路标准,而美国的铁路原先是由英国人建的。那么为什么英国人用这个标准呢?原来英国的铁路是由建电车轨道的人所设计的,而这个正是电车所用的标准。电车的铁轨标准又是从哪里来的呢?原来最先造电车的人以前是造马车的,而他们是 沿用马车的轮宽标准。  好了,那么马车为什么要用这个一定的轮距标准呢?因

2009-01-24 10:10:00 929

原创 投影贴图

 投影贴图的原理是 投影坐标变换中,view矩阵将顶点变换为视点空间坐标,而project矩阵将这些顶点变换为-1,1区间内的点,此时可以通过将这些点坐标缩放到0.1之间,得到贴图坐标 在ps中,读取贴图必须用tex2DProj读取进行缩放的矩阵:0.5,0,0,00,0.5,0,00,0,0.5,00.5,0.5,0.5,1

2009-01-24 10:09:00 1206 1

原创 ogre与mfc结合

 将view类直接当作ExampleApplication来用,不继承另外实现一个自己的ExampleFrameListener 重点在于configure里面 mWindow = mRoot->initialise(false);这里要用false,不使用autowindow 然后unsigned int hWnd = (unsigned int)this->

2009-01-24 10:08:00 2142 1

转载 搞清楚VC++中的char,wchar_t,TCHAR

 大家一起做一个项目,经常发现有的人爱用strcpy等标准ANSI函数,有的人爱用_tXXXX函数,这个问题曾经搞的很混乱。为了统一,有必要把来龙去脉搞清楚。 为了搞清这些函数,就必须理请几种字符类型的写法。char就不用说了,先说一些wchar_t。wchar_t是Unicode字符的数据类型,它实际定义在里: typedef unsigned short wchar_t;不能使用类似s

2009-01-24 10:06:00 562

原创 将exe文件转化成lib,dll失败,只能使用折中办法

 关键字:导出 dll lib def c++类 __declspec(dllexport)因为exe中带有资源(窗口模板),所以修改成静态lib失败,虽然可以把资源文件独立出来,但是总觉得不是很爽,不伦不类的 而修改为dll的话,虽然资源文件的问题可以解决,但是由于exe中带有dxut得静态类,导致我在制作def文件时出现问题,exe中的某些类是继承来自dxut得,所以dxut也

2009-01-24 10:05:00 844

转载 预编译头

 许多初学 VC 的朋友也许都为那么一个问题困扰过:    为什么所有的 cpp 都必须 #include "stdafx.h"    也许请教了别的高手之后,他们会告诉你,这是预编译头,必须包含。可是,这到底是为什么呢?预编译头有什么用呢?    这得从头文件的编译原理讲起。其实头文件并不神秘,它的全部作用,就是把自己的所有内容直接“粘贴”到相应的 #include 语句处。如果

2009-01-24 10:05:00 562

原创 关于骨骼动画max数据导出到dx中一些问题总结

 max是z正方向为上,y正方向为视口方向,x相对视口向右dx(一般来说)y正方向为上,z正方向为视口方向,x相对视口向右 骨骼四元数转换x,y,z分别取反,w不变位移y,z互换

2009-01-24 10:04:00 464

转载 登月

 第一个登上月球的宇航员阿姆斯特朗说了举世闻名的一句话:“一个人的一小步,却是人类的一大步”。在他返回登陆舱时,他说了一句莫名其妙的话:“祝你好运,戈斯基先生。” 美国宇航局的大多数人都以为这句话没什么深意,可能是指某个苏联宇航员。可是查来查去,苏联或美国宇航局都没有这么一个人。之后每年都有很多人问阿姆斯特朗“祝你好运,戈斯基先生”这句话有什么含义,他都笑而不答...... 1995年7月5日

2009-01-24 10:03:00 459

原创 四元数,齐次坐标问题及相关回答

 我看了很多书,和文章,可是还是不知道,四元数到底有什么用 好像她的好处就是为了能比矩阵,在相乘的时候,运算次数少 另外,一个包含旋转信息的四元数如何与一个向量运算得到我希望的结果?好像dx没有提供这样的函数啊?难道需要转换为矩阵再计算吗? D3DXQUATERNIONSlerp函数是做球体上旋转线性插值的吧?他的最后一个参数如何使用? q=cos(a/2) + sin(a/2

2009-01-24 10:00:00 1182

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除