52 lines
1.6 KiB
Plaintext
Executable File
52 lines
1.6 KiB
Plaintext
Executable File
define / MO_H_FIELD / mo_poi_h_field
|
|
define / H_ATTRIBUTE / h_field_att
|
|
|
|
# Y = Ax + B
|
|
#
|
|
# Slope
|
|
# 0.2 works
|
|
# 0.25 works
|
|
# 0.29 works
|
|
# 0.295 crashes
|
|
# 0.299 crashes
|
|
# 0.3 crashes
|
|
#
|
|
define / SLOPE / 0.1
|
|
# Intersect
|
|
define / INTERCEPT / 0.0
|
|
#
|
|
# Create some points and then use the distance from the points to define the user
|
|
# defined resolution field h(x,y)
|
|
#
|
|
cmo / create / mo_pts / / / tet
|
|
createpts / line / npoints / / / xmin,ymin,zmin / xmax,ymax,zmax / iiz,ijz,ikz /
|
|
createpts / line / 400 / / / -3.95 0.0 0.0 / 3.95 0.0 0.0 / 1 1 1
|
|
math / sin / mo_pts / yic / 1 0 0 / mo_pts / xic
|
|
math / multiply / mo_pts / yic / 1 0 0 / mo_pts / yic / 0.25
|
|
math / multiply / mo_pts / xic / 1 0 0 / mo_pts / xic / 0.25
|
|
|
|
compute / distance_field / MO_H_FIELD / mo_pts / dfield
|
|
|
|
math/multiply/MO_H_FIELD/H_ATTRIBUTE/1,0,0/MO_H_FIELD/dfield/SLOPE/
|
|
math/add/MO_H_FIELD/H_ATTRIBUTE/1,0,0/MO_H_FIELD/H_ATTRIBUTE/INTERCEPT/
|
|
|
|
math / floor / MO_H_FIELD / H_ATTRIBUTE / 1 0 0 / &
|
|
MO_H_FIELD / H_ATTRIBUTE / H_SCALE
|
|
math / ceiling / MO_H_FIELD / H_ATTRIBUTE / 1 0 0 / &
|
|
MO_H_FIELD / H_ATTRIBUTE / 10H_SCALE
|
|
|
|
cmo / printatt / MO_H_FIELD / H_ATTRIBUTE / minmax
|
|
#
|
|
# In order to visualize the h(x,y) field, the user can output
|
|
# mo_poi_h_field and look at the attribute h_field_att.
|
|
# Output will slow things down so output should be commented out
|
|
# in production runs.
|
|
#
|
|
#
|
|
# This is the only place where the user has access to out MO_H_FIELD because it
|
|
# will be deleted when createpts / poisson_disk exits.
|
|
#
|
|
dump / avs / output_h_of_x_y_2.inp / MO_H_FIELD
|
|
cmo / delete / mo_pts
|
|
finish
|