http://hcibib.org/
news http://www.pcworld.com/article/194136/skinput_makes_the_entire_body_a_touch_interface.html
中国欧盟可用性研究中心 http://www.usabilitychina.com/liuzhj.html
芬兰 http://tauchi.cs.uta.fi/mmig/research.html
This is my blog which contains the research footprints duing these years and years after......
jeudi 30 septembre 2010
lundi 27 septembre 2010
Google Gravity
http://www.mitbbs.com/article_t/CS/31186129.html
Just like a virtual world that are filled with many rigid and soft objects......
Note: Goole would let webpage work as the only output window for everything.
Until now, we have already "google earth", "google street view"...... we can imagine and at the same time we can not imagine what happens next.
Just like a virtual world that are filled with many rigid and soft objects......
Note: Goole would let webpage work as the only output window for everything.
Until now, we have already "google earth", "google street view"...... we can imagine and at the same time we can not imagine what happens next.
vendredi 24 septembre 2010
jeudi 23 septembre 2010
OBJ格式

Poser 3 only uses a subset of the full OBJ file format. Here's everything you need to know about OBJ files if your just using Poser. This document leaves out all non- Poser usable commands and options so you aren't confused about things you'll never need. I recommend reading this tutorial, then opening up a couple OBJ files and checking them out, then rereading this tutorial, and things should start to fall in place.The OBJ file format is a text file format, which means you can edit OBJ files in a text editor if you are hard-core. Unfortunately, the original specification didn't seem to state what the end of line character should be, so some tools use carriage-returns and some use linefeeds. You may have to convert the end of line characters depending on which tools you are reading the OBJ file in from. (Most notably the OBJIMP plugin for 3DS MAX will crash when reading in any of the OBJ files that shipped with Poser.) Also your Windows text editors may think the files are binary because of this. The first character of each line specifies the type of command. If the first character is a pound sign, #, the line is a comment and the rest of the line is ignored. Any blank lines are also ignored. The file is read in by a tool and parsed from top to bottom just like you would read it. In the descriptions that follow, the first character is a command, followed by any arguments. Anything shown in square brackets is optional. # a comment line These are always ignored. Usually the first line of every OBJ file will be a comment that says what program wrote the file out. Also, its quite common for comments to contain the number of verticies and/or faces an object used. v x y z The vertex command, this specifies a vertex by its three coordinates. The vertex is implicitly named by the order it is found in the file. For example, the first vertex in the file is referenced as '1', the second as '2' and so on. None of the vertex commands actually specify any geometry, they are just points in space. vt u v [w] The vertex texture command specifies the UV (and optionally W) mapping. These will be floating point values between 0 and 1 which say how to map the texture. They really don't tell you anything by themselves, they must be grouped with a vertex in a 'f' face command. vn x y z The vertex normal command specifies a normal vector. A lot of times these aren't used, because the 'f' face command will use the order the 'v' commands are given to determine the normal instead. Like the 'vt' commands, they don't mean anything until grouped with a vertex in the 'f' face command. f v1[/vt1][/vn1] v2[/vt2][/vn2] v3[/vt3][/vn3] ... The face command specifies a polygon made from the verticies listed. You may have as many verticies as you like. To reference a vertex you just give its index in the file, for example 'f 54 55 56 57' means a face built from vertecies 54 - 57. For each vertex, there may also be an associated vt, which says how to map the texture at this point, and/or a vn, which specifies a normal at this point. If you specify a vt or vn for one vertex, you must specify one for all. If you want to have a vertex and a vertex normal, but no vertex texture, it will look like: 'f v1//vt1'. The normal is what tells it which way the polygon faces. If you don't give one, it is determined by the order the verticies are given. They are assumed to be in counter-clockwise direction. If you aren't using vn's to specify the normal and you wanted to 'flip the normal' you would reverse the order of the verticies. In most 3D programs, if the normal points the wrong way, there will appear to be a hole in the object. Luckily, Poser 3 renders both sides of a polygon, so even if you are editing something in another program that looks like it has holes, they will effectively go away inside Poser (NOTE: I read that somewhere, but haven't personally confirmed that fact.) One more thing, if you ever see a negative v, vt, or vn, that is a relative offset. It means go back that many verticies from where you are now in the file to find the vertex. This is part of the OBJ file spec, but I haven't seen any Poser OBJs that use it. g name The group name command specifies a sub-object grouping. All 'f' face commands that follow are considered to be in the same group. usemtl name The use material command lets you name a material to use. All 'f' face commands that follow will use the same material, until another usemtl command is encountered. For all of the Poser OBJ files I've seen, all 'g' commands should be followed by a 'usemtl' command. Remember that for verticies, they can be interspersed throughout the file, only the order they appear makes a difference. The faces can also be spread throughout the file, except they must follow the verticies they use (I think), and they will be part of whichever group and/or material they follow. That said, most OBJ files follow a consistant layout. Now the 'normal' layout of the file will be: # comment about what application generated this file. # all of the 'v' commands will be listed v x y z v ... # all of the 'vn' commands will be listed, although most Poser OBJ files # do not use the 'vn' commands vn x y z vn ... # all of the 'vt' commands will be listed vt x y z vt ... # the object and its material will be set g object usemtl material # all of the 'f' commands are listed f 1/1 2/2 3/3 4/4 f .... Additional Items: If you had two OBJ files and wanted to merge them, you can cut all the 'v', 'vt', and 'vn' commands from the second file and paste them at the end of the first. However, you cannot just copy over the 'f' commands, because they will have to have all their verticies offset. I'm thinking there has to be a tool out there somewhere that will do this for you, but I don't know of any. Hair objects with separate pieces like the ponytails that have a hairtie that can be colored separately, are actually a single group. They use additional usemtl commands to perform their magic. You can setup the additional material parameters in the .hr2 file (MAC). Example OBJ: v x y z v ... g hair usemtl hair f 1 2 3 4 f ... # there is NOT another g command here usemtl hairTie f 10 11 12 13 f ... s groupNumberPoser 2 hair objects sometimes use the 's' command to set a smoothing group. The groupNumber is used to make separate groups. All subsequent 'f' commands are in the same smoothing group until another 's' command is encountered. These also have some kind of interaction with vertex normals, but I haven't explored it fully because apparently as of Poser 3, it doesn't use the 's' command anymore. |
mercredi 22 septembre 2010
Haptic Display and Virtual Coupling
(1) The proposed virtual coupling was a virtual mechanical system interposed between the haptic interface and the virtual environment to limit the maximum or minimum impedance presented by the virtual environment in such a way as to guarantee stability.
(2) Haptic display: is a manner to transfert force or displacemnt information to users.
two classes: admittance and impetance based haptic display.
(3) Just as we need a visual model for visual display, a "Haptic Model" is necessary for haptic display.
There are three types of haptic rendering techniques:
(1) Point-based haptic rendering;
(2) Ray-based haptic rendering;
(3) Oject-based haptic rendering.
(2) Haptic display: is a manner to transfert force or displacemnt information to users.
two classes: admittance and impetance based haptic display.
(3) Just as we need a visual model for visual display, a "Haptic Model" is necessary for haptic display.
There are three types of haptic rendering techniques:
(1) Point-based haptic rendering;
(2) Ray-based haptic rendering;
(3) Oject-based haptic rendering.
lundi 20 septembre 2010
vendredi 17 septembre 2010
Latex 排版之 comment placer deux figures cote a cote?
\begin{figure}
\begin{minipage}[b]{0.5\linewidth} % A minipage that covers half the page
\centering
\includegraphics[width=6cm]{bild1.eps}
\caption{En liten bild}
\end{minipage}
\hspace{0.5cm} % To get a little bit of space between the figures
\begin{minipage}[b]{0.5\linewidth}
\centering
\includegraphics[width=6cm]{bild2.eps}
\caption{En liten bild till}
\end{minipage}
\end{figure}
lundi 13 septembre 2010
法语学习资料
我注册了一个帐号 moustiqueMerde 密码 19820917
在网站 大家论坛 http://club.topsage.com/forum-163-1.html
法语口语 http://club.topsage.com/thread-456210-1-1.html
法语考试词汇 http://club.topsage.com/thread-424827-1-1.html
餐馆酒店法语 http://club.topsage.com/thread-458819-1-1.html
等
在网站 大家论坛 http://club.topsage.com/forum-163-1.html
法语口语 http://club.topsage.com/thread-456210-1-1.html
法语考试词汇 http://club.topsage.com/thread-424827-1-1.html
餐馆酒店法语 http://club.topsage.com/thread-458819-1-1.html
等
jeudi 9 septembre 2010
C++关于this指针
This指针是在实例化一个对象后产生的,并且指向对象本身。
一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。
类的this指针有以下特点
(1)this指针只能在成员函数中使用。全局函数、静态函数中不能使用this指针。
(2)this指针在成员函数的开始前构造,在成员函数结束后清除。这个生命周期和函数的参数是一致的。实际上,成员函数默认的第一个参数为T* const this。例如:
class A{
public:
int func(int p){}
}
函数func的原型在编译器中应该是:int func(A* const this,int p);
由于this指针被声明为* const,它是一个指针常量,因此不能改变它的值(在低版本的C++中,修改this指针是可以的),但可以改变它所指对象的值。
一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。
类的this指针有以下特点
(1)this指针只能在成员函数中使用。全局函数、静态函数中不能使用this指针。
(2)this指针在成员函数的开始前构造,在成员函数结束后清除。这个生命周期和函数的参数是一致的。实际上,成员函数默认的第一个参数为T* const this。例如:
class A{
public:
int func(int p){}
}
函数func的原型在编译器中应该是:int func(A* const this,int p);
由于this指针被声明为* const,它是一个指针常量,因此不能改变它的值(在低版本的C++中,修改this指针是可以的),但可以改变它所指对象的值。
this指针的作用(1)限定被相似的名称隐藏的成员.
例如:
public Person(string name, string sex)
{
this.name = name;
this.sex = sex;
}
(2)在类的非静态成员函数中返回类对象本身的时候,直接使用 return *this;
几个关于this指针的问题(1)this指针在成员函数的开始前构造,在成员函数结束后清除。this指针指向的是实例化对象的地址。
(2)this指针存放在何处?堆、栈、全局变量?
this指针因为编译器的不同会有不同的放置位置,可能是栈,也可能是寄存器,甚至是全局变量。
(3)this指针是如何传递给类中的函数的?
this是通过函数参数的首参数来传递的,也就是说成员函数默认的第一个参数为T* const this.
(4)获得一个对象后,只有在成员函数里才能知道this指针的位置,可以通过&this来获取。因为this指针只有在成员函数中才有定义,因此只能在成员函数中使用指针。
(5)每个类编译后,是否创建一个类中函数表来保存函数指针,以便用来调用函数?
普通的类函数(无论是成员函数还是静态函数)都不会创建一个函数表来保存函数指针。只有虚函数才会被放到函数表中。
关于this指针的一个精典回答:
当你进入一个房子后,
你可以看见桌子、椅子、地板等,
但是房子你是看不到全貌了。
对于一个类的实例来说,
你可以看到它的成员函数、成员变量,
但是实例本身呢?
this是一个指针,它时时刻刻指向你这个实例本身
例如:
public Person(string name, string sex)
{
this.name = name;
this.sex = sex;
}
(2)在类的非静态成员函数中返回类对象本身的时候,直接使用 return *this;
几个关于this指针的问题(1)this指针在成员函数的开始前构造,在成员函数结束后清除。this指针指向的是实例化对象的地址。
(2)this指针存放在何处?堆、栈、全局变量?
this指针因为编译器的不同会有不同的放置位置,可能是栈,也可能是寄存器,甚至是全局变量。
(3)this指针是如何传递给类中的函数的?
this是通过函数参数的首参数来传递的,也就是说成员函数默认的第一个参数为T* const this.
(4)获得一个对象后,只有在成员函数里才能知道this指针的位置,可以通过&this来获取。因为this指针只有在成员函数中才有定义,因此只能在成员函数中使用指针。
(5)每个类编译后,是否创建一个类中函数表来保存函数指针,以便用来调用函数?
普通的类函数(无论是成员函数还是静态函数)都不会创建一个函数表来保存函数指针。只有虚函数才会被放到函数表中。
关于this指针的一个精典回答:
当你进入一个房子后,
你可以看见桌子、椅子、地板等,
但是房子你是看不到全貌了。
对于一个类的实例来说,
你可以看到它的成员函数、成员变量,
但是实例本身呢?
this是一个指针,它时时刻刻指向你这个实例本身
C++中的extern "C" 用法
昨天晚上翻《C++ Primer》偶尔看见介绍 extern "C" 的那一节,看着看着竟然有点糊涂了,觉得书上说的好像有点不对。记得以前也曾经看过这一节,也看过几篇介绍这个的文章,这次又犯糊涂,看来还是以前没有搞清楚。后来仔细看了看书上的介绍,又翻了一下《The C++ Programming Language》,总算清楚了一些,书上说的没错,是我以前理解的有问题。
在C++中 extern "C" 的两种用法
1. 如果要在C++程序中调用C语言写的函数, 在C++程序里边用 extern "C" 修饰要被调用的这个C程序,告诉C++编译器此函数是C语言写的,是C语言编译器生成的,调用他的时候请按照C语言习惯传递参数等。如:
//在C++程序里边声明该函数
extern "C" int strcmp(const char *s1, const char *s2);
extern "C" int strcmp(const char *s1, const char *s2);
也可以这样
//在C++程序里边声明该函数
extern "C" {
#include <string.h> //string.h里边包含了所要调用的函数的声明
}
extern "C" {
#include <string.h> //string.h里边包含了所要调用的函数的声明
}
2. 用C++语言写的一个函数,如果想让这个函数可以被其他C语言程序所用,则用extern "C" 来告诉C++编译器,请用C语言习惯来编译此函数。如:
//在C++程序里该函数
extern "C" int strcmp(const char *s1, const char *s2)
{
while (*s1 && *s1++ == *s2++) {
}
return *s1 - *s2;
}
浅出理解静态成员函数(static member function)
在转入正题之前,我觉得应该先提出两个我本人自定义的术语:
类级成员(class level member)和
对象级成员(object level member)。
我不知道在C++领域里是否已经有这样的术语,只是我觉得这两个术语可以很好地帮助我们理解static member function。在这里可以就有人想指正我了:本来成员(member)就是类独有的一部分,还分什么类级和对象级的。但我相信如果你看完本文后,你原来对static member function的那种一知半解,会演变成现在的“原来是这么一回事”的话,你会觉得这是非常棒的两个东西。
所谓的类级成员就是指该成员是属于类拥有的,一个类只有一个的;
而所谓的对象级成员就是指该成员是属于对象自己的,只要产生多少个该类的对象就会产生出多少个这样的成员。
如果你还是没有理解其中的意思的话,不要紧,往下看吧,慢慢你就会明白了(其实也没什么,也只是static member与non static member的区别而已,只是我觉得这样更利于理解)。
non static member是属于对象级成员函数,也就是说,每个属于该类的对象都会产生一份属于自己的成员。而static member是属于类级成员,也就是说,无论该类产生多少个对象,而这种成员只会产生一个。
为什么static member function只能访问static member data呢?就是因为static member data是属于类级成员数据,non static member data是属于对象级成员数据,而static member function是属于类级成员函数,non static member function是属于对象级成员函数。
对于一个类级成员函数只能访问到类级成员数据。因为类级成员是共享的,而对象级成员是私有的,私有的数据只能是由私有函数来读取(可不要把这里的共享与私有的关系和灰的声明中的public与private的关系混淆了啊,这里的私有是指对象私有,而后者是指类私有)。
如果对于上面的解释还是不太好理解为什么类级成员只能访问类级成员数据的话,那我就用实际来告诉你为什么私有的对象数据不能由共享的函数来存取了。如有以下类的声明:
class Point
{
public :
void OutPut ();
static void Init ( int, int );
class Point
{
public :
void OutPut ();
static void Init ( int, int );
private :
int m_x;
static int m_y;
};
int Point::m_y = 10; //初始化static member data
Point ptA, ptB;
int m_x;
static int m_y;
};
int Point::m_y = 10; //初始化static member data
Point ptA, ptB;
如果有以下函数的定义:
void
Point::OutPut () //正确
{
cout <<"x=" <<x <<endl
<<"y=" <<y <<endl;
}
void
Point::Init ( int x, int y )
{
m_x = x; //错误,m_x是对象级成员数据,Init()是类级成员函数
m_y = y; //正确,m_y和Init()都是类级成员
}
void
Point::OutPut () //正确
{
cout <<"x=" <<x <<endl
<<"y=" <<y <<endl;
}
void
Point::Init ( int x, int y )
{
m_x = x; //错误,m_x是对象级成员数据,Init()是类级成员函数
m_y = y; //正确,m_y和Init()都是类级成员
}
因为ptA和ptB都会产生属于对象自己的m_x(如果定义更多Point的对象,将会产生更多)。对于OutPut()是毫无疑问没问题的,因为ptA和ptB也会产生属于自己OutPut(),对象自己的函数访问属于对象自己数据,这是理所当然的。但Init()只会产生一个,而ptA和ptB都有属于自己m_x(各自互不侵犯),Init()怎么知道应该访问那个m_x呢(准确点应该说编译器怎么知道应该访问那个的m_x),还是对于所有Point的对象的m_x都进行存取呢(那不就是侵犯私隐了吗)。
static member function还有另外一个在一般的语言教材上很少会提到的特点,我们在用MFC的时候会经常以“类名::类成员函数”这种方法来调用一个函数(当然我不是说只有MFC都有这样的调用)。要使用这样的调用方法是需要有一个条件的,就是这个类成员函数一定要是一个static member function。如果你不明白前面的解释的话,你是不会想到这点的。那为什么一定要是static member function才能这样被调用呢,其实原理跟前面是一样的,就是因为static member function只会产生一个。如果你还是想不到为什么的话,那我就用实际来说明一切吧!沿用前面类的声明,如果有以下的用法:
Point::Init ( 5, 5 ); //正确(这里只讨论它的调用方法,不讨论它的定义是否正确),因为Init()是类级成员函数
ptA.Init ( 3, 3 ); //正确,既然Init()是共享的,ptA自然也可以用
Point::OutPut (); //错误,OutPut()是对象级成员函数
ptA.OutPut (); //正确,对象级的函数调用
正如前面所述的,ptA和ptB都会产生属于自己OutPut(),编译器怎么知道应该调用那个对象的OutPut()呢,对象级的函数自然只能使用对象级的调用方法了。对于Init()却是很好理解的,因为Init()由始至终只有一个,无论类级的调用,还是对象级的调用,都是合情合理的。
mercredi 8 septembre 2010
main()函数 参数的含义
main()函数是C应用程序的入口点,编译后的可执行文件都是从main函数开始执行的。在执行过程开始时,会执行main()函数,在main()函数执行完毕时,执行过程就结束了。
主函数main()可以有或没有参数列表,通常最多支持3个参数。
1.int main()
2.int main(int argc, char *argv[])
3.int main(int argc, char **argv)
4.int main( int argc, char *argv[] , char *envp[])
上述的1,2,3比较常用,第4种用法比较少见。
main()函数一般用int或者void形的。用int型定义main更好些,因为在结束的时候可以返回给操作系统一个值以表示执行情况。
下面介绍一下main函数各个参数的含义:
1.int argc
表示在命令行下输入命令的时候,一共有多少个参数。例如:
./test arg1 arg2
那么argc的值是3,命令名加上两个参数,一共三个参数。argc代表参数的数量, main()函数本身是在索引0为的第一参数。 所以, argc总是至少为1 。
2.char *argv[]
输入参数数组,真正的参数以字符串数组(即第2个参数argv[])的形式来传递。每一个字符串均有自己意思。argv[0]存放可执行程序本身。
例如:
./test
argc的值是1,argv[0]的值是 "test"
./test arg1 arg2
argc的值是3,argc[0]的值是"test",argc[1]的值是" arg1 ",argc[2]的值是" arg2"。
3.char *envp[]
相对来说用得比较少,它是用来取得系统的环境变量的。Envp是编译器扩展地语法,标准是不支持的,虽然现在很多编译器都支持,但是考虑到程序的移植性更好,进行避免使用。要获得环境变量的值还是用getenv比较好。
由于main函数不能被其它函数调用, 因此不可能在程序内部取得实际值。那么,在何处把实参值赋予main函数的形参呢? 实际上,main函数的参数值是从操作系统命令行上获得的。当我们要运行一个可执行文件时,在DOS提示符下键入文件名,再输入实际参数即可把这些实参传送到main的形参中去。
雅可比矩阵 Jacobian Matrix
在向量微积分中,雅可比矩阵是一阶偏导数以一定方式排列成的矩阵。
雅可比矩阵定义为向量对向量的微分矩阵。
以m个n元函数uj=uj(x1,x2,…,xn)(i=1,2,…,m)的偏导数
(j=1,2,…,n)为元素的矩阵
如果把原来的函数组看作由点x=(x1,x2,…,xn)到点u=(u1,u2,…,um)的一个变换T,则在偏导数都连续的前提之下,u随x的变化由相应的微分方程组
来描述。这是一个关于微分的线性方程组,其系数矩阵便是雅可比矩阵(J),因而可写成矩阵形式
这隐含着(J)具有微分系数的某些性质,类似于一元函数的导数。而在m=n=1的情形,它又恰好是一个一元函数的导数;所以它也是一个一元函数的导数到m个n元函数的一种推广。因此,(J)作为微分系数或导数的推广,有时也被当作变换T的“导数”看待并记为T┡(x)=(J)。
雅可比矩阵定义为向量对向量的微分矩阵。
以m个n元函数uj=uj(x1,x2,…,xn)(i=1,2,…,m)的偏导数




