Little project/N-gon modeler
Wikipedia,自由的百科全书
关于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)