摘要: 1.三维向量的插值如果两个三维向量a,b不共面,最正规的做法是,将a,b确定的两个三角面在三个轴面上投影,确定出投影面积最大的是在哪个轴面,然后将向量a,b投影到该轴面上,进行插值;插值完了之后再反推到三维空间,会有两个点,取一个合适的值,最终确定插值出的三维点;方向,直接使用线性插值就OK 阅读全文
posted @ 2015-02-26 11:22 海盗剑客 阅读(105) 评论(0) 推荐(0)
摘要: 整数越界的问题//---------------------------------------------------------------int fun();float fResult = fun() * fun();//----------------------------------------------------------------这样写还是可能越界fun()*fun()的结果类型依然是int,只不过在赋值时,强转成float//---------------------------------------------------------------int fun() 阅读全文
posted @ 2013-08-27 13:32 海盗剑客 阅读(119) 评论(0) 推荐(0)
摘要: 1.原子操作不能分离比如一个控件的创建和选中,他们不管在什么情况下,有创建控件必然会选中该控件,所以这两个操作一定是在一起的,不能分开2.对于多个指针副本的处理程序中new出来的对象,他的指针可能存在多个副本pa,pb,pc,这样就会出现一个问题:delete pa;后,pb,pc都将变得无效,此时再使用时,会导致程序崩溃。解决方法如下:将指针和GUID绑定起来,通过指针可以查到GUID,通过GUID也可以查到指针。删除指针,同时会删除对应的GUID。凡是需要保存指针或者传递指针的地方,都用GUID来代替,使用时通过GUID来查询对应的指针。如果没有查询到,就返回NULL,这样就很容易判断出指 阅读全文
posted @ 2013-08-01 10:04 海盗剑客 阅读(194) 评论(0) 推荐(0)
摘要: void TestStaticFunc(){ std::cout << "TestStaticFunc" << std::endl;}typedef void (*Method)();int _tmain(int argc, _TCHAR* argv[]){ // 如下的形式都是可以的 (*TestStaticFunc)(); TestStaticFunc(); Method pMethod1 = TestStaticFunc; (*pMethod1)(); pMethod1(); Method pMethod2 = &TestStaticF 阅读全文
posted @ 2013-01-31 15:11 海盗剑客 阅读(107) 评论(0) 推荐(0)