ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/multipoleSFPaper/plots/colorTables
Revision: 3064
Committed: Tue Oct 24 06:07:45 2006 UTC (17 years, 10 months ago) by chrisfen
File size: 7370 byte(s)
Log Message:
Imported sources

File Contents

# User Rev Content
1 chrisfen 3064 #!/usr/bin/perl -w
2    
3     $lowerBound = 10;
4     $upperBound = 100;
5     $range = abs($upperBound - $lowerBound);
6     $quadRange = $range / 4.0;
7     $q0up = $lowerBound + $quadRange;
8     $q1up = $q0up + $quadRange;
9     $q2up = $q1up + $quadRange;
10     $count = 0;
11    
12     while(<>){
13     $lineVal = '';
14    
15     @line = split;
16     for ($i = 0; $i <= $#line; $i++){
17     if ($line[$i] < $lowerBound){
18     $red = 0;
19     $green = 0;
20     $blue = 1.0;
21     } elsif ($line[$i] < $q0up){
22     $red = 0;
23     $blue = 1.0;
24     $fracVal = $q0up - $line[$i];
25     $green = 1.0 - ($fracVal / $quadRange);
26     } elsif ($line[$i] < $q1up){
27     $red = 0;
28     $green = 1.0;
29     $fracVal = $q1up - $line[$i];
30     $blue = $fracVal / $quadRange;
31     } elsif ($line[$i] < $q2up){
32     $green = 1.0;
33     $blue = 0;
34     $fracVal = $q2up - $line[$i];
35     $red = 1.0 - ($fracVal / $quadRange);
36     } elsif ($line[$i] < $upperBound){
37     $red = 1.0;
38     $blue = 0;
39     $fracVal = $upperBound - $line[$i];
40     $green = $fracVal / $quadRange;
41     } else {
42     $red = 1.0;
43     $green = 0;
44     $blue = 0;
45     }
46    
47     $lineVal .= "& \\cellcolor[rgb]{$red, $green, $blue} $line[$i] ";
48     if ($count == 0) {
49     push(@listRed0, $red);
50     push(@listGreen0, $green);
51     push(@listBlue0, $blue);
52     } elsif ($count == 1) {
53     push(@listRed1, $red);
54     push(@listGreen1, $green);
55     push(@listBlue1, $blue);
56     } elsif ($count == 5){
57     push(@listRed5, $red);
58     push(@listGreen5, $green);
59     push(@listBlue5, $blue);
60     } elsif ($count == 6){
61     push(@listRed6, $red);
62     push(@listGreen6, $green);
63     push(@listBlue6, $blue);
64     } elsif ($count == 7){
65     push(@listRed7, $red);
66     push(@listGreen7, $green);
67     push(@listBlue7, $blue);
68     }
69     }
70     $lineVal .= "\\\\ \n";
71     push(@printLines, $lineVal);
72     $count++;
73     }
74    
75     $line05 = '';
76     $line55 = '';
77     $line65 = '';
78     for ($i=0; $i<=$#listRed0; $i++){
79     $red0 = $listRed0[$i];
80     $green0 = $listGreen0[$i];
81     $blue0 = $listBlue0[$i];
82     $red1 = $listRed1[$i];
83     $green1 = $listGreen1[$i];
84     $blue1 = $listBlue1[$i];
85     $red5 = $listRed5[$i];
86     $green5 = $listGreen5[$i];
87     $blue5 = $listBlue5[$i];
88     $red6 = $listRed6[$i];
89     $green6 = $listGreen6[$i];
90     $blue6 = $listBlue6[$i];
91     $red7 = $listRed7[$i];
92     $green7 = $listGreen7[$i];
93     $blue7 = $listBlue7[$i];
94    
95     $colorScale = abs($red0-$red1) + abs($green0-$green1) + abs($blue0-$blue1);
96     $colorScale /= 2.0;
97    
98     if ($red0 == 1.0 && $green0 != 1.0){
99     $green0 += $colorScale;
100     if ($green0 > 1){
101     $colorScale = $green0 - 1.0;
102     $green0 = 1.0;
103     }
104     }
105     if ($colorScale > 0){
106     if (($red0 == 1.0 && $green0 == 1.0) || ($red0 != 1.0 && $green0 == 1.0 && $blue0 == 0)){
107     $red0 -= $colorScale;
108     if ($red0 < 0){
109     $colorScale = abs($red0);
110     $red0 = 0;
111     }
112     }
113     if ($colorScale > 0){
114     if ($red0 == 0.0 && $green0 == 1.0){
115     $blue0 += $colorScale;
116     if ($blue0 > 1.0){
117     $colorScale = $blue0 - 1.0;
118     $blue0 = 1;
119     }
120     }
121     if ($colorScale > 0){
122     if ($blue0 == 1.0){
123     $green0 -= $colorScale;
124     if ($green0 < 0){
125     $colorScale = abs($green0);
126     $green0 = 0.0;
127     }
128     }
129     if ($colorScale > 0){
130     print STDERR "Whoa! Color scaling problems! colorScale = $colorScale\n";
131     }
132     }
133     }
134     }
135    
136     # $tempRed = ($red0[$i] + $red1[$i])/2.0;
137     # $tempGreen = ($green0[$i] + $green1[$i])/2.0;
138     # $tempBlue = ($blue0[$i] + $blue1[$i])/2.0;
139     $line05 .= "& \\cellcolor[rgb]{$red0, $green0, $blue0} ";
140    
141     $colorScale = abs($red5-$red6) + abs($green5-$green6) + abs($blue5-$blue6);
142     $colorScale /= 2.0;
143    
144     if ($red5 == 1.0 && $green5 != 1.0){
145     $green5 += $colorScale;
146     if ($green5 > 1){
147     $colorScale = $green5 - 1.0;
148     $green5 = 1.0;
149     }
150     }
151     if ($colorScale > 0){
152     if (($red5 == 1.0 && $green5 == 1.0) || ($red5 != 1.0 && $green5 == 1.0 && $blue5 == 0)){
153     $red5 -= $colorScale;
154     if ($red5 < 0){
155     $colorScale = abs($red5);
156     $red5 = 0;
157     }
158     }
159     if ($colorScale > 0){
160     if ($red5 == 0.0 && $green5 == 1.0){
161     $blue5 += $colorScale;
162     if ($blue5 > 1.0){
163     $colorScale = $blue5 - 1.0;
164     $blue5 = 1;
165     }
166     }
167     if ($colorScale > 0){
168     if ($blue5 == 1.0){
169     $green5 -= $colorScale;
170     if ($green5 < 0){
171     $colorScale = abs($green5);
172     $green5 = 0.0;
173     }
174     }
175     if ($colorScale > 0){
176     print STDERR "Whoa! Color scaling problems! colorScale = $colorScale\n";
177     }
178     }
179     }
180     }
181    
182     # $tempRed = ($red6[$i] + $red5[$i])/2.0;
183     # $tempGreen = ($green6[$i] + $green5[$i])/2.0;
184     # $tempBlue = ($blue6[$i] + $blue5[$i])/2.0;
185     $line55 .= "& \\cellcolor[rgb]{$red5, $green5, $blue5} ";
186    
187     $colorScale = abs($red6-$red7) + abs($green6-$green7) + abs($blue6-$blue7);
188     $colorScale /= 2.0;
189    
190     if ($red6 == 1.0 && $green6 != 1.0){
191     $green6 += $colorScale;
192     if ($green6 > 1){
193     $colorScale = $green6 - 1.0;
194     $green6 = 1.0;
195     }
196     }
197     if ($colorScale > 0){
198     if (($red6 == 1.0 && $green6 == 1.0) || ($red6 != 1.0 && $green6 == 1.0 && $blue6 == 0)){
199     $red6 -= $colorScale;
200     if ($red6 < 0){
201     $colorScale = abs($red6);
202     $red6 = 0;
203     }
204     }
205     if ($colorScale > 0){
206     if ($red6 == 0.0 && $green6 == 1.0){
207     $blue6 += $colorScale;
208     if ($blue6 > 1.0){
209     $colorScale = $blue6 - 1.0;
210     $blue6 = 1;
211     }
212     }
213     if ($colorScale > 0){
214     if ($blue6 == 1.0){
215     $green6 -= $colorScale;
216     if ($green6 < 0){
217     $colorScale = abs($green6);
218     $green6 = 0.0;
219     }
220     }
221     if ($colorScale > 0){
222     print STDERR "Whoa! Color scaling problems! colorScale = $colorScale\n";
223     }
224     }
225     }
226     }
227    
228     # $tempRed = ($red6[$i] + $red7[$i])/2.0;
229     # $tempGreen = ($green6[$i] + $green7[$i])/2.0;
230     # $tempBlue = ($blue6[$i] + $blue7[$i])/2.0;
231     $line65 .= "& \\cellcolor[rgb]{$red6, $green6, $blue6} ";
232     }
233     $line05 .= "\\\\ \n";
234     $line55 .= "\\\\ \n";
235     $line65 .= "\\\\ \n";
236    
237     for ($i=0; $i<=$#printLines; $i++){
238     print "$printLines[$i]";
239     print "$line05" if $i == 0;
240     print "$line55" if $i == 5;
241     print "$line65" if $i == 6;
242     }

Properties

Name Value
svn:executable *