Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > Mathematica论坛
Mathematica论坛 Mathematica是比较流行的符号运算软件之一
回复
 
主题工具 显示模式
旧 2009-08-28, 20:50   #1
dujunggl
初级会员
 
注册日期: 2009-08-28
帖子: 3
声望力: 0
dujunggl 正向着好的方向发展
很差 【求助】求正六面体应用四边细分格式的程序或者算法

小弟作业,需要matlab程序:对正六面体的四边网格的光滑细分格式:利用拓扑网格的加细剖分,修改顶点坐标,把正六面体细分成一个近似球的图形

和八面体的三角细分格式(类似上面)

这段程序的作用是立方体的四边细分,我没学过mathematica,看不懂,向各位求助!!!



quadsub[{T_,p_}]:=
Module[{idx,index,currIndex=Length[p],newT,newp},
SetAttributes[index,Orderless];
idx[_,_]=0;
index[i_,j_]:=If[idx[i,j]==0,idx[i,j]=++currIndex,idx[i,j]];
newp=Table[0,{2Length[T]+2Length[p]+10}];
newT=Flatten[Table[
With[{i00=T[[1,1]],i20=T[[1,2]],i22=T[[1,3]],
i02=T[[1,4]]}] ,
With[[{i01=index[i00,i02],i12=index[i02,i22]
i10=index[i00,i20],i21=index[i20,i22],i11=index[i20,i22]
i11=++currIndex},
newp[[{i00,i20,i22,i02,i10,i21,i12,i01,i11}]]
=M2.p[[T[[1]]]];
{{i00,i10,i11,i01},{i02,i01,i11,i12},{i20,i21,i11,i10},{i22,i12,i11,i21}]],
{length[T]}],1];
{newT,Take[newp,currIndex]}]


其中M2是个常规矩阵=1/4*{{4,0,0,0},{0,4,0,0},{0 0 4 0},{0 0 0 4},
{2 2 0 0 },{0 2 2 0},{0 0 2 2 },{2 0 0 2} ,{1 1 1 1}}

{T 、p}是立方体的拓扑结构 {[1,4,3,2;1,2,6,5;2,3,7,6;3,4,8,7;4,1,5,8;5,6,7,8],[0 0 0;1 0 0;1 1 0;0 1 0;0 0 1;1 0 1;1 1 1;0 1 1]}

******请高手不吝指教,有知道相关算法的也贴上来,急用啊!

*******我只知道这跟有限元有些关系,有高手能具体指点下吗??

此帖于 2009-08-28 23:39 被 dujunggl 编辑。
dujunggl 当前离线   回复时引用此帖
旧 2009-08-28, 20:53   #2
dujunggl
初级会员
 
注册日期: 2009-08-28
帖子: 3
声望力: 0
dujunggl 正向着好的方向发展
默认 回复: 【求助】谁能帮看这段程序,最好是翻译成matlab或者数学语言

T p是立方体的拓扑结构
dujunggl 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 06:13


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.