~ubuntu-branches/debian/sid/lammps/sid

« back to all changes in this revision

Viewing changes to tools/moltemplate/examples/coarse_grained_examples/chromosome_metaphase_Naumova2013/images/vmd_colorscale_jet.tcl

  • Committer: Package Import Robot
  • Author(s): Anton Gladky
  • Date: 2015-04-29 23:44:49 UTC
  • mfrom: (5.1.3 experimental)
  • Revision ID: package-import@ubuntu.com-20150429234449-mbhy9utku6hp6oq8
Tags: 0~20150313.gitfa668e1-1
Upload into unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
proc lerpcolor { col1 col2 alpha } {
 
3
  set dc [vecsub $col2 $col1]
 
4
  set nc [vecadd $col1 [vecscale $dc $alpha]]
 
5
  return $nc  
 
6
}
 
7
 
 
8
proc coltogs { col } {
 
9
  foreach {r g b} $col {}
 
10
  set gray [expr ($r + $g + $b) / 3.0]
 
11
  return [list $gray $gray $gray]
 
12
}
 
13
 
 
14
proc jet_tricolor_scale {} {
 
15
  display update off
 
16
  set mincolorid [expr [colorinfo num] - 1]
 
17
  set maxcolorid [expr [colorinfo max] - 1]
 
18
  set colrange [expr $maxcolorid - $mincolorid]
 
19
  set colhalf [expr $colrange / 2]
 
20
  for {set i $mincolorid} {$i < $maxcolorid} {incr i} {
 
21
    set colpcnt [expr ($i - $mincolorid) / double($colrange)]
 
22
 
 
23
    # The following color definitions for "jet" sort-of came from:
 
24
    #http://stackoverflow.com/questions/7706339/grayscale-to-red-green-blue-matlab-jet-color-scale
 
25
    # but it was missing "green", so I inserted a green somewhere in the middle.
 
26
 
 
27
    # darkblue/violet 0.0
 
28
    set color0 { 0.08 0.0 0.77 }
 
29
 
 
30
    # blue 0.19
 
31
    set color1 { 0.0 0.0 1.0 }
 
32
 
 
33
    # cyan 0.34
 
34
    set color2 { 0.0 1.0 1.0 }
 
35
 
 
36
    # turquoise 0.4001
 
37
    set color3 { 0.0 1.0 0.78 }
 
38
 
 
39
    # green 0.445
 
40
    set color4 { 0.0 1.0 0.0 }
 
41
 
 
42
    # chartreuse 0.535
 
43
    set color5 { 0.875 1.0 0.0 }
 
44
 
 
45
    # yellow 0.69
 
46
    set color6 { 1.0 1.0 0.0 }
 
47
 
 
48
    # orange 0.73
 
49
    set color7 { 1.0 0.25 0.0 }
 
50
 
 
51
    # red 0.755
 
52
    set color8 { 1.0 0.0 0.0 }
 
53
 
 
54
    # darkred 1.0
 
55
    set color9 { 0.93 0.0 0.0 }
 
56
 
 
57
    if { $colpcnt < 0.19 } {
 
58
      set nc [lerpcolor $color0 $color1 [expr $colpcnt/(0.19-0.0)]]
 
59
    } elseif { $colpcnt < 0.34 } {
 
60
      set nc [lerpcolor $color1 $color2 [expr ($colpcnt-0.19)/(0.34-0.19)]]
 
61
    } elseif { $colpcnt < 0.4001 } {
 
62
      set nc [lerpcolor $color2 $color3 [expr ($colpcnt-0.34)/(0.4001-0.34)]]
 
63
    } elseif { $colpcnt < 0.445 } {
 
64
      set nc [lerpcolor $color2 $color3 [expr ($colpcnt-0.4001)/(0.445-0.4001)]]
 
65
    } elseif { $colpcnt < 0.535 } {
 
66
      set nc [lerpcolor $color3 $color4 [expr ($colpcnt-0.445)/(0.535-0.445)]]
 
67
    } elseif { $colpcnt < 0.69 } {
 
68
      set nc [lerpcolor $color4 $color5 [expr ($colpcnt-0.535)/(0.69-0.535)]]
 
69
    } elseif { $colpcnt < 0.73} {
 
70
      set nc [lerpcolor $color5 $color6 [expr ($colpcnt-0.69)/(0.73-0.69)]]
 
71
    } elseif { $colpcnt < 0.755} {
 
72
      set nc [lerpcolor $color6 $color7 [expr ($colpcnt-0.73)/(0.755-0.73)]]
 
73
    } else {
 
74
      set nc [lerpcolor $color7 $color8 [expr ($colpcnt-0.755)/(1.0-0.755)]]
 
75
    }
 
76
 
 
77
    #    set nc [coltogs $nc]
 
78
    foreach {r g b} $nc {}
 
79
    puts "index: $i $r $g $b   -- $colpcnt"
 
80
    display update ui
 
81
    color change rgb $i $r $g $b 
 
82
  }
 
83
  display update on
 
84
}
 
85
 
 
86
jet_tricolor_scale
 
87