Little project/N-gon modeler

Wikipedia,自由的百科全书

(重定向自N-gon modeler)

关于n-gon,polygon即为多边形的意思,n是一个代数术语,代表多。

Blender现在只能支持三边和四边形,大于四边的就是n-gon范畴。当然blender里面有fake n-gon,但是这并不代表所有的n-gon功能它都能完成。

造成这一缺陷的原因众说纷纭,有的说是已经存在了其他的n-gon建模软件,而且是免费的,所以就不用再重复造轮子;有的说因为n-gon在使用的时候,是很耗资源的,所以开发者把这块列为禁区;有的说是因为Blender的功能已经被3,4边形绑架,再造一个这样的装置简直就是浪费大量宝贵的人力资源,因为blender的开发者是短缺的。

不管怎么说,就是blender现在缺乏这方面的机能,而且是先天不足。

这个小项目的目的就是做为一个实践,来从最简便的方法来解决这上述问题。开发的软件的使用习惯应该于blender趋同并且能完全和blender的文件系统吻合。

现在收集的很多准备研究项目:软件 wings3d(erlang) gscuplt cut it sketchboard blender nedo(python) pythonCAD 各大软件的sdk

一些库 brep++ edge openmesh opencascade libQGLViewer 实时渲染引擎:irrlicht ogre nebula2

接下来的半年时间,就会对各个软件和具体的需求进行分析,然后列出一个roadmap,从底层做起,争取能尽快的出一个demo。

参考:blender官方wiki的hemesh所有内容。关于edge base mesh的所有论文。以及其他成熟软件的分析报告。能够找到的mesh研究成果。

远期:争取弄明白 gigapolygon 完善blender,最后整合进blender。

http://bbs.blendercn.org/viewtopic.php?t=453

--Kidux 16:06 2006年Nov17日 (CST)

软件编写:现在将以c++为主,界面用qt。原因:方便,在缺乏人员的时候适用。 以后正式进入主力开发阶段将改用自编写的模块,以c和blender ui为主,原因:让blender更强大,大树下面好乘凉。

--Kidux 15:10 2006年Nov19日 (CST)

qcad 可以借鉴设计思路。

--Kidux 01:32 2006年Nov21日 (CST)

    |-角色建模类(silo modo) 

fork +

    |-cad类(基于opencascade) 

两方面均无许可问题。

--Kidux 20:33 2006年Nov23日 (CST)

欧拉公式

凸多面体的点线面存在着如下关系 面数+顶点点数-边数=2 {f+v-e=2}

欧拉-庞加莱公式

当多面体上挖有孔洞时 公式将会变成 面数+顶点点数-边数=2(壳数-孔数)

{f+v-e=2(s-h)}

也有写成

V - E + F - (L - F) - 2(S - G) = 0  (l为loop g为穿孔 s为shell)

当把边组成的环也考虑到当中的话,公式右边加一项内环数就可以了。 论坛上有更多讨论。 --Kidux 11:56 2006年Nov25日 (CST)

我确信node在整个建模软件制作中的重要性,所以,设计node成为一个迫切需要解决的问题。可以参考blender和k3d或sculpt3d的实现。 --Kidux 01:40 2006年Dec17日 (CST)

欧拉操作 Eular operator

一个实体在用边界表示法b-rep表示的时候,就会需要很多元素来表达,在进行建立或者修改的时候,就会产生或者减少一些元素.所以将这两种方法称为make kill.因为要符合欧拉 旁加莱公式,所以操作是有限的.

Operator Name Meaning V E F L S G
MEV Make an edge and a vertex +1 +1



MFE Make a face and an edge
+1 +1 +1

MSFV Make a shell, a face and a vertex +1
+1 +1 +1
MSG Make a shell and a hole



+1 +1
MEKL Make an edge and kill a loop
+1
-1


Operator Name Meaning V E F L S G
KEV Kill an edge and a vertex -1 -1



KFE Kill a face and an edge
-1 -1 -1

KSFV Kill a shell, a face and a vertex -1
-1 -1 -1
KSG Kill a shell and a hole



-1 -1
KEML Kill an edge and make a loop
-1
+1

from: http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/model/euler-op.html

--Kidux 15:57 2007年Jan25日 (CST)

方法:以裁减blender代码,和查看其他n-gon建模软件为主.期间完成需求分析和一个breps的库,包含很多art向的操作.运气好的话时间大概一年.在blendercn呆2年以上感兴趣的朋友可以向我索要资料.或者共同探讨.

我个人收集cg资料的范围: solid modeling cagd subdiv ray-tracing physical-base modeling voxel

--Kidux 14:41 2007年Jan26日 (CST)

Personal tools