Annotation of OpenXM_contrib/gnuplot/demo/vector.dem, Revision 1.1
1.1 ! maekawa 1: #
! 2: # This file demonstrates new features in gnuplot 3.6
! 3: # -1- saving contour lines as a gnuplottable file
! 4: # -2- plotting a vector field on the same graph
! 5: # -3- manipulating columns using the '$1,$2' syntax.
! 6: # the example is taken here from Physics is the display of equipotential
! 7: # lines and electrostatic field for a dipole (+q,-q)
! 8: print "\n This file demonstrates new features in gnuplot 3.6"
! 9: print " -1- saving contour lines as a gnuplottable file"
! 10: print " -2- plotting a vector field on the same graph"
! 11: print " -3- manipulating columns using the '$1,$2' syntax."
! 12: print " the example is taken here from Physics is the display of equipotential"
! 13: print " lines and electrostatic field for a dipole (+q,-q)"
! 14: print "\n Please note that this demo runs only on x11 term, because"
! 15: print " It needs to change term to table and then back to screen,"
! 16: print " and gnuplot currently has no way of saving current terminal."
! 17: pause -1 "<CR> to continue"
! 18: #
! 19: r(x,y)=sqrt(x*x+y*y)
! 20: v1(x,y)= q1/(r((x-x0),y))
! 21: v2(x,y)= q2/(r((x+x0),y))
! 22: #
! 23: vtot(x,y)=v1(x,y)+v2(x,y)
! 24: #
! 25: e1x(x,y)= q1*(x-x0)/r(x-x0,y)**3
! 26: e1y(x,y)= q1*(y)/r(x-x0,y)**3
! 27: e2x(x,y)= q2*(x+x0)/r(x+x0,y)**3
! 28: e2y(x,y)= q2*(y)/r(x+x0,y)**3
! 29: etotx(x,y)=e1x(x,y)+e2x(x,y)
! 30: etoty(x,y)=e1y(x,y)+e2y(x,y)
! 31: enorm(x,y)=sqrt(etotx(x,y)*etotx(x,y)+etoty(x,y)*etoty(x,y))
! 32: dx1(x,y)=coef*etotx(x,y)/enorm(x,y)
! 33: dy1(x,y)=coef*etoty(x,y)/enorm(x,y)
! 34: dx2(x,y)=coef*etotx(x,y)
! 35: dy2(x,y)=coef*etoty(x,y)
! 36: #
! 37: coef=.7
! 38: x0=1.
! 39: q1=1
! 40: q2=-1
! 41: xmin=-10.
! 42: xmax=10.
! 43: ymin=-10.
! 44: ymax=10.
! 45: #
! 46: reset
! 47: set term x11
! 48: set noautoscale
! 49: set xr [xmin:xmax]
! 50: set yr [ymin:ymax]
! 51: set isosam 31,31
! 52: set view 0, 0, 1, 1
! 53: set nosurface
! 54: set contour base
! 55: set cntrparam order 4
! 56: set cntrparam linear
! 57: set cntrparam levels discrete -3,-2 ,-1 ,-0.5 ,-0.2 ,-0.1 ,-0.05 ,-0.02 ,0 ,0.02 ,0.05 ,0.1 ,0.2 ,0.5 ,1 ,2 ,3
! 58: set cntrparam points 5
! 59: #
! 60: set label "-q" at -1,0 center
! 61: set label "+q" at 1,0 center
! 62: splot vtot(x,y) w l
! 63: pause -1 "Now create a file with equipotential lines <CR> to continue"
! 64: set term table
! 65: set out "equipo2.dat"
! 66: rep
! 67: set out
! 68: set term x11
! 69: reset
! 70: plot "equipo2.dat" w l
! 71: pause 0 "Now create a x/y datafile for plotting with vectors "
! 72: pause 0"and display vectors parallel to the electrostatic field"
! 73: pause -1 "<CR> to continue"
! 74: set isosam 31,31
! 75: set term table
! 76: set out "field2xy.dat"
! 77: splot vtot(x,y) w l
! 78: set out
! 79: set term x11
! 80: set noautoscale
! 81: set xr [xmin:xmax]
! 82: set yr [ymin:ymax]
! 83: set isosam 31,31
! 84: plot "field2xy.dat" u 1:2:(coef*dx1($1,$2)):(coef*dy1($1,$2)) w vec, \
! 85: "equipo2.dat" w l
! 86: pause -1 "<CR> to exit"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>