- 积分
- 35
- 注册时间
- 2002-11-22
- 仿真币
-
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2004-6-5 17:54:46
|
显示全部楼层
来自 河南洛阳
回复: 回复: 【求助】问斑竹:环状岩体加固范围的物理参数如何设置
zbocyq wrote:
交集就是range group a group b
并集就是range group a any group b any
not是差集
如果要实现得话,还必须采用fish语句,
斑竹,我出一个用fish语句编写异形表面得题,能给大家分数吗??
比如,一个方块上面带一个圆面,或者说时球体,
我给大家贴出来。
产生体得语句:
def parm
rad=4.0 ; radius of sphere.
len=10.0 ; length of outer box edge.
in_size=6 ; inner box zones.
rad_size=10 ; radial zones.
end
parm
gen zone radbrick edge len size in_size in_size in_size rad_size &
rat 1.0 1.0 1.0 1.2 dim rad rad rad
改变左边生成球面得语句:
def make_sphere
; Loop over all GPs and remap their coordinates:
; assume len>rad
p_gp=gp_head
loop while p_gp#null
; Get gp coordinate: P=(px,py,pz)
px=gp_xpos(p_gp)
py=gp_ypos(p_gp)
pz=gp_zpos(p_gp)
; Compute A=(ax,ay,az)=point on sphere radially "below" P.
dist=sqrt(px*px+py*py+pz*pz)
if dist>0 then
k=rad/dist
ax=px*k
ay=py*k
az=pz*k
; Compute B=(bx,by,bz)=point on outer box boundary radially "above" P.
maxp=max(px,max(py,pz))
k=len/maxp
bx=px*k
by=py*k
bz=pz*k
; Linear interpolation: P=A+u*(B-A)
u=(maxp-rad)/(len-rad)
xpos(p_gp)=ax+u*(bx-ax)
ypos(p_gp)=ay+u*(by-ay)
zpos(p_gp)=az+u*(bz-az)
end_if
p_gp=gp_next(p_gp)
end_loop
end
make_sphere
运行上述2个命令流,就形成了一个带球面得 体,如图:
这个可是实例上得哦,不是我编写得哦! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|