area_surf.tcl

This example shows how to build surface by approximating other surface in areas. In this example 5 different areas were used. Suppose that for four of them (area1, area2, area3 and area4) we know surface values approximately, and for one of them (area6) we know them exactly. So, we want to build surface, which approximates as exactly as possible values for area6 and "not so exactly" for areas 1-4.

Here is the image of the resulting surface (red colour for areas 1-4, green colour for area6):

surface built from regions of other surface

Pic 1. Surface built from regions of other surface

This result was obtained with "examples/surfit/curvs/area_surf.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_surf" 
00014 
00015 # set solver
00016 set_solver "cg" 
00017 
00018 # set tolerance for solver
00019 set tol 1e-005 
00020 
00021 ##
00022 ## load initial data 
00023 ##
00024  
00025 # load area from text file 
00026 area_read "area1.txt" "area1"  
00027  
00028 # load area from text file 
00029 area_read "area2.txt" "area2"  
00030  
00031 # load area from text file 
00032 area_read "area3.txt" "area3"  
00033  
00034 # load area from text file 
00035 area_read "area4.txt" "area4"  
00036  
00037 # load area from text file 
00038 area_read "area6.txt" "area6"  
00039  
00040 # load surface from surfit datafile 
00041 surf_load "func.func" "test_func"  
00042  
00043 ##
00044 ## construct grid 
00045 ##
00046 grid_get -12 12 0.2 -12 12 0.2 
00047  
00048 ##
00049 ## create gridding rules
00050 ##
00051 
00052 # resulting surface in area = surface values... 
00053 area_surf "test_func" "area6"  
00054 
00055 # resulting surface should tend to be constant or plane 
00056 completer 
00057 
00058 # add "resulting surface in area = surface values..." with weight 
00059 area_surf_add "test_func" 0.07 "area1"  
00060 
00061 # add "resulting surface in area = surface values..." with weight 
00062 area_surf_add "test_func" 0.1 "area2"  
00063 
00064 # add "resulting surface in area = surface values..." with weight 
00065 area_surf_add "test_func" 0.1 "area3"  
00066 
00067 # add "resulting surface in area = surface values..." with weight 
00068 area_surf_add "test_func" 0.05 "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_surf.dat" "map_area_surf" 



surfit: open source gridding and contouring software.