area_ineq.tcl

This example shows how to build surface by approximating areas with constant real numbers and how to add inequalities on resulting surface using areas. In this example 6 different areas were used. This example looks like area.tcl example, but one area (area6) with inequality was added.

See also:
area_leq, area_geq, area, area_add, completer
Here is the image of the resulting surface (green colour for areas 1,3 and 5, red colour for areas 2 and 4, magenta for area 6):

surface built from areas using inequalities

Pic 1. Surface built from areas using inequalities

This result was obtained with "examples/surfit/curvs/area_ineq.tcl" script.

00001 #
00002 # This script was generated with funner v2.1beta (www.gridding.info)
00003 
00004 # 
00005 # load plugins
00006 # 
00007 load libsurfit[info sharedlibextension]
00008 
00009 # remove all previous data and gridding rules
00010 clear_data 
00011 
00012 # set name of surface
00013 set map_name "map_area_ineq" 
00014 
00015 # set tolerance for cg solver
00016 set tol 1e-005 
00017 
00018 ##
00019 ## load initial data 
00020 ##
00021  
00022 # load area from text file 
00023 area_read "area1.txt" "area1"  
00024  
00025 # load area from text file 
00026 area_read "area2.txt" "area2"  
00027  
00028 # load area from text file 
00029 area_read "area3.txt" "area3"  
00030  
00031 # load area from text file 
00032 area_read "area4.txt" "area4"  
00033  
00034 # load area from text file 
00035 area_read "area5.txt" "area5"  
00036  
00037 # load area from text file 
00038 area_read "area6.txt" "area6"  
00039  
00040 ##
00041 ## construct grid 
00042 ##
00043 grid_get -12 12 0.2 -12 12 0.2 
00044  
00045 ##
00046 ## create gridding rules
00047 ##
00048 
00049 # resulting surface in area = value... 
00050 area 30 "area3"  
00051 
00052 # resulting surface in area <= value... 
00053 area_leq 20 "area6"
00054 
00055 # resulting surface in area = value... 
00056 area 10 "area1"  
00057 
00058 # resulting surface in area = value... 
00059 area undef "area5"  
00060 
00061 # resulting surface should tend to be constant or plane 
00062 completer 1 0  
00063 
00064 # add "resulting surface in area = value..." with weight 
00065 area_add 20 0.07 "area2"  
00066 
00067 # add "resulting surface in area = value..." with weight 
00068 area_add 40 0.07 "area4"  
00069 
00070 ##
00071 ## run gridding algorithm
00072 ##
00073 surfit 
00074 
00075 ##
00076 ## save results 
00077 ##
00078 
00079 # unload grid from memory
00080 grid_unload 
00081 
00082 # save surface to surfit datafile 
00083 surf_save "area_ineq.dat" "map_area_ineq" 
00084 
00085 puts [concat "Maximum value in area6 : " [surf_area_maxz "area6" "map_area_ineq"]]
00086 



surfit: open source gridding and contouring software.