自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(130)
  • 资源 (10)
  • 收藏
  • 关注

原创 3 OSG创建渲染线程的过程

OSG创建渲染线程的过程 图形渲染线程是静态函数,为:static unsignedint __stdcall StartThread(void *data)它是在int Thread::start()中被调用:int Thread::start(){pd->tid.set( (void*)_beginthreadex(NULL,pd->stackSize,Th

2013-04-29 23:38:40 14075

转载 rapid使用手册

1.0 INTRODUCTIONRAPID is a "Robust and Accurate Polygon Interference Detection"package.  It is a programmer's tool, as opposed to a product forend-users.  RAPID's API is intentionally narrow and

2013-04-14 16:23:23 13570

原创 Node与NodeVisitor

osg::ref_ptr model;NodeVisitor vv( TRAVERSE_ALL_CHILDREN);   model->accept( vv);假设model的模型结构如图:则model->accept( vv);多态,相当于调用Group::accept(NodeVisitor)。注意,我开始误认为Group没有对accept()进行重写,但后来在遍历

2013-04-07 22:47:02 15957 1

原创 B继承自A,A指针无法隐式转换为B指针,函数参数只管指针类型,与实际指向对象无关

#include #include  using namespace std; class A{}; class B: public A{}; void F( B& b){    cout"F( B& b)"}void F( A& a){    cout"F( A& a)"<< endl;  } int

2013-04-07 22:19:33 10268

转载 二叉排序树的查找

二叉排序树的查找,如找不到某个值,则记录其父结点:Node* Search( Node* root, int key, Node* &prnt){  Node* p= root;  while ( p != NULL)  {    if ( p->data == key)    {      return p;    }    prnt= p;//记录其父结

2013-04-03 19:58:14 9068

原创 C/C++网站

数据结构与算法 面向对象的C++设计模式 源代码  http://www.brpreiss.com/books/opus4/

2013-03-20 09:29:42 8520

原创 程序员

转别人转的一句话:编程者总是很留恋编程时那种“一切尽在我掌握”的美好感觉和“计算机决不出尔反尔”的高尚情操。

2012-12-24 10:37:23 9776

原创 B继承自A,A指针无法隐式转换为B指针,函数参数只管指针类型,与实际指向对象无关

#include#include usingnamespace std; class A{}; class B:public A{}; void F( B& b){    cout"F( B& b)"}void F( A& a){    c

2012-12-09 21:16:31 12412

原创 图形学 知识

《DirectX 10 3D游戏编程深度探索》有IK的详解和源代码。

2012-11-23 18:24:44 12174 1

转载 类的sizeof大小

#pragma pack(n) 字节对齐用法详解对 齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。其他平台可能没有这种情况,但 是最常见的是如果不按照适合其平台要求对数据存放进行对齐,会在存取效率上带来损失。比如有些平台每次读都是从偶地址开始,如果一个int型(假设为32 位系统)如果存放在偶地址开始的地方,那么一个读周期就

2012-11-07 17:01:00 13138

原创 复杂指针定义

int (*(*F(int,int)))(int)是什么类型?首先,int(*M)(int),其中M为函数指针,则(*F)(int,int)=M,用N代替*F,F为指向N的指针,则N(int,int)=M,这表示N是一个函数,参数为2个int,其返回值为函数指针M。故F为函数指针,该函数指针所指向的函数的参数为2个int,返回值为函数指针。另:int a;int F();可以想

2012-11-07 15:13:42 12525

转载 《程序员面试宝典》错误题:拷贝构造函数 浅拷贝、深拷贝

#include using namespace std; class CDemo{ public: CDemo():str(NULL){} ~CDemo(){if(str) delete [] str;} char *str; }; int main() { CDemo d1; d1.str = new char[32]; strcpy(d1.s

2012-11-07 11:59:52 14165

原创 多态时最好将基类的析构函数设为virtual

多态时最好将基类的析构函数设为virtual,这样在析构时会先调用子类的析构函数,再调用基类的析构函数,否则如果delete的是基类的指针,则只调用基类的析构函数.示例如下:#include   class Base    {    public:    Base() { mPtr = new int; }   virtual ~Base() { delete

2012-11-04 20:01:10 14314

转载 虚函数、普通成员函数访问类的数据成员

虚函数、普通成员函数访问类的数据成员:class A { protected:     int m_data; public:     A(int data = 0){ m_data = data;   }     int GetData(){ return doGetData();}     virtual   int   doGetData(){  return

2012-11-04 19:44:54 16012

转载 VS2005快捷键(新)

vs2005快捷键使用,提高操作速度2008-06-02 03:46 P.M.代码快捷键重点:快捷键可以修改的:1,打开菜单Tools –> Options对话框,选择Environment –> Keyboard 2,在Show commands containing中键入命令的名称,或者从列表框中选择命令 3,在Press shortcut key(s) 编辑框中键入快捷键

2012-10-19 13:17:53 14660

转载 C++类的内存对齐

内存对齐。对下面的类:       class       B{              public:int m_a;                     short int m_b;                     double m_c        private:                     int m_d;

2012-10-09 10:22:54 16057

转载 八叉树 判断长立方体是否在物体内???????

八叉树判断子长方体的8个点是否在物体内,可判断这8个点是不是在整个物体所有面的内侧。 注:(1)但如果物体不是凸壳呢,而是凹体呢???可能某个点在一个面外,但它仍在物体内。??????????(2)每个子长方体里的Object* oo;对象都是该物体的完整模型,该物体的面片并不会被分解。 参考源代码如下:(octtree.h、octtree.cpp、main.cpp)

2012-09-19 11:05:59 15354

原创 3D网址

3D碰撞检测 http://gamma.cs.unc.edu/research/collision/packages.html#cullide 国外好的图形学网站???????? 几何、三维问题http://www.cs.sunysb.edu/~algorith/ 官网:http://developer.nvidia.com/node/76http://msdn.mic

2012-08-17 20:44:26 11870

原创 求交后高亮显示某个Drawable

求交后高亮显示某个Drawable:if (picker->containsIntersections())           {              osg::Vec3 ptWorldIntersectPointFirst= picker->getFirstIntersection().getWorldIntersectPoint();              cout

2012-08-17 20:37:42 15603

原创 知识网址

知网http://epub.cnki.net/grid2008/index/ZKCALD.htm万方http://g.wanfangdata.com.cn/

2012-08-12 20:41:40 10355

原创 Trackball详解????

问题:后面的TrackballManipulator::tb_project_to_sphere()????? void TrackballManipulator::computePosition(const osg::Vec3& eye,const osg::Vec3& center,const osg::Vec3& up){    osg::Vec3 lv(center-eye

2012-07-31 19:39:38 9616

原创 OSG鼠标选择求交

OSG鼠标选择求交////求交方法一:(用WINDOW坐标值,在相机下求交)           //osg::ref_ptr picker = new osgUtil::LineSegmentIntersector(           //  osgUtil::Intersector::WINDOW, ea.getX(), ea.getY());           //osg

2012-07-31 14:25:51 14172 1

原创 OSG中获取视点的世界坐标

OSG中获取视点的世界坐标:(1)osg::Vec3 vPosEye, vCenter, vUp;     cameraMaster->getViewMatrixAsLookAt( vPosEye, vCenter, vUp);//获取世界坐标系下的视点值(2)//主相机           osg::ref_ptr cameraMaster = viewer->getCamera

2012-07-31 13:54:36 11842 1

原创 鼠标单击点在世界坐标系中的射线 计算原理

鼠标单击点在世界坐标系中的射线 计算原理参考osgManipulator/Dragger.cpp:求鼠标单击射线在世界坐标系中Znear、Zfar的交点:bool PointerInfo::projectWindowXYIntoObject(const osg::Vec2d& windowCoord, osg::Vec3d& nearPoint, osg::Vec3d& farPoin

2012-07-28 19:47:26 8564 2

原创 OSG中的HUD实时显示视点坐标

/*OSG中的HUD实时显示视点坐标*/#include #include #include #include #include #include #include  #include  #pragma comment( lib, "osgd.lib"); //.在Debug版本下的库名都加d,如"o

2012-05-13 21:08:34 9522 1

原创 OSG的HUD抬头文字显示

1.       HUD流程图:完整源代码如下:/*OSG中的HUD,文字总是显示在最前面*/#include #include #include #include #include #include  #pragma comment( lib, "osgd.lib"); //.在Debug版本下的库名都加

2012-05-13 20:50:53 7796

原创 OSG坐标系解释????????

对于下面的代码(选自《OSG海军教程》第十课第一节 使用自定义矩阵来放置相机,但数据有更改):tankXform->setPosition( osg::Vec3(0,60,8) );// 相机位于坦克后方 60个单元,上方 7个单元。T.makeTranslate(0, 0,15 );//沿Z平移+15A= R * T;//设R是绕Y轴旋转+20度的矩阵C= osg::Matr

2012-05-13 11:23:38 9394

原创 OSG显示图片的几种方法???????????????????????

方法一:没有几何体,直接显示图片(见王锐、钱学雷的《OSG三维渲染引擎设计与实践》P119 在场景中绘制位图):osfg::ref_ptr bmp= new osg::DrawPixels;bmp->setPosition( osg::Vec3( 0.0, 0.0, 0.0));bmp->setImage( osgDB::readImageFile("***.png"));osg:

2012-05-08 13:24:31 10399 2

原创 OSG源代码部分剖析(待续)?????????????????????????????

class DrawableDrawCallback : public osg::Drawable::DrawCallback{       virtualvoiddrawImplementation(osg::RenderInfo& renderInfo,const osg::Drawable* drawable)const       {           std::

2012-05-08 13:10:16 5340

原创 雷锋

雷锋照片   http://blog.sina.com.cn/s/blog_4851fade0102dy7d.html

2012-03-10 08:51:35 657

原创 凸包问题扩展 巨人和鬼 分治+递归

巨人和鬼一组n个巨人正与n个鬼进行战斗,每个巨人的武器是一个质子炮, 它可以把一串质子流射中鬼而把鬼消灭。质子流沿直线行进,在击中鬼时就终止。巨人决定采取下述策略。他们寻找鬼配对,以形成n个巨人─鬼对,。然后每个巨人同时向他选取的鬼射出一串质子流。我们知道,让质子流互相交叉是很危险的。因此巨人选择的配对方式应该使质子流都不会交叉。假定每个巨人和每个鬼的位置都是平面上的一个固定点,并且没有三个位

2012-03-01 11:13:30 5027 2

原创 OSG中嵌入一个opengl代码(且opengl图形能动态更新)

OSG中嵌入一个opengl代码(且opengl图形能动态更新)(1)继承osg::Drawable::DrawCallback,在drawImplementation(osg::RenderInfo& renderInfo,const osg::Drawable* drawable)函数里添加opengl代码。(2)Drawable设置绘制回调函数,并注意要把显示列表设置为false

2012-02-23 15:22:05 3899 2

转载 三维凸包

三维凸包 3D Convex HullProblem DescriptionThere are N points in 3D-space which make up a 3D-Convex hull*. How many faces does the 3D-convexhull have? It is guaranteed that all the points are not in

2012-02-17 20:26:07 9935

转载 钱学森最后一次谈话:中国大学缺乏创新精神

钱学森最后一次谈话:中国大学缺乏创新精神钱老去世以后,许多人问我们:钱老有什么遗言?并希望我们这些身边工作人员写一篇“钱学森在最后的日子”的文稿。我们已告诉大家,钱老去世时很平静安详,他没有什么最后的遗言。因为在钱老去世前的一段日子,他说话已经很困难了。我们可以向大家提供的,是钱老最后一次向我们作的系统谈话的一份整理稿:钱老谈科技创新人才的培养问题。那是于2005年3月29日下午在301医院谈

2012-02-16 16:10:03 1324

转载 凸包2:分治法解决凸包问题

以下截图代码摘自《ACM程序设计培训教程 吴昊 中国铁道出版社》 :上面代码中,resultList为全局变量,是最终凸包顶点集合,而leftList、rightList是局部变量。而且dealwith()函数中的insert(resultList,side,node)这个插入函数,是在边的起点和中点之间插入。例如上图15-9中,在边p1、pn之间插入pmax,下次在p1、pmax之间

2012-02-16 11:16:40 7083

原创 凸包问题 —— Graham扫描法

凸包问题 —— Graham扫描法:(1)找出点集p[]中最左下的点p1,把p1同点集中其他各点用线段连接,并计算这些线段与水平线的夹角,然后按夹角从小到大和按到p1的距离从近到远排序(夹角范围为 [0, 180)度,而且可以删除相同夹角且距离p1较近的点,保留最远点,这样可减少计算量。因为直线上的非端点不是凸包的极点,即如果p1,p2,p3在一条直线上,则只取凸点p1,p3。p2不在端点,故

2012-02-14 21:00:01 32471 3

转载 《编程之美》两链表相交及扩展详解

《编程之美》两链表相交及扩展详解:给定一个单链表,只给出头指针h:1、如何判断是否存在环?2、如何知道环的长度?3、如何找出环的连接点在哪里?4、带环链表的长度是多少? 解法:1、对于问题1,使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出。2、对于问题2,记录下问题1的

2012-02-11 19:36:32 2015 1

转载 列宁登山

我们每日每时都必须注意培养自己的意志,任何时候,任何地方……    ——列宁H·霍德扎  吴江列宁被沙皇迫害而流亡国外时,曾经在波罗宁村住过。  列宁登山    列宁很喜欢这个小小的村庄。它的周围群山环绕,山峰高耸入云。    一天,列宁决定去登山。一个叫巴戈茨基的波兰革命者得知了这件事,就跑来找列宁,要求当向导。他兴致勃勃地给列宁描述起这一带的风光:“这附近有那么一座山峰,从

2012-02-07 20:46:57 2095

原创 OSG绘制的部分流程(待修改完善)????????????

主相机,从相机:void Viewer::updateTraversal(){//主相机if (_camera.valid() && _camera->getUpdateCallback()) _camera->accept(*_updateVisitor); //从相机for(unsigned int i=0; i{  osg::Camera* camera = ge

2012-01-17 08:54:05 2477

原创 肖鹏的CSouth漫游器 详解

肖鹏的CSouth漫游器 详解:下图是初始的Opengl坐标系,及相机右转,并往前走时的分析:上图中,当按下右箭头时,相机向右转,此时vRotation[2]由0变为-10,即上图的下半部分绕Z轴旋转了-10度,vRotation[2]=-10,图中角度A=90-10=90+ vRotation[2],此时ES=m_fMoveSpeed,M为S在X 轴上的投影点,SM=ES*Sin(A

2012-01-17 08:38:42 4599 1

数据结构与算法 面向对象的C++设计模式 源代码

数据结构与算法 面向对象的C++设计模式 源代码 可供参考 非常好

2013-03-20

Jacobi__矩阵特征值和特征向量(详细,有例子)

Jacobi__矩阵特征值和特征向量(详细,有例子)

2012-11-21

3D常用算法

3D常用算法 A*算法 BSP 八叉树等 讲解很详细,值得学习.

2012-09-18

计算几何——算法分析与设计 周培德

计算几何——算法分析与设计 周培德 非常经典

2012-08-20

肖鹏的CSouth漫游器 详解+源代码

肖鹏的CSouth漫游器 详解+源代码 详细、清晰

2012-01-17

投影矩阵、视口矩阵推导过程

投影矩阵、视口矩阵推导过程

2012-01-07

MFC系统键屏蔽(钩子)

MFC系统键屏蔽(用钩子做的,能屏蔽系统徽标键,CTRL+TAB,CTRL+ALT+DELETE及任务栏)

2010-07-24

MFC 位图 按钮 多种方法

位图按钮(新建类,拖按钮控件),以及位图按钮(新建类,纯代码控制),用CButton来显示位图

2010-07-23

VC截图 简单易行 注释详细

一个屏幕截图软件,用VC编写.希望大家下载,如有问题,望指正

2010-05-02

逆转单向链表(有7种方法)

单链表的7个转换函数,大家可以试一下.有什么问题的话跟我联系一下.

2008-08-28

空空如也

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

TA关注的人

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