3D空间中的平面对称点

摘要: 我们的问题:给定空间中不共线的三个点,其中两个点P,Q用来确定一个平面,使这两个点关于平面镜面对称,求另个一个点R关于这个平面的镜面对称点。 方法很简单: 1)平面的确定: 平面方程是: A*n = d, (1) 其中A是平面上一个点,而n是平面的法向,d是参数。我们在有两个点P和Q,于是A=(P+Q)/2,n=Normalize(P-Q),其中Normali... 阅读全文
posted @ 2012-08-13 15:44 fire_fuxm_USTC 阅读(1433) 评论(0) 推荐(0) 编辑

一些在计算机图形学中经常使用的数据结构

摘要: BSP:试图将所有的板(在BSP中叫做平面)组织成一棵树,每个平面均将它所在的空间分割为前后两个部分,这两个部分又分别被另外的平面分割成更小的空间……直到最后,达到分割的要求。 http://school.ogdev.net/ArticleShow.asp?id=5935&categoryid=5 The process of constructing a BSP tree is fairly... 阅读全文
posted @ 2011-11-23 19:06 fire_fuxm_USTC 阅读(735) 评论(0) 推荐(0) 编辑

MLS 移动最小二乘

摘要: 1.拟合函数的建立不同。这种方法建立拟合函数不是采用传统的多项式或其他函数,而是通过系数向量和基函数来决定在某个x处的值。 2.引入紧支的概念,认为在x处的值y只受到x附近子域内的节点的影响。这个子域称作是x的影响区域,影响区域外的节点对x处的取值没有影响。影响区域内的每个节点对x处的取值的影响是不一样的。所以需要一个权函数来定义每个节点的影响。 从上述的阐述来看,如果取不同的基函数,不同的权... 阅读全文
posted @ 2011-11-20 19:14 fire_fuxm_USTC 阅读(5176) 评论(2) 推荐(1) 编辑

Eikonal方程

摘要: 今天写的内容是关于在level set方法中用到的Eikonal方程。具体讲解如何求解这个方程。 方程的定义:其中d(x)是指x到S的距离 简单介绍一下fast sweeping method。它采用了差分方法和轮换次序的Gauss-Seidel迭代来解决这个离散问题的。我们今天的描述在2D中进行。这种算法分为3步。 我们将需要求解的区域进行网格化,使用xi,j代表计算区域中的网格点,h... 阅读全文
posted @ 2011-10-31 11:42 fire_fuxm_USTC 阅读(3898) 评论(1) 推荐(0) 编辑

Marching Cubes

摘要: Marching Cubes算法是三维数据场等值面生成的经典算法,是体素单元内等值面抽取技术的代表。今天我将进行简单的介绍一下。(It is for extracting a polygonal mesh of an isosurface from a three-dimensional scalar field)。步骤:1.确定包含等值面的体素和相应的边。见上图,8个数据点分别位于该体素的8个... 阅读全文
posted @ 2011-10-29 00:30 fire_fuxm_USTC 阅读(4100) 评论(0) 推荐(0) 编辑

模板的模板参数

摘要: 1.让模板本身成为模板。 前面一篇文章中的例子,如果要使用一个和缺省值不同的内部容器,需要两次指定元素的类型。 stack<int, std::vector<int> > vstack;你可以借助模板的模板参数,只需要指定所含元素的类型,就可以声明这个模板类了:stack<int ,std::vector> vstack;为了获得这个特性,你需要将第二个模板参数指定为模板的模板参数:templ... 阅读全文
posted @ 2011-10-18 17:13 fire_fuxm_USTC 阅读(3319) 评论(0) 推荐(0) 编辑

类模板

摘要: 1.使用类模板的时候,你可以传入某个具体的类型作为模板实参,然后编译器根据该类型实例化类模板。 类模板的声明: template <typename T> calss stack { ...... }; T可以像其他类型一样在类模板内部使用。这个类的类型是:stack<T>,其中T为模板参数。 成员函数的实现: template <typename T>void stack<T... 阅读全文
posted @ 2011-10-18 12:43 fire_fuxm_USTC 阅读(393) 评论(0) 推荐(0) 编辑

模板函数

摘要: 1.模板函数为不同的模板实参定义了一个函数家族。它的表示看起来和普通的函数很相似,唯一的区别是有些函数元素是未确定的:这些参数将在使用的时候被参数化。 template <typename T>inline T const& max(T const& a,T const& b){ return a<b ? b : a; }上述例子中的参数类型没有确定,用模板参数T来代替。2.函数模板的实... 阅读全文
posted @ 2011-10-18 12:01 fire_fuxm_USTC 阅读(6018) 评论(0) 推荐(0) 编辑

个人源码管理,SVN本地化

摘要: 本文只是简单的介绍一下如进行个人本地的源码版本管理和控制,主要有以下的三篇文章可以进行阅读:http://blog.csdn.net/lu7kang/article/details/6245588http://blog.csdn.net/wqvbjhc/article/details/6365526(原文章的图挂了),这篇文章很详细的介绍了如何进个人源码管理。http://jackchen0227.iteye.com/blog/960536,这个是VS插件AnkhSVN的使用,把文章提到的服务器换成本地的文件就行了。 阅读全文
posted @ 2011-09-21 08:47 fire_fuxm_USTC 阅读(384) 评论(0) 推荐(0) 编辑

CGAL编译

摘要: 可以直接看这片文章:http://blog.sina.com.cn/s/blog_6d68e6090100m6rc.html。特别是其中的英文部分,讲的很详细,可以成功编译。The following section explains how to install CGAL 3.4 with Boost 1.38 with QT4.5 on Windows XP/Vista with Visual Studio 2008/2005Note that during the entire setup you need internet connection!Note that the instal 阅读全文
posted @ 2011-09-13 22:50 fire_fuxm_USTC 阅读(4645) 评论(0) 推荐(0) 编辑