iCAx开思网

标题: 看看笨人怎么做金字塔 [打印本页]

作者: szqiao    时间: 2007-1-27 20:16
标题: 看看笨人怎么做金字塔
原贴见https://www.icax.org/thread-338033-1-1.html
不过没人做了,就说说笨人做法吧
作者: szqiao    时间: 2007-1-27 20:35
第一步
加参数a与b,对应为小立方体的边长与间距
做伸出项,偏距建一临时基准面,依此面为草绘平面,画一正方形,加关系式使正方形边长为a,拉伸一随意高的立方体。
作者: szqiao    时间: 2007-1-27 20:40
以临时基准面偏距尺寸,草绘正方形距基准的横向尺寸及纵向尺寸为驱动尺寸做一方向的阵列,阵列数暂定为2吧
作者: szqiao    时间: 2007-1-27 20:44
编辑伸出项及阵列。将尺寸由数值转换为名称显示,可以看到伸出项的高度尺寸及阵列数的名称,假设为d8与P9吧。
加关系式,d8=a
作者: szqiao    时间: 2007-1-27 20:52
继续
重定义阵列
将驱动尺寸改为关系式,加关系如下:(以下p9须改为前面显示的阵列数的名称)

纵向尺寸n=0
solve
n*(n+1)*(2*n+1)/6=idx1
for n
k=0
solve
k*(k+1)*(2*k+1)/6=p9
for k
j=ceil(n)
i=idx1-j*(j+1)*(2*j+1)/6
if i==0
memb_i=-a*j-b*j+a/2
else
if ceil(i/j)-i/j==0
memb_i=-a*(j-1)-b*(j-1)
else
memb_i=a+b
endif
endif
横向尺寸
n=0
solve
n*(n+1)*(2*n+1)/6=idx1
for n
k=0
solve
k*(k+1)*(2*k+1)/6=p9
for k
j=ceil(n)
i=idx1-j*(j+1)*(2*j+1)/6
if i==0
memb_i=-a*j-b*j+a/2
else
if ceil(i/j)-i/j==0
memb_i=a+b
else
memb_i=0
endif
endif
基准尺寸
n=0
solve
n*(n+1)*(2*n+1)/6=idx1
for n
k=0
solve
k*(k+1)*(2*k+1)/6=p9
for k
memb_v=-a*floor(n)
作者: szqiao    时间: 2007-1-27 20:58
上面纵向与横向可互换
修改临时基准面高度尺寸为零,阵列数为55,重生,完成此题
作者: dragon2008    时间: 2007-1-28 11:10
呵呵,高呀,顶起!
作者: hjg16    时间: 2007-1-28 19:01
这几天还在看联立方程组的帮助呢,上来学习下
作者: newuser2006    时间: 2007-1-28 22:24
楼主是不是数学系毕业的,真厉害
作者: wanihe    时间: 2007-1-29 16:16
暈,這也形啊
作者: surge_chung    时间: 2007-1-29 16:47
牛淫呀。。。。
作者: quickcow    时间: 2007-1-29 22:56
不笨的人怎么做?
作者: kevin_law    时间: 2007-1-30 10:01
标题: 请教大侠szqiao阵列关系式中语句的含义,多谢!
原帖由 szqiao 于 2007-1-27 20:52 发表
继续
重定义阵列
将驱动尺寸改为关系式,加关系如下:(以下p9须改为前面显示的阵列数的名称)

纵向尺寸n=0
solve
n*(n+1)*(2*n+1)/6=idx1
for n
k=0
solve
k*(k+1)*(2*k+1)/6=p9
for k
j=ceil(n)
...



大侠,可否以你的这个金字塔阵列,直接明了的讲讲阵列关系中以下参数的意义,先多谢了!
/*  Enter relations using the following symbols:
/* memb_v - relation driven resultant dimension in this specific direction
/* memb_i - relation driven increment in this specific direction
/* lead_v - leader value (dimension selected to determine direction)
/* idx1   - pattern instance index in the first direction
/* idx2   - pattern instance index in the second direction
/*   DO NOT USE memb_v AND memb_i IN THE SAME RELATION
---------------------------------------------------------------
还有大侠在这个阵列中用到的
J=ceil(N)
if I==0
memb_i=-A*J-B*J+A/2
else
if ceil(I/J)-I/J==0
memb_i=-A*(J-1)-B*(J-1)
else
memb_i=A+B
endif
endif
------------------------
以及,solve........for ; floor()等语句表示什么意思,如果想学可以去那里了解,再次多谢了!
作者: shine139130    时间: 2007-2-14 16:15
頂頂****
作者: jiangjun75    时间: 2007-2-14 16:28
顶一下
作者: newuser2006    时间: 2007-2-15 19:10
支持楼主,厉害




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3