define / MO_H_FIELD / mo_poi_h_field define / H_ATTRIBUTE / h_field_att # Y = Ax + B # # Slope values to try # 0.2 works # 0.25 works # 0.29 works # 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) # # use the sin() function to create a set of points in a wave line 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