/[libvob]/libvob/lava/blob/fshape.py
ViewVC logotype

Diff of /libvob/lava/blob/fshape.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by tjl, Sat May 24 14:02:11 2003 UTC revision 1.4 by tjl, Sat May 24 18:18:28 2003 UTC
# Line 30  import RandomArray Line 30  import RandomArray
30    
31  from Tkinter import *  from Tkinter import *
32    
33  length= 150  length= 75
34  epsilon = 0.0001  epsilon = 0.0001
35    
36  # print l  # print l
# Line 39  def A(xleft, xright, rleft, rright): Line 39  def A(xleft, xright, rleft, rright):
39      return (xright-xleft) * .5 * (rleft + rright)      return (xright-xleft) * .5 * (rleft + rright)
40    
41  def L(xleft, xright, rleft, rright):  def L(xleft, xright, rleft, rright):
42      return sqrt((xright-xleft)**2 + yweight**2 * (rright-rleft)**2)      return sqrt(((xright-xleft)**2) * xweight ** 2 +  (rright-rleft)**2)
43    
44  def U(xleft, xright, rleft, rright):  def U(xleft, xright, rleft, rright):
45    
# Line 100  def wmesh(ind, s, r): Line 100  def wmesh(ind, s, r):
100      for a in (0, 1):      for a in (0, 1):
101          x = s          x = s
102          y = r * a          y = r * a
103          z = 0 * r          z = 0 * r  + ind
104          for i in range(0, s.shape[0]):          for i in range(0, s.shape[0]):
105              geomview.write("%s %s %s\n" % (x[i], y[i], z[i]))              geomview.write("%s %s %s\n" % (x[i], y[i], z[i]))
106      geomview.write("})\n")      geomview.write("})\n")
# Line 122  class MomGrad: Line 122  class MomGrad:
122          self.mom += g          self.mom += g
123          l = add.reduce(self.mom*self.mom)          l = add.reduce(self.mom*self.mom)
124          self.x += -self.step / sqrt(l) * self.mom          self.x += -self.step / sqrt(l) * self.mom
125          self.x = maximum(self.x, 0)          # self.x = maximum(self.x, 0)
126          self.mom *= self.brake          self.mom *= self.brake
127    
128  sur = []  sur = []
129  for i in range(1, 2):  for l in (1, 2, 3, 4):
     l = 2**i  
130      tl = l * length      tl = l * length
131      print "TL",tl      print "TL",tl
132      x = zeros(2*tl, Float)      x = zeros(2*tl, Float)
133      x[0:tl] = arange(tl) * 1.0 / tl * l      x[0:tl] = arange(tl) * 1.0 / tl * l
134      x[tl] = 0.5      x[tl] = 2
135      x[-1] = 0.5      x[-1] = 2
136      mi = MomGrad(minfunc, x)      mi = MomGrad(minfunc, x)
137      sur.append(mi)      sur.append(mi)
138    
# Line 150  class UI(Frame): Line 149  class UI(Frame):
149          Frame.__init__(self, master)          Frame.__init__(self, master)
150          self.pack(expand=1, fill="both")          self.pack(expand=1, fill="both")
151          Button(self, text="Start", command = self.idle).pack()          Button(self, text="Start", command = self.idle).pack()
152          slider(self, "areaweight", DoubleVar(), 1, 0, 2);          slider(self, "areaweight", DoubleVar(), 1, 0, 10);
153          slider(self, "yweight", DoubleVar(), 1, 0, 2);          slider(self, "xweight", DoubleVar(), 1, 0, 10);
154    
155      def idle(self):      def idle(self):
156          print "Start idle"          print "Start idle"
157          global areaweight          global areaweight
158          global yweight          global xweight
159          for i in range(0, len(sur)):          for i in range(0, len(sur)):
160              areaweight = ui.areaweight.get()              areaweight = ui.areaweight.get()
161              yweight = ui.yweight.get()              xweight = ui.xweight.get()
162              for rou in range(0,100): sur[i].round()              for rou in range(0,100): sur[i].round()
163              print "Pot:",sur[i].u              print "Pot:",sur[i].u
164              wmesh(i, sur[i].x[0:sur[i].x.shape[0]/2], sur[i].x[sur[i].x.shape[0]/2:])              wmesh(i, sur[i].x[0:sur[i].x.shape[0]/2], sur[i].x[sur[i].x.shape[0]/2:])

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26