gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] gzz/gfx demo/papertest.py libpaper/colors.py li...


From: Janne V. Kujala
Subject: [Gzz-commits] gzz/gfx demo/papertest.py libpaper/colors.py li...
Date: Sat, 21 Sep 2002 07:13:57 -0400

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Janne V. Kujala <address@hidden>        02/09/21 07:13:54

Modified files:
        gfx/demo       : papertest.py 
        gfx/libpaper   : colors.py papermill.py 

Log message:
        Use the same colors for all passes

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/papertest.py.diff?tr1=1.25&tr2=1.26&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/libpaper/colors.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/libpaper/papermill.py.diff?tr1=1.26&tr2=1.27&r1=text&r2=text

Patches:
Index: gzz/gfx/demo/papertest.py
diff -c gzz/gfx/demo/papertest.py:1.25 gzz/gfx/demo/papertest.py:1.26
*** gzz/gfx/demo/papertest.py:1.25      Fri Sep 20 12:12:21 2002
--- gzz/gfx/demo/papertest.py   Sat Sep 21 07:13:54 2002
***************
*** 267,273 ****
      def __init__(self):
          self.bgcolor = (0,0,0)
          self.angle = 0
!         
      def key(self, k):
          pass
      def mouse(self, ev):
--- 267,276 ----
      def __init__(self):
          self.bgcolor = (0,0,0)
          self.angle = 0
! 
!         AbstractUpdateManager.defaultAnimationTime = 3000
!         AbstractUpdateManager.fractCalc = 
AbstractUpdateManager.LinearCalculator()
! 
      def key(self, k):
          pass
      def mouse(self, ev):
***************
*** 280,286 ****
      def scene(self, vs):
        putnoc(vs, background(self.bgcolor))
  
!       cs1 = vs.coords.affineCoordsys(0, "1", 0, -70, 0, 1, 0, 0, 1)
  
          putnoc(vs, getDListNocoords("""
              PointSize 1
--- 283,289 ----
      def scene(self, vs):
        putnoc(vs, background(self.bgcolor))
  
!       cs1 = vs.coords.affineCoordsys(0, "1", 0, -90, 0, 1, 0, 0, 1)
  
          putnoc(vs, getDListNocoords("""
              PointSize 1
Index: gzz/gfx/libpaper/colors.py
diff -c gzz/gfx/libpaper/colors.py:1.4 gzz/gfx/libpaper/colors.py:1.5
*** gzz/gfx/libpaper/colors.py:1.4      Wed Sep 18 23:08:24 2002
--- gzz/gfx/libpaper/colors.py  Sat Sep 21 07:13:54 2002
***************
*** 1,5 ****
--- 1,7 ----
  # Choosing colors and 3-dotproduct factors for papers.
  
+ from math import atan2,pi
+ 
  class Colors:
      def _js(self, arg):
        return " ".join([str(a) for a in arg])
***************
*** 14,19 ****
--- 16,23 ----
                getRandomColor2(minlum + (100-minlum)*0.7, 100, rnd),
                # getRandomColor2(minlum + (100-minlum)*0.5, 100, rnd),
            ]
+             #print self._AB_angle(col)
+             #print self._AB_avg_dot(col)
              # if abdiff(col[0], col[1]) < 40: continue
              #if abdiff(col0, col2) < 40: continue
              #if abdiff(col0, col3) < 40: continue
***************
*** 40,42 ****
--- 44,73 ----
  
      def getNVDP3VecStr(self, ind):
        return self._js(self.randvecs[ind % len(self.randvecs)])+" 1"
+ 
+     def _AB_angle(self, cols):
+         print cols
+         getangle = lambda lab: 180 / pi * atan2(lab[2], lab[1])
+         angles = [ getangle(RGBtoLAB(col)) for col in cols ] 
+         print angles
+         angles.sort() 
+         print angles
+         n = len(angles)
+         maxd = 0
+         for i in range(0, n):
+             if i == n - 1:
+                 d = angles[0] + 360 - angles[i]
+             else:
+                 d = angles[i + 1] - angles[i]
+             maxd = max(d, maxd)
+         return 360 - maxd
+ 
+     def _AB_avg_dot(self, cols):
+         print cols
+         ab = [ (lab[1]/100.0,lab[2]/100.0) for lab in map(RGBtoLAB, cols) ]
+ 
+         dot = lambda x,y: x[0] * y[0] + x[1] * y[1]
+         dots = [ dot(x,y) for x in ab for y in ab ]
+ 
+         return reduce(lambda x,y: x+y, dots) / len(dots)
+     
Index: gzz/gfx/libpaper/papermill.py
diff -c gzz/gfx/libpaper/papermill.py:1.26 gzz/gfx/libpaper/papermill.py:1.27
*** gzz/gfx/libpaper/papermill.py:1.26  Fri Sep 20 10:29:22 2002
--- gzz/gfx/libpaper/papermill.py       Sat Sep 21 07:13:54 2002
***************
*** 123,128 ****
--- 123,130 ----
            rng.nextInt()
        seeds = [rng.nextInt(2000000000) for foo in passes]
  
+         colors = Colors(rng.nextInt())
+ 
        pap.setNPasses(len(passes))
        #setSolidPass(pap.getPass(0), (0.1,0.1,0.2))
        
***************
*** 131,137 ****
                  passreg = reg.sub("pass"+str(i))
                  passreg.get(regseed, "seed", seeds[i])
                self.makePaperPass(passreg,
!                                    pap.getPass(i), passes[i]["trans"],
                                     emboss = passes[i]["emboss"])
            else:
                  if i == 0:
--- 133,140 ----
                  passreg = reg.sub("pass"+str(i))
                  passreg.get(regseed, "seed", seeds[i])
                self.makePaperPass(passreg,
!                                    pap.getPass(i), colors,
!                                    passes[i]["trans"],
                                     emboss = passes[i]["emboss"])
            else:
                  if i == 0:
***************
*** 142,151 ****
          if dbg: reg.dump()
        return pap
        
!     def makePaperPass(self, reg, ppass, trans = 0, type = None, emboss = 0):
          seed = reg.get(regseed, "seed")
        rnd = java.util.Random(seed)
-       colors = Colors(rnd.nextInt())
        #sh = ShaderPass(selectRandom(shaderTypes,rnd))
          if emboss:
              sh = makeEmbossShaderPass()
--- 145,153 ----
          if dbg: reg.dump()
        return pap
        
!     def makePaperPass(self, reg, ppass, colors, trans = 0, type = None, 
emboss = 0):
          seed = reg.get(regseed, "seed")
        rnd = java.util.Random(seed)
        #sh = ShaderPass(selectRandom(shaderTypes,rnd))
          if emboss:
              sh = makeEmbossShaderPass()




reply via email to

[Prev in Thread] Current Thread [Next in Thread]