mardi 7 septembre 2010
lundi 6 septembre 2010
有限元理论及方法
简介
有限元分析是用较简单的问题代替复杂问题后再求解。它将求解域看成是由许多称为有限元的小的互连子域组成,对每一单元假定一个合适的(较简单的)近似解,然后推导求解这个域总的满足条件(如结构的平衡条件),从而得到问题的解。这个解不是准确解,而是近似解,因为实际问题被较简单的问题所代替。由于大多数实际问题难以得到准确解,而有限元不仅计算精度高,而且能适应各种复杂形状,因而成为行之有效的工程分析手段。 有限元是那些集合在一起能够表示实际连续域的离散单元。有限元的概念早在几个世纪前就已产生并得到了应用,例如用多边形(有限个直线单元)逼近圆来求得圆的周长,但作为一种方法而被提出,则是最近的事。有限元法最初被称为矩阵近似方法,应用于航空器的结构强度计算,并由于其方便性、实用性和有效性而引起从事力学研究的科学家的浓厚兴趣。经过短短数十年的努力,随着计算机技术的快速发展和普及,有限元方法迅速从结构工程强度分析计算扩展到几乎所有的科学技术领域,成为一种丰富多彩、应用广泛并且实用高效的数值分析方法。特点
有限元方法与其他求解边值问题近似方法的根本区别在于它的近似性仅限于相对小的子域中。20世纪60年代初首次提出结构力学计算有限元概念的克拉夫(Clough)教授形象地将其描绘为:“有限元法=Rayleigh Ritz法+分片函数”,即有限元法是Rayleigh Ritz法的一种局部化情况。不同于求解(往往是困难的)满足整个定义域边界条件的允许函数的Rayleigh Ritz法,有限元法将函数定义在简单几何形状(如二维问题中的三角形或任意四边形)的单元域上(分片函数),且不考虑整个定义域的复杂边界条件,这是有限元法优于其他近似方法的原因之一。步骤
对于不同物理性质和数学模型的问题,有限元求解法的基本步骤是相同的,只是具体公式推导和运算求解不同。有限元求解问题的基本步骤通常为: 第一步:问题及求解域定义:根据实际问题近似确定求解域的物理性质和几何区域。 第二步:求解域离散化:将求解域近似为具有不同有限大小和形状且彼此相连的有限个单元组成的离散域,习惯上称为有限元网络划分。显然单元越小(网络越细)则离散域的近似程度越好,计算结果也越精确,但计算量及误差都将增大,因此求解域的离散化是有限元法的核心技术之一。 第三步:确定状态变量及控制方法:一个具体的物理问题通常可以用一组包含问题状态变量边界条件的微分方程式表示,为适合有限元求解,通常将微分方程化为等价的泛函形式。 第四步:单元推导:对单元构造一个适合的近似解,即推导有限单元的列式,其中包括选择合理的单元坐标系,建立单元试函数,以某种方法给出单元各状态变量的离散关系,从而形成单元矩阵(结构力学中称刚度阵或柔度阵)。 为保证问题求解的收敛性,单元推导有许多原则要遵循。 对工程应用而言,重要的是应注意每一种单元的解题性能与约束。例如,单元形状应以规则为好,畸形时不仅精度低,而且有缺秩的危险,将导致无法求解。 第五步:总装求解:将单元总装形成离散域的总矩阵方程(联合方程组),反映对近似求解域的离散域的要求,即单元函数的连续性要满足一定的连续条件。总装是在相邻单元结点进行,状态变量及其导数(可能的话)连续性建立在结点处。 第六步:联立方程组求解和结果解释:有限元法最终导致联立方程组。联立方程组的求解可用直接法、选代法和随机法。求解结果是单元结点处状态变量的近似值。对于计算结果的质量,将通过与设计准则提供的允许值比较来评价并确定是否需要重复计算。 简言之,有限元分析可分成三个阶段,前处理、处理和后处理。前处理是建立有限元模型,完成单元网格划分;后处理则是采集处理分析结果,使用户能简便提取信息,了解计算结果。mercredi 1 septembre 2010
Xiaohu Guo 计算几何和变形
RESEARCH INTERESTS: | ||
|
VR Resources
We welcome you at VResources, an affiliate web site of Virtual Simulations Inc. Here you will find the latest information about virtual reality, 3D computer graphics, data visualisation (Viz-Sim) and related technologies. VResources goal is to provide the most complete information to professionals in all markets including people in the academic and military domains.
If you are looking for professional and personalized support for your virtual reality, immersive visualisation and simulation needs or need to buy VR hardware or software, please see our corporate web site at: www.virtasim.com. There you will have access to consulting and virtual reality systems design services.
Our hope in providing our web visitors and clients these two entities is to encompass everything our clients need to successfully take the technological turn to Virtual Reality which is expected to gain significant momentum in the years to come.
Speaking for all the people at VResources, I hope you will have a great time browsing through our web sites and that you will find what you are looking for.
a blog of Virtual Reality
这是个虚拟现实的博客,里面有VR的相关信息及最新进展!
http://www.afrv.fr/ (coming from Bolg de l'AFRV)
and
http://cb.nowan.net/blog/
http://www.afrv.fr/ (coming from Bolg de l'AFRV)
and
http://cb.nowan.net/blog/
世界首台图像可触摸3D电视在日本问世
Inscription à :
Articles (Atom)