1 |
greg |
1.1 |
#ifndef lint |
2 |
schorsch |
2.7 |
static const char RCSid[] = "$Id: nff2rad.c,v 2.6 2003/07/27 22:12:01 schorsch Exp $"; |
3 |
greg |
1.1 |
#endif |
4 |
|
|
/* |
5 |
|
|
* Convert Neutral File Format input to Radiance scene description. |
6 |
|
|
* |
7 |
|
|
* 12/9/90 Greg Ward |
8 |
greg |
2.2 |
* 02/7/92 Peter Averkamp added X11(MTV)color names & |
9 |
|
|
* fixed some lf's for direct import of MTV |
10 |
|
|
* source files |
11 |
greg |
1.1 |
*/ |
12 |
|
|
|
13 |
|
|
/****************************************************************** |
14 |
|
|
|
15 |
|
|
Since Eric Haines wrote such excellent documentation of his |
16 |
|
|
Neutral File Format, I am just going to reprint it here with |
17 |
|
|
my added comments in braces {}. |
18 |
|
|
|
19 |
|
|
Neutral File Format (NFF), by Eric Haines |
20 |
|
|
|
21 |
|
|
Draft document #1, 10/3/88 |
22 |
|
|
|
23 |
|
|
The NFF (Neutral File Format) is designed as a minimal scene description |
24 |
|
|
language. The language was designed in order to test various rendering |
25 |
|
|
algorithms and efficiency schemes. It is meant to describe the geometry and |
26 |
|
|
basic surface characteristics of objects, the placement of lights, and the |
27 |
|
|
viewing frustum for the eye. Some additional information is provided for |
28 |
|
|
esthetic reasons (such as the color of the objects, which is not strictly |
29 |
|
|
necessary for testing rendering algorithms). |
30 |
|
|
|
31 |
|
|
Future enhancements include: circle and torus objects, spline surfaces |
32 |
|
|
with trimming curves, directional lights, characteristics for positional |
33 |
|
|
lights, CSG descriptions, and probably more by the time you read this. |
34 |
|
|
Comments, suggestions, and criticisms are all welcome. |
35 |
|
|
|
36 |
|
|
At present the NFF file format is used in conjunction with the SPD (Standard |
37 |
|
|
Procedural Database) software, a package designed to create a variety of |
38 |
|
|
databases for testing rendering schemes. The SPD package is available |
39 |
|
|
from Netlib and via ftp from drizzle.cs.uoregon.edu. For more information |
40 |
|
|
about SPD see "A Proposal for Standard Graphics Environments," IEEE Computer |
41 |
|
|
Graphics and Applications, vol. 7, no. 11, November 1987, pp. 3-5. |
42 |
|
|
|
43 |
|
|
By providing a minimal interface, NFF is meant to act as a simple format to |
44 |
|
|
allow the programmer to quickly write filters to move from NFF to the |
45 |
|
|
local file format. Presently the following entities are supported: |
46 |
|
|
A simple perspective frustum |
47 |
|
|
A positional (vs. directional) light source description |
48 |
|
|
A background color description |
49 |
|
|
A surface properties description |
50 |
|
|
Polygon, polygonal patch, cylinder/cone, and sphere descriptions |
51 |
|
|
|
52 |
|
|
Files are output as lines of text. For each entity, the first line |
53 |
|
|
defines its type. The rest of the first line and possibly other lines |
54 |
|
|
contain further information about the entity. Entities include: |
55 |
|
|
|
56 |
|
|
"v" - viewing vectors and angles { optionally creates view file } |
57 |
|
|
"l" - positional light location { it's there, but bad to use } |
58 |
|
|
"b" - background color { ditto } |
59 |
|
|
"f" - object material properties { this is flakey } |
60 |
|
|
"c" - cone or cylinder primitive |
61 |
|
|
"s" - sphere primitive |
62 |
|
|
"p" - polygon primitive |
63 |
|
|
"pp" - polygonal patch primitive { interpreted same as p for now } |
64 |
|
|
|
65 |
|
|
These are explained in depth below: { see conversion routines } |
66 |
|
|
|
67 |
|
|
***********************************************************************/ |
68 |
|
|
|
69 |
schorsch |
2.7 |
#include <stdlib.h> |
70 |
greg |
1.1 |
#include <stdio.h> |
71 |
schorsch |
2.7 |
#include <string.h> |
72 |
|
|
|
73 |
|
|
#include "rtmath.h" |
74 |
|
|
|
75 |
|
|
typedef double Flt ; |
76 |
|
|
typedef Flt Vec[3] ; |
77 |
|
|
typedef Vec Point ; |
78 |
|
|
typedef Vec Color ; |
79 |
|
|
|
80 |
|
|
#define VecCopy(a,b) (b)[0]=(a)[0];(b)[1]=(a)[1];(b)[2]=(a)[2]; |
81 |
|
|
#define NCOLORS (738) |
82 |
|
|
|
83 |
|
|
typedef struct t_color_entry { |
84 |
|
|
char * ce_name ; |
85 |
|
|
Vec ce_color ; |
86 |
|
|
} ColorEntry ; |
87 |
|
|
|
88 |
|
|
#define LESS_THAN -1 |
89 |
|
|
#define GREATER_THAN 1 |
90 |
|
|
#define EQUAL_TO 0 |
91 |
greg |
1.1 |
|
92 |
|
|
char *viewfile = NULL; /* view parameters file */ |
93 |
|
|
|
94 |
|
|
char *progname; |
95 |
|
|
|
96 |
schorsch |
2.7 |
void init(void); |
97 |
|
|
void nff2rad(void); |
98 |
|
|
void comment(void); |
99 |
|
|
void view(void); |
100 |
|
|
void light(void); |
101 |
|
|
void background(void); |
102 |
|
|
void fill(void); |
103 |
|
|
void cone(void); |
104 |
|
|
void sphere(void); |
105 |
|
|
void poly(void); |
106 |
|
|
int LookupColorByName(char * name, Vec color); |
107 |
|
|
int BinarySearch(char * name, int l, int h, ColorEntry array[]); |
108 |
|
|
|
109 |
greg |
1.1 |
|
110 |
schorsch |
2.7 |
int |
111 |
|
|
main( /* convert NFF file to Radiance */ |
112 |
|
|
int argc, |
113 |
|
|
char *argv[] |
114 |
|
|
) |
115 |
greg |
1.1 |
{ |
116 |
|
|
int i; |
117 |
|
|
|
118 |
|
|
progname = argv[0]; |
119 |
|
|
for (i = 1; i < argc; i++) |
120 |
|
|
if (argc-i > 1 && !strcmp(argv[i], "-vf")) |
121 |
|
|
viewfile = argv[++i]; |
122 |
greg |
2.2 |
else if (!strncmp(argv[i], "-h",2)) |
123 |
|
|
goto userr; |
124 |
greg |
1.1 |
else |
125 |
|
|
break; |
126 |
greg |
2.2 |
if (argc-i > 1) |
127 |
greg |
1.1 |
goto userr; |
128 |
greg |
2.2 |
if (argc-i == 1 && freopen(argv[i], "r", stdin) == NULL) { |
129 |
greg |
1.1 |
perror(argv[i]); |
130 |
|
|
exit(1); |
131 |
|
|
} |
132 |
|
|
init(); |
133 |
|
|
nff2rad(); |
134 |
|
|
exit(0); |
135 |
|
|
userr: |
136 |
|
|
fprintf(stderr, "Usage: %s [-vf viewfile] [input]\n", progname); |
137 |
|
|
exit(1); |
138 |
|
|
} |
139 |
|
|
|
140 |
|
|
|
141 |
schorsch |
2.7 |
void |
142 |
|
|
init(void) /* spit out initial definitions */ |
143 |
greg |
1.1 |
{ |
144 |
|
|
printf("# File created by %s\n", progname); |
145 |
|
|
printf("\nvoid light light\n"); |
146 |
greg |
2.4 |
printf("0\n0\n3 1e6 1e6 1e6\n"); |
147 |
greg |
1.1 |
printf("\nvoid plastic fill\n"); |
148 |
|
|
printf("0\n0\n5 .5 .5 .5 0 0\n"); |
149 |
|
|
} |
150 |
|
|
|
151 |
|
|
|
152 |
schorsch |
2.7 |
void |
153 |
|
|
nff2rad(void) /* convert NFF on stdin to Radiance on stdout */ |
154 |
greg |
1.1 |
{ |
155 |
|
|
register int c; |
156 |
|
|
|
157 |
|
|
while ((c = getchar()) != EOF) |
158 |
|
|
switch (c) { |
159 |
|
|
case ' ': /* white space */ |
160 |
|
|
case '\t': |
161 |
|
|
case '\n': |
162 |
|
|
case '\f': |
163 |
|
|
case '\r': |
164 |
|
|
continue; |
165 |
|
|
case '#': /* comment */ |
166 |
|
|
comment(); |
167 |
|
|
break; |
168 |
|
|
case 'v': /* view point */ |
169 |
|
|
view(); |
170 |
|
|
break; |
171 |
|
|
case 'l': /* light source */ |
172 |
|
|
light(); |
173 |
|
|
break; |
174 |
|
|
case 'b': /* background color */ |
175 |
|
|
background(); |
176 |
|
|
break; |
177 |
|
|
case 'f': /* fill material */ |
178 |
|
|
fill(); |
179 |
|
|
break; |
180 |
|
|
case 'c': /* cylinder or cone */ |
181 |
|
|
cone(); |
182 |
|
|
break; |
183 |
|
|
case 's': /* sphere */ |
184 |
|
|
sphere(); |
185 |
|
|
break; |
186 |
|
|
case 'p': /* polygon or patch */ |
187 |
|
|
poly(); |
188 |
|
|
break; |
189 |
|
|
default: /* unknown */ |
190 |
|
|
fprintf(stderr, "%c: unknown NFF primitive\n", c); |
191 |
|
|
exit(1); |
192 |
|
|
} |
193 |
|
|
} |
194 |
|
|
|
195 |
|
|
|
196 |
|
|
/******************************************* |
197 |
|
|
|
198 |
|
|
Comment. Description: |
199 |
|
|
"#" [ string ] |
200 |
|
|
|
201 |
|
|
Format: |
202 |
|
|
# [ string ] |
203 |
|
|
|
204 |
|
|
As soon as a "#" character is detected, the rest of the line is considered |
205 |
|
|
a comment. |
206 |
|
|
|
207 |
|
|
******************/ |
208 |
|
|
|
209 |
schorsch |
2.7 |
void |
210 |
|
|
comment(void) |
211 |
greg |
1.1 |
{ |
212 |
|
|
register int c; |
213 |
|
|
|
214 |
|
|
putchar('#'); |
215 |
|
|
while ((c = getchar()) != EOF) { |
216 |
|
|
putchar(c); |
217 |
|
|
if (c == '\n') |
218 |
|
|
break; |
219 |
|
|
} |
220 |
|
|
} |
221 |
|
|
|
222 |
|
|
|
223 |
|
|
/*************************************************** |
224 |
|
|
|
225 |
|
|
Viewpoint location. Description: |
226 |
|
|
"v" |
227 |
|
|
"from" Fx Fy Fz |
228 |
|
|
"at" Ax Ay Az |
229 |
|
|
"up" Ux Uy Uz |
230 |
|
|
"angle" angle |
231 |
|
|
"hither" hither |
232 |
|
|
"resolution" xres yres |
233 |
|
|
|
234 |
|
|
Format: |
235 |
|
|
|
236 |
|
|
v |
237 |
|
|
from %g %g %g |
238 |
|
|
at %g %g %g |
239 |
|
|
up %g %g %g |
240 |
|
|
angle %g |
241 |
|
|
hither %g |
242 |
|
|
resolution %d %d |
243 |
|
|
|
244 |
|
|
The parameters are: |
245 |
|
|
|
246 |
|
|
From: the eye location in XYZ. |
247 |
|
|
At: a position to be at the center of the image, in XYZ world |
248 |
|
|
coordinates. A.k.a. "lookat". |
249 |
|
|
Up: a vector defining which direction is up, as an XYZ vector. |
250 |
|
|
Angle: in degrees, defined as from the center of top pixel row to |
251 |
|
|
bottom pixel row and left column to right column. |
252 |
|
|
Resolution: in pixels, in x and in y. |
253 |
|
|
|
254 |
|
|
Note that no assumptions are made about normalizing the data (e.g. the |
255 |
|
|
from-at distance does not have to be 1). Also, vectors are not |
256 |
|
|
required to be perpendicular to each other. |
257 |
|
|
|
258 |
|
|
For all databases some viewing parameters are always the same: |
259 |
|
|
Yon is "at infinity." |
260 |
|
|
Aspect ratio is 1.0. |
261 |
|
|
|
262 |
|
|
A view entity must be defined before any objects are defined (this |
263 |
|
|
requirement is so that NFF files can be used by hidden surface machines). |
264 |
|
|
|
265 |
|
|
***************/ |
266 |
|
|
|
267 |
schorsch |
2.7 |
void |
268 |
|
|
view(void) |
269 |
greg |
1.1 |
{ |
270 |
|
|
static FILE *fp = NULL; |
271 |
|
|
float from[3], at[3], up[3], angle; |
272 |
|
|
|
273 |
|
|
if (scanf(" from %f %f %f", &from[0], &from[1], &from[2]) != 3) |
274 |
|
|
goto fmterr; |
275 |
|
|
if (scanf(" at %f %f %f", &at[0], &at[1], &at[2]) != 3) |
276 |
|
|
goto fmterr; |
277 |
|
|
if (scanf(" up %f %f %f", &up[0], &up[1], &up[2]) != 3) |
278 |
|
|
goto fmterr; |
279 |
|
|
if (scanf(" angle %f", &angle) != 1) |
280 |
|
|
goto fmterr; |
281 |
|
|
scanf(" hither %*f"); |
282 |
|
|
scanf(" resolution %*d %*d"); |
283 |
|
|
if (viewfile != NULL) { |
284 |
|
|
if (fp == NULL && (fp = fopen(viewfile, "a")) == NULL) { |
285 |
|
|
perror(viewfile); |
286 |
|
|
exit(1); |
287 |
|
|
} |
288 |
|
|
fprintf(fp, |
289 |
|
|
"VIEW= -vp %g %g %g -vd %g %g %g -vu %g %g %g -vh %g -vv %g\n", |
290 |
|
|
from[0], from[1], from[2], |
291 |
|
|
at[0]-from[0], at[1]-from[1], at[2]-from[2], |
292 |
|
|
up[0], up[1], up[2], |
293 |
|
|
angle, angle); |
294 |
|
|
} |
295 |
|
|
return; |
296 |
|
|
fmterr: |
297 |
|
|
fprintf(stderr, "%s: view syntax error\n", progname); |
298 |
|
|
exit(1); |
299 |
|
|
} |
300 |
|
|
|
301 |
|
|
|
302 |
|
|
/******************************** |
303 |
|
|
|
304 |
|
|
Positional light. A light is defined by XYZ position. Description: |
305 |
|
|
"l" X Y Z |
306 |
|
|
|
307 |
|
|
Format: |
308 |
|
|
l %g %g %g |
309 |
|
|
|
310 |
|
|
All light entities must be defined before any objects are defined (this |
311 |
|
|
requirement is so that NFF files can be used by hidden surface machines). |
312 |
|
|
Lights have a non-zero intensity of no particular value [this definition |
313 |
|
|
may change soon, with the addition of an intensity and/or color]. |
314 |
|
|
|
315 |
|
|
**************************/ |
316 |
|
|
|
317 |
schorsch |
2.7 |
void |
318 |
|
|
light(void) |
319 |
greg |
1.1 |
{ |
320 |
|
|
static int nlights = 0; |
321 |
|
|
register int c; |
322 |
|
|
float x, y, z; |
323 |
greg |
2.2 |
|
324 |
|
|
if (scanf("%f %f %f",&x, &y, &z) != 3) { |
325 |
|
|
fprintf(stderr, "%s: light source syntax error\n", progname); |
326 |
|
|
exit(1); |
327 |
greg |
1.1 |
} |
328 |
|
|
while ((c = getchar()) != EOF && c != '\n') |
329 |
|
|
; |
330 |
greg |
2.2 |
printf("\nlight sphere l%d \n", ++nlights); |
331 |
greg |
2.4 |
printf("0\n0\n4 %g %g %g .01\n", x, y, z); |
332 |
greg |
1.1 |
} |
333 |
|
|
|
334 |
|
|
|
335 |
|
|
/************************************************** |
336 |
|
|
|
337 |
|
|
Background color. A color is simply RGB with values between 0 and 1: |
338 |
|
|
"b" R G B |
339 |
|
|
|
340 |
|
|
Format: |
341 |
|
|
b %g %g %g |
342 |
|
|
|
343 |
|
|
If no background color is set, assume RGB = {0,0,0}. |
344 |
|
|
|
345 |
|
|
********************/ |
346 |
|
|
|
347 |
schorsch |
2.7 |
void |
348 |
|
|
background(void) |
349 |
greg |
1.1 |
{ |
350 |
|
|
float r, g, b; |
351 |
greg |
2.2 |
char colname[50]; |
352 |
|
|
double cvec[3]; |
353 |
|
|
|
354 |
|
|
if (scanf("%s", colname) != 1) { |
355 |
|
|
fprintf(stderr,"%s: background syntax error\n",progname);exit(1); |
356 |
|
|
} |
357 |
|
|
if(LookupColorByName(colname,cvec)==1){ |
358 |
|
|
r=cvec[0];g=cvec[1];b=cvec[2]; |
359 |
|
|
}else{ |
360 |
|
|
if(sscanf(colname,"%f",&r)!=1 || |
361 |
|
|
scanf("%f %f", &g, &b) !=2) { |
362 |
greg |
1.1 |
fprintf(stderr, "%s: background syntax error\n", progname); |
363 |
|
|
exit(1); |
364 |
greg |
2.2 |
} |
365 |
greg |
1.1 |
} |
366 |
|
|
printf("\nvoid glow backg_color\n"); |
367 |
|
|
printf("0\n0\n4 %g %g %g 0\n", r, g, b); |
368 |
|
|
printf("\nbackg_color source background\n"); |
369 |
|
|
printf("0\n0\n4 0 0 1 360\n"); |
370 |
|
|
} |
371 |
|
|
|
372 |
|
|
|
373 |
|
|
/**************************************************** |
374 |
|
|
|
375 |
|
|
Fill color and shading parameters. Description: |
376 |
|
|
"f" red green blue Kd Ks Shine T index_of_refraction |
377 |
|
|
|
378 |
|
|
Format: |
379 |
|
|
f %g %g %g %g %g %g %g %g |
380 |
|
|
|
381 |
|
|
RGB is in terms of 0.0 to 1.0. |
382 |
|
|
|
383 |
|
|
Kd is the diffuse component, Ks the specular, Shine is the Phong cosine |
384 |
|
|
power for highlights, T is transmittance (fraction of light passed per |
385 |
|
|
unit). Usually, 0 <= Kd <= 1 and 0 <= Ks <= 1, though it is not required |
386 |
|
|
that Kd + Ks == 1. Note that transmitting objects ( T > 0 ) are considered |
387 |
|
|
to have two sides for algorithms that need these (normally objects have |
388 |
|
|
one side). |
389 |
|
|
|
390 |
|
|
The fill color is used to color the objects following it until a new color |
391 |
|
|
is assigned. |
392 |
|
|
|
393 |
|
|
*********************/ |
394 |
|
|
|
395 |
schorsch |
2.7 |
void |
396 |
|
|
fill(void) |
397 |
greg |
1.1 |
{ |
398 |
|
|
float r, g, b, d, s, p, t, n; |
399 |
greg |
2.2 |
char colname[50]; |
400 |
|
|
double cvec[3]; |
401 |
|
|
|
402 |
|
|
if (scanf("%s", colname) != 1) { |
403 |
|
|
fprintf(stderr,"%s: fill syntax error\n",progname);exit(1); |
404 |
|
|
} |
405 |
|
|
if(LookupColorByName(colname,cvec)==1){ |
406 |
|
|
r=cvec[0];g=cvec[1];b=cvec[2]; |
407 |
|
|
}else{ |
408 |
|
|
if(sscanf(colname,"%f",&r)!=1 || |
409 |
|
|
scanf("%f %f", &g, &b) !=2) { |
410 |
|
|
fprintf(stderr, "%s: fill syntax error\n", progname); |
411 |
|
|
exit(1); |
412 |
|
|
} |
413 |
|
|
} |
414 |
|
|
if (scanf("%f %f %f %f %f", &d, &s, &p, &t, &n) != 5) { |
415 |
greg |
1.1 |
fprintf(stderr, "%s: fill material syntax error\n", progname); |
416 |
|
|
exit(1); |
417 |
|
|
} |
418 |
|
|
if (p > 1.) |
419 |
|
|
p = 1./p; |
420 |
|
|
if (t > .001) { /* has transmission */ |
421 |
greg |
2.4 |
if (n > 1.1) { /* has index of refraction */ |
422 |
|
|
printf("\nvoid dielectric fill\n"); |
423 |
|
|
printf("0\n0\n5 %g %g %g %g 0\n", r, g, b, n); |
424 |
|
|
} else { /* transmits w/o refraction */ |
425 |
|
|
printf("\nvoid trans fill\n"); |
426 |
|
|
printf("0\n0\n7 %g %g %g %g 0 %g 1\n", |
427 |
|
|
r*d, g*d, b*d, s, t); |
428 |
|
|
} |
429 |
greg |
1.1 |
} else { /* no transmission */ |
430 |
|
|
printf("\nvoid plastic fill\n"); |
431 |
greg |
2.4 |
printf("0\n0\n5 %g %g %g %g %g\n", r*d, g*d, b*d, s, p); |
432 |
greg |
1.1 |
} |
433 |
|
|
} |
434 |
|
|
|
435 |
|
|
|
436 |
|
|
/***************************************************** |
437 |
|
|
|
438 |
|
|
Cylinder or cone. A cylinder is defined as having a radius and an axis |
439 |
|
|
defined by two points, which also define the top and bottom edge of the |
440 |
|
|
cylinder. A cone is defined similarly, the difference being that the apex |
441 |
|
|
and base radii are different. The apex radius is defined as being smaller |
442 |
|
|
than the base radius. Note that the surface exists without endcaps. The |
443 |
|
|
cone or cylinder description: |
444 |
|
|
|
445 |
|
|
"c" |
446 |
|
|
base.x base.y base.z base_radius |
447 |
|
|
apex.x apex.y apex.z apex_radius |
448 |
|
|
|
449 |
|
|
Format: |
450 |
|
|
c |
451 |
|
|
%g %g %g %g |
452 |
|
|
%g %g %g %g |
453 |
|
|
|
454 |
|
|
A negative value for both radii means that only the inside of the object is |
455 |
|
|
visible (objects are normally considered one sided, with the outside |
456 |
|
|
visible). Note that the base and apex cannot be coincident for a cylinder |
457 |
|
|
or cone. |
458 |
|
|
|
459 |
|
|
************************/ |
460 |
|
|
|
461 |
schorsch |
2.7 |
void |
462 |
|
|
cone(void) |
463 |
greg |
1.1 |
{ |
464 |
|
|
static int ncs = 0; |
465 |
|
|
int invert; |
466 |
|
|
float x0, y0, z0, x1, y1, z1, r0, r1; |
467 |
|
|
|
468 |
|
|
if (scanf("%f %f %f %f %f %f %f %f", &x0, &y0, &z0, &r0, |
469 |
|
|
&x1, &y1, &z1, &r1) != 8) { |
470 |
|
|
fprintf(stderr, "%s: cylinder or cone syntax error\n", |
471 |
|
|
progname); |
472 |
|
|
exit(1); |
473 |
|
|
} |
474 |
schorsch |
2.6 |
if ( (invert = r0 < 0.) ) { |
475 |
greg |
1.1 |
r0 = -r0; |
476 |
|
|
r1 = -r1; |
477 |
|
|
} |
478 |
|
|
if (r0-r1 < .001 && r1-r0 < .001) { /* cylinder */ |
479 |
greg |
2.2 |
printf("\nfill %s c%d \n", invert?"tube":"cylinder", ++ncs); |
480 |
greg |
1.1 |
printf("0\n0\n7\n"); |
481 |
|
|
printf("\t%g\t%g\t%g\n", x0, y0, z0); |
482 |
|
|
printf("\t%g\t%g\t%g\n", x1, y1, z1); |
483 |
|
|
printf("\t%g\n", r0); |
484 |
|
|
} else { /* cone */ |
485 |
greg |
2.2 |
printf("\nfill %s c%d \n", invert?"cup":"cone", ++ncs); |
486 |
greg |
1.1 |
printf("0\n0\n8\n"); |
487 |
|
|
printf("\t%g\t%g\t%g\n", x0, y0, z0); |
488 |
|
|
printf("\t%g\t%g\t%g\n", x1, y1, z1); |
489 |
|
|
printf("\t%g\t%g\n", r0, r1); |
490 |
|
|
} |
491 |
|
|
} |
492 |
|
|
|
493 |
|
|
|
494 |
|
|
/***************************************** |
495 |
|
|
|
496 |
|
|
Sphere. A sphere is defined by a radius and center position: |
497 |
|
|
"s" center.x center.y center.z radius |
498 |
|
|
|
499 |
|
|
Format: |
500 |
|
|
s %g %g %g %g |
501 |
|
|
|
502 |
|
|
If the radius is negative, then only the sphere's inside is visible |
503 |
|
|
(objects are normally considered one sided, with the outside visible). |
504 |
|
|
|
505 |
|
|
******************/ |
506 |
|
|
|
507 |
schorsch |
2.7 |
void |
508 |
|
|
sphere(void) |
509 |
greg |
1.1 |
{ |
510 |
|
|
static int nspheres = 0; |
511 |
|
|
float x, y, z, r; |
512 |
|
|
|
513 |
|
|
if (scanf("%f %f %f %f", &x, &y, &z, &r) != 4) { |
514 |
|
|
fprintf(stderr, "%s: sphere syntax error\n", progname); |
515 |
|
|
exit(1); |
516 |
|
|
} |
517 |
|
|
if (r < 0.) { |
518 |
greg |
2.2 |
printf("\nfill bubble s%d \n", ++nspheres); |
519 |
greg |
1.1 |
printf("0\n0\n4 %g %g %g %g\n", x, y, z, -r); |
520 |
|
|
} else { |
521 |
greg |
2.2 |
printf("\nfill sphere s%d \n", ++nspheres); |
522 |
greg |
1.1 |
printf("0\n0\n4 %g %g %g %g\n", x, y, z, r); |
523 |
|
|
} |
524 |
|
|
} |
525 |
|
|
|
526 |
|
|
|
527 |
|
|
/********************************************* |
528 |
|
|
|
529 |
|
|
Polygon. A polygon is defined by a set of vertices. With these databases, |
530 |
|
|
a polygon is defined to have all points coplanar. A polygon has only |
531 |
|
|
one side, with the order of the vertices being counterclockwise as you |
532 |
|
|
face the polygon (right-handed coordinate system). The first two edges |
533 |
|
|
must form a non-zero convex angle, so that the normal and side visibility |
534 |
|
|
can be determined. Description: |
535 |
|
|
|
536 |
|
|
"p" total_vertices |
537 |
|
|
vert1.x vert1.y vert1.z |
538 |
|
|
[etc. for total_vertices vertices] |
539 |
|
|
|
540 |
|
|
Format: |
541 |
|
|
p %d |
542 |
|
|
[ %g %g %g ] <-- for total_vertices vertices |
543 |
|
|
|
544 |
|
|
-------- |
545 |
|
|
|
546 |
|
|
Polygonal patch. A patch is defined by a set of vertices and their normals. |
547 |
|
|
With these databases, a patch is defined to have all points coplanar. |
548 |
|
|
A patch has only one side, with the order of the vertices being |
549 |
|
|
counterclockwise as you face the patch (right-handed coordinate system). |
550 |
|
|
The first two edges must form a non-zero convex angle, so that the normal |
551 |
|
|
and side visibility can be determined. Description: |
552 |
|
|
|
553 |
|
|
"pp" total_vertices |
554 |
|
|
vert1.x vert1.y vert1.z norm1.x norm1.y norm1.z |
555 |
|
|
[etc. for total_vertices vertices] |
556 |
|
|
|
557 |
|
|
Format: |
558 |
|
|
pp %d |
559 |
|
|
[ %g %g %g %g %g %g ] <-- for total_vertices vertices |
560 |
|
|
|
561 |
|
|
*******************/ |
562 |
|
|
|
563 |
schorsch |
2.7 |
void |
564 |
|
|
poly(void) |
565 |
greg |
1.1 |
{ |
566 |
|
|
static int npolys = 0; |
567 |
|
|
int ispatch; |
568 |
|
|
int nverts; |
569 |
|
|
float x, y, z; |
570 |
|
|
|
571 |
|
|
ispatch = getchar(); |
572 |
|
|
if (ispatch != 'p') { |
573 |
|
|
ungetc(ispatch, stdin); |
574 |
|
|
ispatch = 0; |
575 |
|
|
} |
576 |
|
|
if (scanf("%d", &nverts) != 1) |
577 |
|
|
goto fmterr; |
578 |
greg |
2.2 |
printf("\nfill polygon p%d \n", ++npolys); |
579 |
greg |
1.1 |
printf("0\n0\n%d\n", 3*nverts); |
580 |
|
|
while (nverts-- > 0) { |
581 |
|
|
if (scanf("%f %f %f", &x, &y, &z) != 3) |
582 |
|
|
goto fmterr; |
583 |
|
|
if (ispatch) |
584 |
|
|
scanf("%*f %*f %*f"); |
585 |
|
|
printf("\t%g\t%g\t%g\n", x, y, z); |
586 |
|
|
} |
587 |
|
|
return; |
588 |
|
|
fmterr: |
589 |
|
|
fprintf(stderr, "%s: polygon or patch syntax error\n", progname); |
590 |
|
|
exit(1); |
591 |
greg |
2.2 |
} |
592 |
|
|
/*********************************************************************** |
593 |
schorsch |
2.7 |
* $Author: schorsch $ (Mark VandeWettering, drizzle.cs.uoregon.edu) |
594 |
|
|
* $Revision: 2.6 $ |
595 |
|
|
* $Date: 2003/07/27 22:12:01 $ |
596 |
schorsch |
2.6 |
* $Log: nff2rad.c,v $ |
597 |
schorsch |
2.7 |
* Revision 2.6 2003/07/27 22:12:01 schorsch |
598 |
|
|
* Added grouping parens to reduce ambiguity warnings. |
599 |
|
|
* |
600 |
schorsch |
2.6 |
* Revision 2.5 2003/02/22 02:07:23 greg |
601 |
|
|
* Changes and check-in for 3.5 release |
602 |
|
|
* Includes new source files and modifications not recorded for many years |
603 |
|
|
* See ray/doc/notes/ReleaseNotes for notes between 3.1 and 3.5 release |
604 |
|
|
* |
605 |
greg |
2.2 |
* Revision 1.2 88/09/12 12:53:47 markv |
606 |
|
|
* Fixed problem in LookupColorbyName, had return ; and return(0). |
607 |
|
|
* [ Thank you lint! ] |
608 |
|
|
* |
609 |
|
|
* Revision 1.1 88/09/11 11:00:37 markv |
610 |
|
|
* Initial revision |
611 |
|
|
* |
612 |
|
|
* Peter Averkamp 92/02/01 |
613 |
|
|
* added complete X11R5 rgb.txt-table, hacked standalone version |
614 |
|
|
* for nff2rad |
615 |
|
|
* |
616 |
|
|
***********************************************************************/ |
617 |
|
|
|
618 |
|
|
/* |
619 |
|
|
* Note: These colors must be in sorted order, because we binary search |
620 |
|
|
* for them. |
621 |
|
|
* |
622 |
|
|
* They were swiped from the X-11 distribution. Sorry.... |
623 |
|
|
*/ |
624 |
|
|
|
625 |
|
|
ColorEntry Colors[] = { |
626 |
greg |
2.3 |
{"AliceBlue", {0.941176 , 0.972549 , 1.000000 }}, |
627 |
|
|
{"AntiqueWhite", {0.980392 , 0.921569 , 0.843137 }}, |
628 |
|
|
{"AntiqueWhite1", {1.000000 , 0.937255 , 0.858824 }}, |
629 |
|
|
{"AntiqueWhite2", {0.933333 , 0.874510 , 0.800000 }}, |
630 |
|
|
{"AntiqueWhite3", {0.803922 , 0.752941 , 0.690196 }}, |
631 |
|
|
{"AntiqueWhite4", {0.545098 , 0.513725 , 0.470588 }}, |
632 |
|
|
{"BlanchedAlmond", {1.000000 , 0.921569 , 0.803922 }}, |
633 |
|
|
{"BlueViolet", {0.541176 , 0.168627 , 0.886275 }}, |
634 |
|
|
{"CadetBlue", {0.372549 , 0.619608 , 0.627451 }}, |
635 |
|
|
{"CadetBlue1", {0.596078 , 0.960784 , 1.000000 }}, |
636 |
|
|
{"CadetBlue2", {0.556863 , 0.898039 , 0.933333 }}, |
637 |
|
|
{"CadetBlue3", {0.478431 , 0.772549 , 0.803922 }}, |
638 |
|
|
{"CadetBlue4", {0.325490 , 0.525490 , 0.545098 }}, |
639 |
|
|
{"CornflowerBlue", {0.392157 , 0.584314 , 0.929412 }}, |
640 |
|
|
{"DarkGoldenrod", {0.721569 , 0.525490 , 0.043137 }}, |
641 |
|
|
{"DarkGoldenrod1", {1.000000 , 0.725490 , 0.058824 }}, |
642 |
|
|
{"DarkGoldenrod2", {0.933333 , 0.678431 , 0.054902 }}, |
643 |
|
|
{"DarkGoldenrod3", {0.803922 , 0.584314 , 0.047059 }}, |
644 |
|
|
{"DarkGoldenrod4", {0.545098 , 0.396078 , 0.031373 }}, |
645 |
|
|
{"DarkGreen", {0.000000 , 0.392157 , 0.000000 }}, |
646 |
|
|
{"DarkKhaki", {0.741176 , 0.717647 , 0.419608 }}, |
647 |
|
|
{"DarkOliveGreen", {0.333333 , 0.419608 , 0.184314 }}, |
648 |
|
|
{"DarkOliveGreen1", {0.792157 , 1.000000 , 0.439216 }}, |
649 |
|
|
{"DarkOliveGreen2", {0.737255 , 0.933333 , 0.407843 }}, |
650 |
|
|
{"DarkOliveGreen3", {0.635294 , 0.803922 , 0.352941 }}, |
651 |
|
|
{"DarkOliveGreen4", {0.431373 , 0.545098 , 0.239216 }}, |
652 |
|
|
{"DarkOrange", {1.000000 , 0.549020 , 0.000000 }}, |
653 |
|
|
{"DarkOrange1", {1.000000 , 0.498039 , 0.000000 }}, |
654 |
|
|
{"DarkOrange2", {0.933333 , 0.462745 , 0.000000 }}, |
655 |
|
|
{"DarkOrange3", {0.803922 , 0.400000 , 0.000000 }}, |
656 |
|
|
{"DarkOrange4", {0.545098 , 0.270588 , 0.000000 }}, |
657 |
|
|
{"DarkOrchid", {0.600000 , 0.196078 , 0.800000 }}, |
658 |
|
|
{"DarkOrchid1", {0.749020 , 0.243137 , 1.000000 }}, |
659 |
|
|
{"DarkOrchid2", {0.698039 , 0.227451 , 0.933333 }}, |
660 |
|
|
{"DarkOrchid3", {0.603922 , 0.196078 , 0.803922 }}, |
661 |
|
|
{"DarkOrchid4", {0.407843 , 0.133333 , 0.545098 }}, |
662 |
|
|
{"DarkSalmon", {0.913725 , 0.588235 , 0.478431 }}, |
663 |
|
|
{"DarkSeaGreen", {0.560784 , 0.737255 , 0.560784 }}, |
664 |
|
|
{"DarkSeaGreen1", {0.756863 , 1.000000 , 0.756863 }}, |
665 |
|
|
{"DarkSeaGreen2", {0.705882 , 0.933333 , 0.705882 }}, |
666 |
|
|
{"DarkSeaGreen3", {0.607843 , 0.803922 , 0.607843 }}, |
667 |
|
|
{"DarkSeaGreen4", {0.411765 , 0.545098 , 0.411765 }}, |
668 |
|
|
{"DarkSlateBlue", {0.282353 , 0.239216 , 0.545098 }}, |
669 |
|
|
{"DarkSlateGray", {0.184314 , 0.309804 , 0.309804 }}, |
670 |
|
|
{"DarkSlateGray1", {0.592157 , 1.000000 , 1.000000 }}, |
671 |
|
|
{"DarkSlateGray2", {0.552941 , 0.933333 , 0.933333 }}, |
672 |
|
|
{"DarkSlateGray3", {0.474510 , 0.803922 , 0.803922 }}, |
673 |
|
|
{"DarkSlateGray4", {0.321569 , 0.545098 , 0.545098 }}, |
674 |
|
|
{"DarkSlateGrey", {0.184314 , 0.309804 , 0.309804 }}, |
675 |
|
|
{"DarkTurquoise", {0.000000 , 0.807843 , 0.819608 }}, |
676 |
|
|
{"DarkViolet", {0.580392 , 0.000000 , 0.827451 }}, |
677 |
|
|
{"DeepPink", {1.000000 , 0.078431 , 0.576471 }}, |
678 |
|
|
{"DeepPink1", {1.000000 , 0.078431 , 0.576471 }}, |
679 |
|
|
{"DeepPink2", {0.933333 , 0.070588 , 0.537255 }}, |
680 |
|
|
{"DeepPink3", {0.803922 , 0.062745 , 0.462745 }}, |
681 |
|
|
{"DeepPink4", {0.545098 , 0.039216 , 0.313725 }}, |
682 |
|
|
{"DeepSkyBlue", {0.000000 , 0.749020 , 1.000000 }}, |
683 |
|
|
{"DeepSkyBlue1", {0.000000 , 0.749020 , 1.000000 }}, |
684 |
|
|
{"DeepSkyBlue2", {0.000000 , 0.698039 , 0.933333 }}, |
685 |
|
|
{"DeepSkyBlue3", {0.000000 , 0.603922 , 0.803922 }}, |
686 |
|
|
{"DeepSkyBlue4", {0.000000 , 0.407843 , 0.545098 }}, |
687 |
|
|
{"DimGray", {0.411765 , 0.411765 , 0.411765 }}, |
688 |
|
|
{"DimGrey", {0.411765 , 0.411765 , 0.411765 }}, |
689 |
|
|
{"DodgerBlue", {0.117647 , 0.564706 , 1.000000 }}, |
690 |
|
|
{"DodgerBlue1", {0.117647 , 0.564706 , 1.000000 }}, |
691 |
|
|
{"DodgerBlue2", {0.109804 , 0.525490 , 0.933333 }}, |
692 |
|
|
{"DodgerBlue3", {0.094118 , 0.454902 , 0.803922 }}, |
693 |
|
|
{"DodgerBlue4", {0.062745 , 0.305882 , 0.545098 }}, |
694 |
|
|
{"FloralWhite", {1.000000 , 0.980392 , 0.941176 }}, |
695 |
|
|
{"ForestGreen", {0.133333 , 0.545098 , 0.133333 }}, |
696 |
|
|
{"GhostWhite", {0.972549 , 0.972549 , 1.000000 }}, |
697 |
|
|
{"GreenYellow", {0.678431 , 1.000000 , 0.184314 }}, |
698 |
|
|
{"HotPink", {1.000000 , 0.411765 , 0.705882 }}, |
699 |
|
|
{"HotPink1", {1.000000 , 0.431373 , 0.705882 }}, |
700 |
|
|
{"HotPink2", {0.933333 , 0.415686 , 0.654902 }}, |
701 |
|
|
{"HotPink3", {0.803922 , 0.376471 , 0.564706 }}, |
702 |
|
|
{"HotPink4", {0.545098 , 0.227451 , 0.384314 }}, |
703 |
|
|
{"IndianRed", {0.803922 , 0.360784 , 0.360784 }}, |
704 |
|
|
{"IndianRed1", {1.000000 , 0.415686 , 0.415686 }}, |
705 |
|
|
{"IndianRed2", {0.933333 , 0.388235 , 0.388235 }}, |
706 |
|
|
{"IndianRed3", {0.803922 , 0.333333 , 0.333333 }}, |
707 |
|
|
{"IndianRed4", {0.545098 , 0.227451 , 0.227451 }}, |
708 |
|
|
{"LavenderBlush", {1.000000 , 0.941176 , 0.960784 }}, |
709 |
|
|
{"LavenderBlush1", {1.000000 , 0.941176 , 0.960784 }}, |
710 |
|
|
{"LavenderBlush2", {0.933333 , 0.878431 , 0.898039 }}, |
711 |
|
|
{"LavenderBlush3", {0.803922 , 0.756863 , 0.772549 }}, |
712 |
|
|
{"LavenderBlush4", {0.545098 , 0.513725 , 0.525490 }}, |
713 |
|
|
{"LawnGreen", {0.486275 , 0.988235 , 0.000000 }}, |
714 |
|
|
{"LemonChiffon", {1.000000 , 0.980392 , 0.803922 }}, |
715 |
|
|
{"LemonChiffon1", {1.000000 , 0.980392 , 0.803922 }}, |
716 |
|
|
{"LemonChiffon2", {0.933333 , 0.913725 , 0.749020 }}, |
717 |
|
|
{"LemonChiffon3", {0.803922 , 0.788235 , 0.647059 }}, |
718 |
|
|
{"LemonChiffon4", {0.545098 , 0.537255 , 0.439216 }}, |
719 |
|
|
{"LightBlue", {0.678431 , 0.847059 , 0.901961 }}, |
720 |
|
|
{"LightBlue1", {0.749020 , 0.937255 , 1.000000 }}, |
721 |
|
|
{"LightBlue2", {0.698039 , 0.874510 , 0.933333 }}, |
722 |
|
|
{"LightBlue3", {0.603922 , 0.752941 , 0.803922 }}, |
723 |
|
|
{"LightBlue4", {0.407843 , 0.513725 , 0.545098 }}, |
724 |
|
|
{"LightCoral", {0.941176 , 0.501961 , 0.501961 }}, |
725 |
|
|
{"LightCyan", {0.878431 , 1.000000 , 1.000000 }}, |
726 |
|
|
{"LightCyan1", {0.878431 , 1.000000 , 1.000000 }}, |
727 |
|
|
{"LightCyan2", {0.819608 , 0.933333 , 0.933333 }}, |
728 |
|
|
{"LightCyan3", {0.705882 , 0.803922 , 0.803922 }}, |
729 |
|
|
{"LightCyan4", {0.478431 , 0.545098 , 0.545098 }}, |
730 |
|
|
{"LightGoldenrod", {0.933333 , 0.866667 , 0.509804 }}, |
731 |
|
|
{"LightGoldenrod1", {1.000000 , 0.925490 , 0.545098 }}, |
732 |
|
|
{"LightGoldenrod2", {0.933333 , 0.862745 , 0.509804 }}, |
733 |
|
|
{"LightGoldenrod3", {0.803922 , 0.745098 , 0.439216 }}, |
734 |
|
|
{"LightGoldenrod4", {0.545098 , 0.505882 , 0.298039 }}, |
735 |
|
|
{"LightGoldenrodYellow", {0.980392 , 0.980392 , 0.823529 }}, |
736 |
|
|
{"LightGray", {0.827451 , 0.827451 , 0.827451 }}, |
737 |
|
|
{"LightGrey", {0.827451 , 0.827451 , 0.827451 }}, |
738 |
|
|
{"LightPink", {1.000000 , 0.713725 , 0.756863 }}, |
739 |
|
|
{"LightPink1", {1.000000 , 0.682353 , 0.725490 }}, |
740 |
|
|
{"LightPink2", {0.933333 , 0.635294 , 0.678431 }}, |
741 |
|
|
{"LightPink3", {0.803922 , 0.549020 , 0.584314 }}, |
742 |
|
|
{"LightPink4", {0.545098 , 0.372549 , 0.396078 }}, |
743 |
|
|
{"LightSalmon", {1.000000 , 0.627451 , 0.478431 }}, |
744 |
|
|
{"LightSalmon1", {1.000000 , 0.627451 , 0.478431 }}, |
745 |
|
|
{"LightSalmon2", {0.933333 , 0.584314 , 0.447059 }}, |
746 |
|
|
{"LightSalmon3", {0.803922 , 0.505882 , 0.384314 }}, |
747 |
|
|
{"LightSalmon4", {0.545098 , 0.341176 , 0.258824 }}, |
748 |
|
|
{"LightSeaGreen", {0.125490 , 0.698039 , 0.666667 }}, |
749 |
|
|
{"LightSkyBlue", {0.529412 , 0.807843 , 0.980392 }}, |
750 |
|
|
{"LightSkyBlue1", {0.690196 , 0.886275 , 1.000000 }}, |
751 |
|
|
{"LightSkyBlue2", {0.643137 , 0.827451 , 0.933333 }}, |
752 |
|
|
{"LightSkyBlue3", {0.552941 , 0.713725 , 0.803922 }}, |
753 |
|
|
{"LightSkyBlue4", {0.376471 , 0.482353 , 0.545098 }}, |
754 |
|
|
{"LightSlateBlue", {0.517647 , 0.439216 , 1.000000 }}, |
755 |
|
|
{"LightSlateGray", {0.466667 , 0.533333 , 0.600000 }}, |
756 |
|
|
{"LightSlateGrey", {0.466667 , 0.533333 , 0.600000 }}, |
757 |
|
|
{"LightSteelBlue", {0.690196 , 0.768627 , 0.870588 }}, |
758 |
|
|
{"LightSteelBlue1", {0.792157 , 0.882353 , 1.000000 }}, |
759 |
|
|
{"LightSteelBlue2", {0.737255 , 0.823529 , 0.933333 }}, |
760 |
|
|
{"LightSteelBlue3", {0.635294 , 0.709804 , 0.803922 }}, |
761 |
|
|
{"LightSteelBlue4", {0.431373 , 0.482353 , 0.545098 }}, |
762 |
|
|
{"LightYellow", {1.000000 , 1.000000 , 0.878431 }}, |
763 |
|
|
{"LightYellow1", {1.000000 , 1.000000 , 0.878431 }}, |
764 |
|
|
{"LightYellow2", {0.933333 , 0.933333 , 0.819608 }}, |
765 |
|
|
{"LightYellow3", {0.803922 , 0.803922 , 0.705882 }}, |
766 |
|
|
{"LightYellow4", {0.545098 , 0.545098 , 0.478431 }}, |
767 |
|
|
{"LimeGreen", {0.196078 , 0.803922 , 0.196078 }}, |
768 |
|
|
{"MediumAquamarine", {0.400000 , 0.803922 , 0.666667 }}, |
769 |
|
|
{"MediumBlue", {0.000000 , 0.000000 , 0.803922 }}, |
770 |
|
|
{"MediumOrchid", {0.729412 , 0.333333 , 0.827451 }}, |
771 |
|
|
{"MediumOrchid1", {0.878431 , 0.400000 , 1.000000 }}, |
772 |
|
|
{"MediumOrchid2", {0.819608 , 0.372549 , 0.933333 }}, |
773 |
|
|
{"MediumOrchid3", {0.705882 , 0.321569 , 0.803922 }}, |
774 |
|
|
{"MediumOrchid4", {0.478431 , 0.215686 , 0.545098 }}, |
775 |
|
|
{"MediumPurple", {0.576471 , 0.439216 , 0.858824 }}, |
776 |
|
|
{"MediumPurple1", {0.670588 , 0.509804 , 1.000000 }}, |
777 |
|
|
{"MediumPurple2", {0.623529 , 0.474510 , 0.933333 }}, |
778 |
|
|
{"MediumPurple3", {0.537255 , 0.407843 , 0.803922 }}, |
779 |
|
|
{"MediumPurple4", {0.364706 , 0.278431 , 0.545098 }}, |
780 |
|
|
{"MediumSeaGreen", {0.235294 , 0.701961 , 0.443137 }}, |
781 |
|
|
{"MediumSlateBlue", {0.482353 , 0.407843 , 0.933333 }}, |
782 |
|
|
{"MediumSpringGreen", {0.000000 , 0.980392 , 0.603922 }}, |
783 |
|
|
{"MediumTurquoise", {0.282353 , 0.819608 , 0.800000 }}, |
784 |
|
|
{"MediumVioletRed", {0.780392 , 0.082353 , 0.521569 }}, |
785 |
|
|
{"MidnightBlue", {0.098039 , 0.098039 , 0.439216 }}, |
786 |
|
|
{"MintCream", {0.960784 , 1.000000 , 0.980392 }}, |
787 |
|
|
{"MistyRose", {1.000000 , 0.894118 , 0.882353 }}, |
788 |
|
|
{"MistyRose1", {1.000000 , 0.894118 , 0.882353 }}, |
789 |
|
|
{"MistyRose2", {0.933333 , 0.835294 , 0.823529 }}, |
790 |
|
|
{"MistyRose3", {0.803922 , 0.717647 , 0.709804 }}, |
791 |
|
|
{"MistyRose4", {0.545098 , 0.490196 , 0.482353 }}, |
792 |
|
|
{"NavajoWhite", {1.000000 , 0.870588 , 0.678431 }}, |
793 |
|
|
{"NavajoWhite1", {1.000000 , 0.870588 , 0.678431 }}, |
794 |
|
|
{"NavajoWhite2", {0.933333 , 0.811765 , 0.631373 }}, |
795 |
|
|
{"NavajoWhite3", {0.803922 , 0.701961 , 0.545098 }}, |
796 |
|
|
{"NavajoWhite4", {0.545098 , 0.474510 , 0.368627 }}, |
797 |
|
|
{"NavyBlue", {0.000000 , 0.000000 , 0.501961 }}, |
798 |
|
|
{"OldLace", {0.992157 , 0.960784 , 0.901961 }}, |
799 |
|
|
{"OliveDrab", {0.419608 , 0.556863 , 0.137255 }}, |
800 |
|
|
{"OliveDrab1", {0.752941 , 1.000000 , 0.243137 }}, |
801 |
|
|
{"OliveDrab2", {0.701961 , 0.933333 , 0.227451 }}, |
802 |
|
|
{"OliveDrab3", {0.603922 , 0.803922 , 0.196078 }}, |
803 |
|
|
{"OliveDrab4", {0.411765 , 0.545098 , 0.133333 }}, |
804 |
|
|
{"OrangeRed", {1.000000 , 0.270588 , 0.000000 }}, |
805 |
|
|
{"OrangeRed1", {1.000000 , 0.270588 , 0.000000 }}, |
806 |
|
|
{"OrangeRed2", {0.933333 , 0.250980 , 0.000000 }}, |
807 |
|
|
{"OrangeRed3", {0.803922 , 0.215686 , 0.000000 }}, |
808 |
|
|
{"OrangeRed4", {0.545098 , 0.145098 , 0.000000 }}, |
809 |
|
|
{"PaleGoldenrod", {0.933333 , 0.909804 , 0.666667 }}, |
810 |
|
|
{"PaleGreen", {0.596078 , 0.984314 , 0.596078 }}, |
811 |
|
|
{"PaleGreen1", {0.603922 , 1.000000 , 0.603922 }}, |
812 |
|
|
{"PaleGreen2", {0.564706 , 0.933333 , 0.564706 }}, |
813 |
|
|
{"PaleGreen3", {0.486275 , 0.803922 , 0.486275 }}, |
814 |
|
|
{"PaleGreen4", {0.329412 , 0.545098 , 0.329412 }}, |
815 |
|
|
{"PaleTurquoise", {0.686275 , 0.933333 , 0.933333 }}, |
816 |
|
|
{"PaleTurquoise1", {0.733333 , 1.000000 , 1.000000 }}, |
817 |
|
|
{"PaleTurquoise2", {0.682353 , 0.933333 , 0.933333 }}, |
818 |
|
|
{"PaleTurquoise3", {0.588235 , 0.803922 , 0.803922 }}, |
819 |
|
|
{"PaleTurquoise4", {0.400000 , 0.545098 , 0.545098 }}, |
820 |
|
|
{"PaleVioletRed", {0.858824 , 0.439216 , 0.576471 }}, |
821 |
|
|
{"PaleVioletRed1", {1.000000 , 0.509804 , 0.670588 }}, |
822 |
|
|
{"PaleVioletRed2", {0.933333 , 0.474510 , 0.623529 }}, |
823 |
|
|
{"PaleVioletRed3", {0.803922 , 0.407843 , 0.537255 }}, |
824 |
|
|
{"PaleVioletRed4", {0.545098 , 0.278431 , 0.364706 }}, |
825 |
|
|
{"PapayaWhip", {1.000000 , 0.937255 , 0.835294 }}, |
826 |
|
|
{"PeachPuff", {1.000000 , 0.854902 , 0.725490 }}, |
827 |
|
|
{"PeachPuff1", {1.000000 , 0.854902 , 0.725490 }}, |
828 |
|
|
{"PeachPuff2", {0.933333 , 0.796078 , 0.678431 }}, |
829 |
|
|
{"PeachPuff3", {0.803922 , 0.686275 , 0.584314 }}, |
830 |
|
|
{"PeachPuff4", {0.545098 , 0.466667 , 0.396078 }}, |
831 |
|
|
{"PowderBlue", {0.690196 , 0.878431 , 0.901961 }}, |
832 |
|
|
{"RosyBrown", {0.737255 , 0.560784 , 0.560784 }}, |
833 |
|
|
{"RosyBrown1", {1.000000 , 0.756863 , 0.756863 }}, |
834 |
|
|
{"RosyBrown2", {0.933333 , 0.705882 , 0.705882 }}, |
835 |
|
|
{"RosyBrown3", {0.803922 , 0.607843 , 0.607843 }}, |
836 |
|
|
{"RosyBrown4", {0.545098 , 0.411765 , 0.411765 }}, |
837 |
|
|
{"RoyalBlue", {0.254902 , 0.411765 , 0.882353 }}, |
838 |
|
|
{"RoyalBlue1", {0.282353 , 0.462745 , 1.000000 }}, |
839 |
|
|
{"RoyalBlue2", {0.262745 , 0.431373 , 0.933333 }}, |
840 |
|
|
{"RoyalBlue3", {0.227451 , 0.372549 , 0.803922 }}, |
841 |
|
|
{"RoyalBlue4", {0.152941 , 0.250980 , 0.545098 }}, |
842 |
|
|
{"SaddleBrown", {0.545098 , 0.270588 , 0.074510 }}, |
843 |
|
|
{"SandyBrown", {0.956863 , 0.643137 , 0.376471 }}, |
844 |
|
|
{"SeaGreen", {0.180392 , 0.545098 , 0.341176 }}, |
845 |
|
|
{"SeaGreen1", {0.329412 , 1.000000 , 0.623529 }}, |
846 |
|
|
{"SeaGreen2", {0.305882 , 0.933333 , 0.580392 }}, |
847 |
|
|
{"SeaGreen3", {0.262745 , 0.803922 , 0.501961 }}, |
848 |
|
|
{"SeaGreen4", {0.180392 , 0.545098 , 0.341176 }}, |
849 |
|
|
{"SkyBlue", {0.529412 , 0.807843 , 0.921569 }}, |
850 |
|
|
{"SkyBlue1", {0.529412 , 0.807843 , 1.000000 }}, |
851 |
|
|
{"SkyBlue2", {0.494118 , 0.752941 , 0.933333 }}, |
852 |
|
|
{"SkyBlue3", {0.423529 , 0.650980 , 0.803922 }}, |
853 |
|
|
{"SkyBlue4", {0.290196 , 0.439216 , 0.545098 }}, |
854 |
|
|
{"SlateBlue", {0.415686 , 0.352941 , 0.803922 }}, |
855 |
|
|
{"SlateBlue1", {0.513725 , 0.435294 , 1.000000 }}, |
856 |
|
|
{"SlateBlue2", {0.478431 , 0.403922 , 0.933333 }}, |
857 |
|
|
{"SlateBlue3", {0.411765 , 0.349020 , 0.803922 }}, |
858 |
|
|
{"SlateBlue4", {0.278431 , 0.235294 , 0.545098 }}, |
859 |
|
|
{"SlateGray", {0.439216 , 0.501961 , 0.564706 }}, |
860 |
|
|
{"SlateGray1", {0.776471 , 0.886275 , 1.000000 }}, |
861 |
|
|
{"SlateGray2", {0.725490 , 0.827451 , 0.933333 }}, |
862 |
|
|
{"SlateGray3", {0.623529 , 0.713725 , 0.803922 }}, |
863 |
|
|
{"SlateGray4", {0.423529 , 0.482353 , 0.545098 }}, |
864 |
|
|
{"SlateGrey", {0.439216 , 0.501961 , 0.564706 }}, |
865 |
|
|
{"SpringGreen", {0.000000 , 1.000000 , 0.498039 }}, |
866 |
|
|
{"SpringGreen1", {0.000000 , 1.000000 , 0.498039 }}, |
867 |
|
|
{"SpringGreen2", {0.000000 , 0.933333 , 0.462745 }}, |
868 |
|
|
{"SpringGreen3", {0.000000 , 0.803922 , 0.400000 }}, |
869 |
|
|
{"SpringGreen4", {0.000000 , 0.545098 , 0.270588 }}, |
870 |
|
|
{"SteelBlue", {0.274510 , 0.509804 , 0.705882 }}, |
871 |
|
|
{"SteelBlue1", {0.388235 , 0.721569 , 1.000000 }}, |
872 |
|
|
{"SteelBlue2", {0.360784 , 0.674510 , 0.933333 }}, |
873 |
|
|
{"SteelBlue3", {0.309804 , 0.580392 , 0.803922 }}, |
874 |
|
|
{"SteelBlue4", {0.211765 , 0.392157 , 0.545098 }}, |
875 |
|
|
{"VioletRed", {0.815686 , 0.125490 , 0.564706 }}, |
876 |
|
|
{"VioletRed1", {1.000000 , 0.243137 , 0.588235 }}, |
877 |
|
|
{"VioletRed2", {0.933333 , 0.227451 , 0.549020 }}, |
878 |
|
|
{"VioletRed3", {0.803922 , 0.196078 , 0.470588 }}, |
879 |
|
|
{"VioletRed4", {0.545098 , 0.133333 , 0.321569 }}, |
880 |
|
|
{"WhiteSmoke", {0.960784 , 0.960784 , 0.960784 }}, |
881 |
|
|
{"YellowGreen", {0.603922 , 0.803922 , 0.196078 }}, |
882 |
|
|
{"alice_blue", {0.941176 , 0.972549 , 1.000000 }}, |
883 |
|
|
{"antique_white", {0.980392 , 0.921569 , 0.843137 }}, |
884 |
|
|
{"aquamarine", {0.498039 , 1.000000 , 0.831373 }}, |
885 |
|
|
{"aquamarine1", {0.498039 , 1.000000 , 0.831373 }}, |
886 |
|
|
{"aquamarine2", {0.462745 , 0.933333 , 0.776471 }}, |
887 |
|
|
{"aquamarine3", {0.400000 , 0.803922 , 0.666667 }}, |
888 |
|
|
{"aquamarine4", {0.270588 , 0.545098 , 0.454902 }}, |
889 |
|
|
{"azure", {0.941176 , 1.000000 , 1.000000 }}, |
890 |
|
|
{"azure1", {0.941176 , 1.000000 , 1.000000 }}, |
891 |
|
|
{"azure2", {0.878431 , 0.933333 , 0.933333 }}, |
892 |
|
|
{"azure3", {0.756863 , 0.803922 , 0.803922 }}, |
893 |
|
|
{"azure4", {0.513725 , 0.545098 , 0.545098 }}, |
894 |
|
|
{"beige", {0.960784 , 0.960784 , 0.862745 }}, |
895 |
|
|
{"bisque", {1.000000 , 0.894118 , 0.768627 }}, |
896 |
|
|
{"bisque1", {1.000000 , 0.894118 , 0.768627 }}, |
897 |
|
|
{"bisque2", {0.933333 , 0.835294 , 0.717647 }}, |
898 |
|
|
{"bisque3", {0.803922 , 0.717647 , 0.619608 }}, |
899 |
|
|
{"bisque4", {0.545098 , 0.490196 , 0.419608 }}, |
900 |
|
|
{"black", {0.000000 , 0.000000 , 0.000000 }}, |
901 |
|
|
{"blanched_almond", {1.000000 , 0.921569 , 0.803922 }}, |
902 |
|
|
{"blue", {0.000000 , 0.000000 , 1.000000 }}, |
903 |
|
|
{"blue1", {0.000000 , 0.000000 , 1.000000 }}, |
904 |
|
|
{"blue2", {0.000000 , 0.000000 , 0.933333 }}, |
905 |
|
|
{"blue3", {0.000000 , 0.000000 , 0.803922 }}, |
906 |
|
|
{"blue4", {0.000000 , 0.000000 , 0.545098 }}, |
907 |
|
|
{"blue_violet", {0.541176 , 0.168627 , 0.886275 }}, |
908 |
|
|
{"brown", {0.647059 , 0.164706 , 0.164706 }}, |
909 |
|
|
{"brown1", {1.000000 , 0.250980 , 0.250980 }}, |
910 |
|
|
{"brown2", {0.933333 , 0.231373 , 0.231373 }}, |
911 |
|
|
{"brown3", {0.803922 , 0.200000 , 0.200000 }}, |
912 |
|
|
{"brown4", {0.545098 , 0.137255 , 0.137255 }}, |
913 |
|
|
{"burlywood", {0.870588 , 0.721569 , 0.529412 }}, |
914 |
|
|
{"burlywood1", {1.000000 , 0.827451 , 0.607843 }}, |
915 |
|
|
{"burlywood2", {0.933333 , 0.772549 , 0.568627 }}, |
916 |
|
|
{"burlywood3", {0.803922 , 0.666667 , 0.490196 }}, |
917 |
|
|
{"burlywood4", {0.545098 , 0.450980 , 0.333333 }}, |
918 |
|
|
{"cadet_blue", {0.372549 , 0.619608 , 0.627451 }}, |
919 |
|
|
{"chartreuse", {0.498039 , 1.000000 , 0.000000 }}, |
920 |
|
|
{"chartreuse1", {0.498039 , 1.000000 , 0.000000 }}, |
921 |
|
|
{"chartreuse2", {0.462745 , 0.933333 , 0.000000 }}, |
922 |
|
|
{"chartreuse3", {0.400000 , 0.803922 , 0.000000 }}, |
923 |
|
|
{"chartreuse4", {0.270588 , 0.545098 , 0.000000 }}, |
924 |
|
|
{"chocolate", {0.823529 , 0.411765 , 0.117647 }}, |
925 |
|
|
{"chocolate1", {1.000000 , 0.498039 , 0.141176 }}, |
926 |
|
|
{"chocolate2", {0.933333 , 0.462745 , 0.129412 }}, |
927 |
|
|
{"chocolate3", {0.803922 , 0.400000 , 0.113725 }}, |
928 |
|
|
{"chocolate4", {0.545098 , 0.270588 , 0.074510 }}, |
929 |
|
|
{"coral", {1.000000 , 0.498039 , 0.313725 }}, |
930 |
|
|
{"coral1", {1.000000 , 0.447059 , 0.337255 }}, |
931 |
|
|
{"coral2", {0.933333 , 0.415686 , 0.313725 }}, |
932 |
|
|
{"coral3", {0.803922 , 0.356863 , 0.270588 }}, |
933 |
|
|
{"coral4", {0.545098 , 0.243137 , 0.184314 }}, |
934 |
|
|
{"cornflower_blue", {0.392157 , 0.584314 , 0.929412 }}, |
935 |
|
|
{"cornsilk", {1.000000 , 0.972549 , 0.862745 }}, |
936 |
|
|
{"cornsilk1", {1.000000 , 0.972549 , 0.862745 }}, |
937 |
|
|
{"cornsilk2", {0.933333 , 0.909804 , 0.803922 }}, |
938 |
|
|
{"cornsilk3", {0.803922 , 0.784314 , 0.694118 }}, |
939 |
|
|
{"cornsilk4", {0.545098 , 0.533333 , 0.470588 }}, |
940 |
|
|
{"cyan", {0.000000 , 1.000000 , 1.000000 }}, |
941 |
|
|
{"cyan1", {0.000000 , 1.000000 , 1.000000 }}, |
942 |
|
|
{"cyan2", {0.000000 , 0.933333 , 0.933333 }}, |
943 |
|
|
{"cyan3", {0.000000 , 0.803922 , 0.803922 }}, |
944 |
|
|
{"cyan4", {0.000000 , 0.545098 , 0.545098 }}, |
945 |
|
|
{"dark_goldenrod", {0.721569 , 0.525490 , 0.043137 }}, |
946 |
|
|
{"dark_green", {0.000000 , 0.392157 , 0.000000 }}, |
947 |
|
|
{"dark_khaki", {0.741176 , 0.717647 , 0.419608 }}, |
948 |
|
|
{"dark_olive_green", {0.333333 , 0.419608 , 0.184314 }}, |
949 |
|
|
{"dark_orange", {1.000000 , 0.549020 , 0.000000 }}, |
950 |
|
|
{"dark_orchid", {0.600000 , 0.196078 , 0.800000 }}, |
951 |
|
|
{"dark_salmon", {0.913725 , 0.588235 , 0.478431 }}, |
952 |
|
|
{"dark_sea_green", {0.560784 , 0.737255 , 0.560784 }}, |
953 |
|
|
{"dark_slate_blue", {0.282353 , 0.239216 , 0.545098 }}, |
954 |
|
|
{"dark_slate_gray", {0.184314 , 0.309804 , 0.309804 }}, |
955 |
|
|
{"dark_slate_grey", {0.184314 , 0.309804 , 0.309804 }}, |
956 |
|
|
{"dark_turquoise", {0.000000 , 0.807843 , 0.819608 }}, |
957 |
|
|
{"dark_violet", {0.580392 , 0.000000 , 0.827451 }}, |
958 |
|
|
{"deep_pink", {1.000000 , 0.078431 , 0.576471 }}, |
959 |
|
|
{"deep_sky_blue", {0.000000 , 0.749020 , 1.000000 }}, |
960 |
|
|
{"dim_gray", {0.411765 , 0.411765 , 0.411765 }}, |
961 |
|
|
{"dim_grey", {0.411765 , 0.411765 , 0.411765 }}, |
962 |
|
|
{"dodger_blue", {0.117647 , 0.564706 , 1.000000 }}, |
963 |
|
|
{"firebrick", {0.698039 , 0.133333 , 0.133333 }}, |
964 |
|
|
{"firebrick1", {1.000000 , 0.188235 , 0.188235 }}, |
965 |
|
|
{"firebrick2", {0.933333 , 0.172549 , 0.172549 }}, |
966 |
|
|
{"firebrick3", {0.803922 , 0.149020 , 0.149020 }}, |
967 |
|
|
{"firebrick4", {0.545098 , 0.101961 , 0.101961 }}, |
968 |
|
|
{"floral_white", {1.000000 , 0.980392 , 0.941176 }}, |
969 |
|
|
{"forest_green", {0.133333 , 0.545098 , 0.133333 }}, |
970 |
|
|
{"gainsboro", {0.862745 , 0.862745 , 0.862745 }}, |
971 |
|
|
{"ghost_white", {0.972549 , 0.972549 , 1.000000 }}, |
972 |
|
|
{"gold", {1.000000 , 0.843137 , 0.000000 }}, |
973 |
|
|
{"gold1", {1.000000 , 0.843137 , 0.000000 }}, |
974 |
|
|
{"gold2", {0.933333 , 0.788235 , 0.000000 }}, |
975 |
|
|
{"gold3", {0.803922 , 0.678431 , 0.000000 }}, |
976 |
|
|
{"gold4", {0.545098 , 0.458824 , 0.000000 }}, |
977 |
|
|
{"goldenrod", {0.854902 , 0.647059 , 0.125490 }}, |
978 |
|
|
{"goldenrod1", {1.000000 , 0.756863 , 0.145098 }}, |
979 |
|
|
{"goldenrod2", {0.933333 , 0.705882 , 0.133333 }}, |
980 |
|
|
{"goldenrod3", {0.803922 , 0.607843 , 0.113725 }}, |
981 |
|
|
{"goldenrod4", {0.545098 , 0.411765 , 0.078431 }}, |
982 |
|
|
{"gray", {0.752941 , 0.752941 , 0.752941 }}, |
983 |
|
|
{"gray0", {0.000000 , 0.000000 , 0.000000 }}, |
984 |
|
|
{"gray1", {0.011765 , 0.011765 , 0.011765 }}, |
985 |
|
|
{"gray10", {0.101961 , 0.101961 , 0.101961 }}, |
986 |
|
|
{"gray100", {1.000000 , 1.000000 , 1.000000 }}, |
987 |
|
|
{"gray11", {0.109804 , 0.109804 , 0.109804 }}, |
988 |
|
|
{"gray12", {0.121569 , 0.121569 , 0.121569 }}, |
989 |
|
|
{"gray13", {0.129412 , 0.129412 , 0.129412 }}, |
990 |
|
|
{"gray14", {0.141176 , 0.141176 , 0.141176 }}, |
991 |
|
|
{"gray15", {0.149020 , 0.149020 , 0.149020 }}, |
992 |
|
|
{"gray16", {0.160784 , 0.160784 , 0.160784 }}, |
993 |
|
|
{"gray17", {0.168627 , 0.168627 , 0.168627 }}, |
994 |
|
|
{"gray18", {0.180392 , 0.180392 , 0.180392 }}, |
995 |
|
|
{"gray19", {0.188235 , 0.188235 , 0.188235 }}, |
996 |
|
|
{"gray2", {0.019608 , 0.019608 , 0.019608 }}, |
997 |
|
|
{"gray20", {0.200000 , 0.200000 , 0.200000 }}, |
998 |
|
|
{"gray21", {0.211765 , 0.211765 , 0.211765 }}, |
999 |
|
|
{"gray22", {0.219608 , 0.219608 , 0.219608 }}, |
1000 |
|
|
{"gray23", {0.231373 , 0.231373 , 0.231373 }}, |
1001 |
|
|
{"gray24", {0.239216 , 0.239216 , 0.239216 }}, |
1002 |
|
|
{"gray25", {0.250980 , 0.250980 , 0.250980 }}, |
1003 |
|
|
{"gray26", {0.258824 , 0.258824 , 0.258824 }}, |
1004 |
|
|
{"gray27", {0.270588 , 0.270588 , 0.270588 }}, |
1005 |
|
|
{"gray28", {0.278431 , 0.278431 , 0.278431 }}, |
1006 |
|
|
{"gray29", {0.290196 , 0.290196 , 0.290196 }}, |
1007 |
|
|
{"gray3", {0.031373 , 0.031373 , 0.031373 }}, |
1008 |
|
|
{"gray30", {0.301961 , 0.301961 , 0.301961 }}, |
1009 |
|
|
{"gray31", {0.309804 , 0.309804 , 0.309804 }}, |
1010 |
|
|
{"gray32", {0.321569 , 0.321569 , 0.321569 }}, |
1011 |
|
|
{"gray33", {0.329412 , 0.329412 , 0.329412 }}, |
1012 |
|
|
{"gray34", {0.341176 , 0.341176 , 0.341176 }}, |
1013 |
|
|
{"gray35", {0.349020 , 0.349020 , 0.349020 }}, |
1014 |
|
|
{"gray36", {0.360784 , 0.360784 , 0.360784 }}, |
1015 |
|
|
{"gray37", {0.368627 , 0.368627 , 0.368627 }}, |
1016 |
|
|
{"gray38", {0.380392 , 0.380392 , 0.380392 }}, |
1017 |
|
|
{"gray39", {0.388235 , 0.388235 , 0.388235 }}, |
1018 |
|
|
{"gray4", {0.039216 , 0.039216 , 0.039216 }}, |
1019 |
|
|
{"gray40", {0.400000 , 0.400000 , 0.400000 }}, |
1020 |
|
|
{"gray41", {0.411765 , 0.411765 , 0.411765 }}, |
1021 |
|
|
{"gray42", {0.419608 , 0.419608 , 0.419608 }}, |
1022 |
|
|
{"gray43", {0.431373 , 0.431373 , 0.431373 }}, |
1023 |
|
|
{"gray44", {0.439216 , 0.439216 , 0.439216 }}, |
1024 |
|
|
{"gray45", {0.450980 , 0.450980 , 0.450980 }}, |
1025 |
|
|
{"gray46", {0.458824 , 0.458824 , 0.458824 }}, |
1026 |
|
|
{"gray47", {0.470588 , 0.470588 , 0.470588 }}, |
1027 |
|
|
{"gray48", {0.478431 , 0.478431 , 0.478431 }}, |
1028 |
|
|
{"gray49", {0.490196 , 0.490196 , 0.490196 }}, |
1029 |
|
|
{"gray5", {0.050980 , 0.050980 , 0.050980 }}, |
1030 |
|
|
{"gray50", {0.498039 , 0.498039 , 0.498039 }}, |
1031 |
|
|
{"gray51", {0.509804 , 0.509804 , 0.509804 }}, |
1032 |
|
|
{"gray52", {0.521569 , 0.521569 , 0.521569 }}, |
1033 |
|
|
{"gray53", {0.529412 , 0.529412 , 0.529412 }}, |
1034 |
|
|
{"gray54", {0.541176 , 0.541176 , 0.541176 }}, |
1035 |
|
|
{"gray55", {0.549020 , 0.549020 , 0.549020 }}, |
1036 |
|
|
{"gray56", {0.560784 , 0.560784 , 0.560784 }}, |
1037 |
|
|
{"gray57", {0.568627 , 0.568627 , 0.568627 }}, |
1038 |
|
|
{"gray58", {0.580392 , 0.580392 , 0.580392 }}, |
1039 |
|
|
{"gray59", {0.588235 , 0.588235 , 0.588235 }}, |
1040 |
|
|
{"gray6", {0.058824 , 0.058824 , 0.058824 }}, |
1041 |
|
|
{"gray60", {0.600000 , 0.600000 , 0.600000 }}, |
1042 |
|
|
{"gray61", {0.611765 , 0.611765 , 0.611765 }}, |
1043 |
|
|
{"gray62", {0.619608 , 0.619608 , 0.619608 }}, |
1044 |
|
|
{"gray63", {0.631373 , 0.631373 , 0.631373 }}, |
1045 |
|
|
{"gray64", {0.639216 , 0.639216 , 0.639216 }}, |
1046 |
|
|
{"gray65", {0.650980 , 0.650980 , 0.650980 }}, |
1047 |
|
|
{"gray66", {0.658824 , 0.658824 , 0.658824 }}, |
1048 |
|
|
{"gray67", {0.670588 , 0.670588 , 0.670588 }}, |
1049 |
|
|
{"gray68", {0.678431 , 0.678431 , 0.678431 }}, |
1050 |
|
|
{"gray69", {0.690196 , 0.690196 , 0.690196 }}, |
1051 |
|
|
{"gray7", {0.070588 , 0.070588 , 0.070588 }}, |
1052 |
|
|
{"gray70", {0.701961 , 0.701961 , 0.701961 }}, |
1053 |
|
|
{"gray71", {0.709804 , 0.709804 , 0.709804 }}, |
1054 |
|
|
{"gray72", {0.721569 , 0.721569 , 0.721569 }}, |
1055 |
|
|
{"gray73", {0.729412 , 0.729412 , 0.729412 }}, |
1056 |
|
|
{"gray74", {0.741176 , 0.741176 , 0.741176 }}, |
1057 |
|
|
{"gray75", {0.749020 , 0.749020 , 0.749020 }}, |
1058 |
|
|
{"gray76", {0.760784 , 0.760784 , 0.760784 }}, |
1059 |
|
|
{"gray77", {0.768627 , 0.768627 , 0.768627 }}, |
1060 |
|
|
{"gray78", {0.780392 , 0.780392 , 0.780392 }}, |
1061 |
|
|
{"gray79", {0.788235 , 0.788235 , 0.788235 }}, |
1062 |
|
|
{"gray8", {0.078431 , 0.078431 , 0.078431 }}, |
1063 |
|
|
{"gray80", {0.800000 , 0.800000 , 0.800000 }}, |
1064 |
|
|
{"gray81", {0.811765 , 0.811765 , 0.811765 }}, |
1065 |
|
|
{"gray82", {0.819608 , 0.819608 , 0.819608 }}, |
1066 |
|
|
{"gray83", {0.831373 , 0.831373 , 0.831373 }}, |
1067 |
|
|
{"gray84", {0.839216 , 0.839216 , 0.839216 }}, |
1068 |
|
|
{"gray85", {0.850980 , 0.850980 , 0.850980 }}, |
1069 |
|
|
{"gray86", {0.858824 , 0.858824 , 0.858824 }}, |
1070 |
|
|
{"gray87", {0.870588 , 0.870588 , 0.870588 }}, |
1071 |
|
|
{"gray88", {0.878431 , 0.878431 , 0.878431 }}, |
1072 |
|
|
{"gray89", {0.890196 , 0.890196 , 0.890196 }}, |
1073 |
|
|
{"gray9", {0.090196 , 0.090196 , 0.090196 }}, |
1074 |
|
|
{"gray90", {0.898039 , 0.898039 , 0.898039 }}, |
1075 |
|
|
{"gray91", {0.909804 , 0.909804 , 0.909804 }}, |
1076 |
|
|
{"gray92", {0.921569 , 0.921569 , 0.921569 }}, |
1077 |
|
|
{"gray93", {0.929412 , 0.929412 , 0.929412 }}, |
1078 |
|
|
{"gray94", {0.941176 , 0.941176 , 0.941176 }}, |
1079 |
|
|
{"gray95", {0.949020 , 0.949020 , 0.949020 }}, |
1080 |
|
|
{"gray96", {0.960784 , 0.960784 , 0.960784 }}, |
1081 |
|
|
{"gray97", {0.968627 , 0.968627 , 0.968627 }}, |
1082 |
|
|
{"gray98", {0.980392 , 0.980392 , 0.980392 }}, |
1083 |
|
|
{"gray99", {0.988235 , 0.988235 , 0.988235 }}, |
1084 |
|
|
{"green", {0.000000 , 1.000000 , 0.000000 }}, |
1085 |
|
|
{"green1", {0.000000 , 1.000000 , 0.000000 }}, |
1086 |
|
|
{"green2", {0.000000 , 0.933333 , 0.000000 }}, |
1087 |
|
|
{"green3", {0.000000 , 0.803922 , 0.000000 }}, |
1088 |
|
|
{"green4", {0.000000 , 0.545098 , 0.000000 }}, |
1089 |
|
|
{"green_yellow", {0.678431 , 1.000000 , 0.184314 }}, |
1090 |
|
|
{"grey", {0.752941 , 0.752941 , 0.752941 }}, |
1091 |
|
|
{"grey0", {0.000000 , 0.000000 , 0.000000 }}, |
1092 |
|
|
{"grey1", {0.011765 , 0.011765 , 0.011765 }}, |
1093 |
|
|
{"grey10", {0.101961 , 0.101961 , 0.101961 }}, |
1094 |
|
|
{"grey100", {1.000000 , 1.000000 , 1.000000 }}, |
1095 |
|
|
{"grey11", {0.109804 , 0.109804 , 0.109804 }}, |
1096 |
|
|
{"grey12", {0.121569 , 0.121569 , 0.121569 }}, |
1097 |
|
|
{"grey13", {0.129412 , 0.129412 , 0.129412 }}, |
1098 |
|
|
{"grey14", {0.141176 , 0.141176 , 0.141176 }}, |
1099 |
|
|
{"grey15", {0.149020 , 0.149020 , 0.149020 }}, |
1100 |
|
|
{"grey16", {0.160784 , 0.160784 , 0.160784 }}, |
1101 |
|
|
{"grey17", {0.168627 , 0.168627 , 0.168627 }}, |
1102 |
|
|
{"grey18", {0.180392 , 0.180392 , 0.180392 }}, |
1103 |
|
|
{"grey19", {0.188235 , 0.188235 , 0.188235 }}, |
1104 |
|
|
{"grey2", {0.019608 , 0.019608 , 0.019608 }}, |
1105 |
|
|
{"grey20", {0.200000 , 0.200000 , 0.200000 }}, |
1106 |
|
|
{"grey21", {0.211765 , 0.211765 , 0.211765 }}, |
1107 |
|
|
{"grey22", {0.219608 , 0.219608 , 0.219608 }}, |
1108 |
|
|
{"grey23", {0.231373 , 0.231373 , 0.231373 }}, |
1109 |
|
|
{"grey24", {0.239216 , 0.239216 , 0.239216 }}, |
1110 |
|
|
{"grey25", {0.250980 , 0.250980 , 0.250980 }}, |
1111 |
|
|
{"grey26", {0.258824 , 0.258824 , 0.258824 }}, |
1112 |
|
|
{"grey27", {0.270588 , 0.270588 , 0.270588 }}, |
1113 |
|
|
{"grey28", {0.278431 , 0.278431 , 0.278431 }}, |
1114 |
|
|
{"grey29", {0.290196 , 0.290196 , 0.290196 }}, |
1115 |
|
|
{"grey3", {0.031373 , 0.031373 , 0.031373 }}, |
1116 |
|
|
{"grey30", {0.301961 , 0.301961 , 0.301961 }}, |
1117 |
|
|
{"grey31", {0.309804 , 0.309804 , 0.309804 }}, |
1118 |
|
|
{"grey32", {0.321569 , 0.321569 , 0.321569 }}, |
1119 |
|
|
{"grey33", {0.329412 , 0.329412 , 0.329412 }}, |
1120 |
|
|
{"grey34", {0.341176 , 0.341176 , 0.341176 }}, |
1121 |
|
|
{"grey35", {0.349020 , 0.349020 , 0.349020 }}, |
1122 |
|
|
{"grey36", {0.360784 , 0.360784 , 0.360784 }}, |
1123 |
|
|
{"grey37", {0.368627 , 0.368627 , 0.368627 }}, |
1124 |
|
|
{"grey38", {0.380392 , 0.380392 , 0.380392 }}, |
1125 |
|
|
{"grey39", {0.388235 , 0.388235 , 0.388235 }}, |
1126 |
|
|
{"grey4", {0.039216 , 0.039216 , 0.039216 }}, |
1127 |
|
|
{"grey40", {0.400000 , 0.400000 , 0.400000 }}, |
1128 |
|
|
{"grey41", {0.411765 , 0.411765 , 0.411765 }}, |
1129 |
|
|
{"grey42", {0.419608 , 0.419608 , 0.419608 }}, |
1130 |
|
|
{"grey43", {0.431373 , 0.431373 , 0.431373 }}, |
1131 |
|
|
{"grey44", {0.439216 , 0.439216 , 0.439216 }}, |
1132 |
|
|
{"grey45", {0.450980 , 0.450980 , 0.450980 }}, |
1133 |
|
|
{"grey46", {0.458824 , 0.458824 , 0.458824 }}, |
1134 |
|
|
{"grey47", {0.470588 , 0.470588 , 0.470588 }}, |
1135 |
|
|
{"grey48", {0.478431 , 0.478431 , 0.478431 }}, |
1136 |
|
|
{"grey49", {0.490196 , 0.490196 , 0.490196 }}, |
1137 |
|
|
{"grey5", {0.050980 , 0.050980 , 0.050980 }}, |
1138 |
|
|
{"grey50", {0.498039 , 0.498039 , 0.498039 }}, |
1139 |
|
|
{"grey51", {0.509804 , 0.509804 , 0.509804 }}, |
1140 |
|
|
{"grey52", {0.521569 , 0.521569 , 0.521569 }}, |
1141 |
|
|
{"grey53", {0.529412 , 0.529412 , 0.529412 }}, |
1142 |
|
|
{"grey54", {0.541176 , 0.541176 , 0.541176 }}, |
1143 |
|
|
{"grey55", {0.549020 , 0.549020 , 0.549020 }}, |
1144 |
|
|
{"grey56", {0.560784 , 0.560784 , 0.560784 }}, |
1145 |
|
|
{"grey57", {0.568627 , 0.568627 , 0.568627 }}, |
1146 |
|
|
{"grey58", {0.580392 , 0.580392 , 0.580392 }}, |
1147 |
|
|
{"grey59", {0.588235 , 0.588235 , 0.588235 }}, |
1148 |
|
|
{"grey6", {0.058824 , 0.058824 , 0.058824 }}, |
1149 |
|
|
{"grey60", {0.600000 , 0.600000 , 0.600000 }}, |
1150 |
|
|
{"grey61", {0.611765 , 0.611765 , 0.611765 }}, |
1151 |
|
|
{"grey62", {0.619608 , 0.619608 , 0.619608 }}, |
1152 |
|
|
{"grey63", {0.631373 , 0.631373 , 0.631373 }}, |
1153 |
|
|
{"grey64", {0.639216 , 0.639216 , 0.639216 }}, |
1154 |
|
|
{"grey65", {0.650980 , 0.650980 , 0.650980 }}, |
1155 |
|
|
{"grey66", {0.658824 , 0.658824 , 0.658824 }}, |
1156 |
|
|
{"grey67", {0.670588 , 0.670588 , 0.670588 }}, |
1157 |
|
|
{"grey68", {0.678431 , 0.678431 , 0.678431 }}, |
1158 |
|
|
{"grey69", {0.690196 , 0.690196 , 0.690196 }}, |
1159 |
|
|
{"grey7", {0.070588 , 0.070588 , 0.070588 }}, |
1160 |
|
|
{"grey70", {0.701961 , 0.701961 , 0.701961 }}, |
1161 |
|
|
{"grey71", {0.709804 , 0.709804 , 0.709804 }}, |
1162 |
|
|
{"grey72", {0.721569 , 0.721569 , 0.721569 }}, |
1163 |
|
|
{"grey73", {0.729412 , 0.729412 , 0.729412 }}, |
1164 |
|
|
{"grey74", {0.741176 , 0.741176 , 0.741176 }}, |
1165 |
|
|
{"grey75", {0.749020 , 0.749020 , 0.749020 }}, |
1166 |
|
|
{"grey76", {0.760784 , 0.760784 , 0.760784 }}, |
1167 |
|
|
{"grey77", {0.768627 , 0.768627 , 0.768627 }}, |
1168 |
|
|
{"grey78", {0.780392 , 0.780392 , 0.780392 }}, |
1169 |
|
|
{"grey79", {0.788235 , 0.788235 , 0.788235 }}, |
1170 |
|
|
{"grey8", {0.078431 , 0.078431 , 0.078431 }}, |
1171 |
|
|
{"grey80", {0.800000 , 0.800000 , 0.800000 }}, |
1172 |
|
|
{"grey81", {0.811765 , 0.811765 , 0.811765 }}, |
1173 |
|
|
{"grey82", {0.819608 , 0.819608 , 0.819608 }}, |
1174 |
|
|
{"grey83", {0.831373 , 0.831373 , 0.831373 }}, |
1175 |
|
|
{"grey84", {0.839216 , 0.839216 , 0.839216 }}, |
1176 |
|
|
{"grey85", {0.850980 , 0.850980 , 0.850980 }}, |
1177 |
|
|
{"grey86", {0.858824 , 0.858824 , 0.858824 }}, |
1178 |
|
|
{"grey87", {0.870588 , 0.870588 , 0.870588 }}, |
1179 |
|
|
{"grey88", {0.878431 , 0.878431 , 0.878431 }}, |
1180 |
|
|
{"grey89", {0.890196 , 0.890196 , 0.890196 }}, |
1181 |
|
|
{"grey9", {0.090196 , 0.090196 , 0.090196 }}, |
1182 |
|
|
{"grey90", {0.898039 , 0.898039 , 0.898039 }}, |
1183 |
|
|
{"grey91", {0.909804 , 0.909804 , 0.909804 }}, |
1184 |
|
|
{"grey92", {0.921569 , 0.921569 , 0.921569 }}, |
1185 |
|
|
{"grey93", {0.929412 , 0.929412 , 0.929412 }}, |
1186 |
|
|
{"grey94", {0.941176 , 0.941176 , 0.941176 }}, |
1187 |
|
|
{"grey95", {0.949020 , 0.949020 , 0.949020 }}, |
1188 |
|
|
{"grey96", {0.960784 , 0.960784 , 0.960784 }}, |
1189 |
|
|
{"grey97", {0.968627 , 0.968627 , 0.968627 }}, |
1190 |
|
|
{"grey98", {0.980392 , 0.980392 , 0.980392 }}, |
1191 |
|
|
{"grey99", {0.988235 , 0.988235 , 0.988235 }}, |
1192 |
|
|
{"honeydew", {0.941176 , 1.000000 , 0.941176 }}, |
1193 |
|
|
{"honeydew1", {0.941176 , 1.000000 , 0.941176 }}, |
1194 |
|
|
{"honeydew2", {0.878431 , 0.933333 , 0.878431 }}, |
1195 |
|
|
{"honeydew3", {0.756863 , 0.803922 , 0.756863 }}, |
1196 |
|
|
{"honeydew4", {0.513725 , 0.545098 , 0.513725 }}, |
1197 |
|
|
{"hot_pink", {1.000000 , 0.411765 , 0.705882 }}, |
1198 |
|
|
{"indian_red", {0.803922 , 0.360784 , 0.360784 }}, |
1199 |
|
|
{"ivory", {1.000000 , 1.000000 , 0.941176 }}, |
1200 |
|
|
{"ivory1", {1.000000 , 1.000000 , 0.941176 }}, |
1201 |
|
|
{"ivory2", {0.933333 , 0.933333 , 0.878431 }}, |
1202 |
|
|
{"ivory3", {0.803922 , 0.803922 , 0.756863 }}, |
1203 |
|
|
{"ivory4", {0.545098 , 0.545098 , 0.513725 }}, |
1204 |
|
|
{"khaki", {0.941176 , 0.901961 , 0.549020 }}, |
1205 |
|
|
{"khaki1", {1.000000 , 0.964706 , 0.560784 }}, |
1206 |
|
|
{"khaki2", {0.933333 , 0.901961 , 0.521569 }}, |
1207 |
|
|
{"khaki3", {0.803922 , 0.776471 , 0.450980 }}, |
1208 |
|
|
{"khaki4", {0.545098 , 0.525490 , 0.305882 }}, |
1209 |
|
|
{"lavender", {0.901961 , 0.901961 , 0.980392 }}, |
1210 |
|
|
{"lavender_blush", {1.000000 , 0.941176 , 0.960784 }}, |
1211 |
|
|
{"lawn_green", {0.486275 , 0.988235 , 0.000000 }}, |
1212 |
|
|
{"lemon_chiffon", {1.000000 , 0.980392 , 0.803922 }}, |
1213 |
|
|
{"light_blue", {0.678431 , 0.847059 , 0.901961 }}, |
1214 |
|
|
{"light_coral", {0.941176 , 0.501961 , 0.501961 }}, |
1215 |
|
|
{"light_cyan", {0.878431 , 1.000000 , 1.000000 }}, |
1216 |
|
|
{"light_goldenrod", {0.933333 , 0.866667 , 0.509804 }}, |
1217 |
|
|
{"light_goldenrod_yellow", {0.980392 , 0.980392 , 0.823529 }}, |
1218 |
|
|
{"light_gray", {0.827451 , 0.827451 , 0.827451 }}, |
1219 |
|
|
{"light_grey", {0.827451 , 0.827451 , 0.827451 }}, |
1220 |
|
|
{"light_pink", {1.000000 , 0.713725 , 0.756863 }}, |
1221 |
|
|
{"light_salmon", {1.000000 , 0.627451 , 0.478431 }}, |
1222 |
|
|
{"light_sea_green", {0.125490 , 0.698039 , 0.666667 }}, |
1223 |
|
|
{"light_sky_blue", {0.529412 , 0.807843 , 0.980392 }}, |
1224 |
|
|
{"light_slate_blue", {0.517647 , 0.439216 , 1.000000 }}, |
1225 |
|
|
{"light_slate_gray", {0.466667 , 0.533333 , 0.600000 }}, |
1226 |
|
|
{"light_slate_grey", {0.466667 , 0.533333 , 0.600000 }}, |
1227 |
|
|
{"light_steel_blue", {0.690196 , 0.768627 , 0.870588 }}, |
1228 |
|
|
{"light_yellow", {1.000000 , 1.000000 , 0.878431 }}, |
1229 |
|
|
{"lime_green", {0.196078 , 0.803922 , 0.196078 }}, |
1230 |
|
|
{"linen", {0.980392 , 0.941176 , 0.901961 }}, |
1231 |
|
|
{"magenta", {1.000000 , 0.000000 , 1.000000 }}, |
1232 |
|
|
{"magenta1", {1.000000 , 0.000000 , 1.000000 }}, |
1233 |
|
|
{"magenta2", {0.933333 , 0.000000 , 0.933333 }}, |
1234 |
|
|
{"magenta3", {0.803922 , 0.000000 , 0.803922 }}, |
1235 |
|
|
{"magenta4", {0.545098 , 0.000000 , 0.545098 }}, |
1236 |
|
|
{"maroon", {0.690196 , 0.188235 , 0.376471 }}, |
1237 |
|
|
{"maroon1", {1.000000 , 0.203922 , 0.701961 }}, |
1238 |
|
|
{"maroon2", {0.933333 , 0.188235 , 0.654902 }}, |
1239 |
|
|
{"maroon3", {0.803922 , 0.160784 , 0.564706 }}, |
1240 |
|
|
{"maroon4", {0.545098 , 0.109804 , 0.384314 }}, |
1241 |
|
|
{"medium_aquamarine", {0.400000 , 0.803922 , 0.666667 }}, |
1242 |
|
|
{"medium_blue", {0.000000 , 0.000000 , 0.803922 }}, |
1243 |
|
|
{"medium_orchid", {0.729412 , 0.333333 , 0.827451 }}, |
1244 |
|
|
{"medium_purple", {0.576471 , 0.439216 , 0.858824 }}, |
1245 |
|
|
{"medium_sea_green", {0.235294 , 0.701961 , 0.443137 }}, |
1246 |
|
|
{"medium_slate_blue", {0.482353 , 0.407843 , 0.933333 }}, |
1247 |
|
|
{"medium_spring_green", {0.000000 , 0.980392 , 0.603922 }}, |
1248 |
|
|
{"medium_turquoise", {0.282353 , 0.819608 , 0.800000 }}, |
1249 |
|
|
{"medium_violet_red", {0.780392 , 0.082353 , 0.521569 }}, |
1250 |
|
|
{"midnight_blue", {0.098039 , 0.098039 , 0.439216 }}, |
1251 |
|
|
{"mint_cream", {0.960784 , 1.000000 , 0.980392 }}, |
1252 |
|
|
{"misty_rose", {1.000000 , 0.894118 , 0.882353 }}, |
1253 |
|
|
{"moccasin", {1.000000 , 0.894118 , 0.709804 }}, |
1254 |
|
|
{"navajo_white", {1.000000 , 0.870588 , 0.678431 }}, |
1255 |
|
|
{"navy", {0.000000 , 0.000000 , 0.501961 }}, |
1256 |
|
|
{"navy_blue", {0.000000 , 0.000000 , 0.501961 }}, |
1257 |
|
|
{"old_lace", {0.992157 , 0.960784 , 0.901961 }}, |
1258 |
|
|
{"olive_drab", {0.419608 , 0.556863 , 0.137255 }}, |
1259 |
|
|
{"orange", {1.000000 , 0.647059 , 0.000000 }}, |
1260 |
|
|
{"orange1", {1.000000 , 0.647059 , 0.000000 }}, |
1261 |
|
|
{"orange2", {0.933333 , 0.603922 , 0.000000 }}, |
1262 |
|
|
{"orange3", {0.803922 , 0.521569 , 0.000000 }}, |
1263 |
|
|
{"orange4", {0.545098 , 0.352941 , 0.000000 }}, |
1264 |
|
|
{"orange_red", {1.000000 , 0.270588 , 0.000000 }}, |
1265 |
|
|
{"orchid", {0.854902 , 0.439216 , 0.839216 }}, |
1266 |
|
|
{"orchid1", {1.000000 , 0.513725 , 0.980392 }}, |
1267 |
|
|
{"orchid2", {0.933333 , 0.478431 , 0.913725 }}, |
1268 |
|
|
{"orchid3", {0.803922 , 0.411765 , 0.788235 }}, |
1269 |
|
|
{"orchid4", {0.545098 , 0.278431 , 0.537255 }}, |
1270 |
|
|
{"pale_goldenrod", {0.933333 , 0.909804 , 0.666667 }}, |
1271 |
|
|
{"pale_green", {0.596078 , 0.984314 , 0.596078 }}, |
1272 |
|
|
{"pale_turquoise", {0.686275 , 0.933333 , 0.933333 }}, |
1273 |
|
|
{"pale_violet_red", {0.858824 , 0.439216 , 0.576471 }}, |
1274 |
|
|
{"papaya_whip", {1.000000 , 0.937255 , 0.835294 }}, |
1275 |
|
|
{"peach_puff", {1.000000 , 0.854902 , 0.725490 }}, |
1276 |
|
|
{"peru", {0.803922 , 0.521569 , 0.247059 }}, |
1277 |
|
|
{"pink", {1.000000 , 0.752941 , 0.796078 }}, |
1278 |
|
|
{"pink1", {1.000000 , 0.709804 , 0.772549 }}, |
1279 |
|
|
{"pink2", {0.933333 , 0.662745 , 0.721569 }}, |
1280 |
|
|
{"pink3", {0.803922 , 0.568627 , 0.619608 }}, |
1281 |
|
|
{"pink4", {0.545098 , 0.388235 , 0.423529 }}, |
1282 |
|
|
{"plum", {0.866667 , 0.627451 , 0.866667 }}, |
1283 |
|
|
{"plum1", {1.000000 , 0.733333 , 1.000000 }}, |
1284 |
|
|
{"plum2", {0.933333 , 0.682353 , 0.933333 }}, |
1285 |
|
|
{"plum3", {0.803922 , 0.588235 , 0.803922 }}, |
1286 |
|
|
{"plum4", {0.545098 , 0.400000 , 0.545098 }}, |
1287 |
|
|
{"powder_blue", {0.690196 , 0.878431 , 0.901961 }}, |
1288 |
|
|
{"purple", {0.627451 , 0.125490 , 0.941176 }}, |
1289 |
|
|
{"purple1", {0.607843 , 0.188235 , 1.000000 }}, |
1290 |
|
|
{"purple2", {0.568627 , 0.172549 , 0.933333 }}, |
1291 |
|
|
{"purple3", {0.490196 , 0.149020 , 0.803922 }}, |
1292 |
|
|
{"purple4", {0.333333 , 0.101961 , 0.545098 }}, |
1293 |
|
|
{"red", {1.000000 , 0.000000 , 0.000000 }}, |
1294 |
|
|
{"red1", {1.000000 , 0.000000 , 0.000000 }}, |
1295 |
|
|
{"red2", {0.933333 , 0.000000 , 0.000000 }}, |
1296 |
|
|
{"red3", {0.803922 , 0.000000 , 0.000000 }}, |
1297 |
|
|
{"red4", {0.545098 , 0.000000 , 0.000000 }}, |
1298 |
|
|
{"rosy_brown", {0.737255 , 0.560784 , 0.560784 }}, |
1299 |
|
|
{"royal_blue", {0.254902 , 0.411765 , 0.882353 }}, |
1300 |
|
|
{"saddle_brown", {0.545098 , 0.270588 , 0.074510 }}, |
1301 |
|
|
{"salmon", {0.980392 , 0.501961 , 0.447059 }}, |
1302 |
|
|
{"salmon1", {1.000000 , 0.549020 , 0.411765 }}, |
1303 |
|
|
{"salmon2", {0.933333 , 0.509804 , 0.384314 }}, |
1304 |
|
|
{"salmon3", {0.803922 , 0.439216 , 0.329412 }}, |
1305 |
|
|
{"salmon4", {0.545098 , 0.298039 , 0.223529 }}, |
1306 |
|
|
{"sandy_brown", {0.956863 , 0.643137 , 0.376471 }}, |
1307 |
|
|
{"sea_green", {0.180392 , 0.545098 , 0.341176 }}, |
1308 |
|
|
{"seashell", {1.000000 , 0.960784 , 0.933333 }}, |
1309 |
|
|
{"seashell1", {1.000000 , 0.960784 , 0.933333 }}, |
1310 |
|
|
{"seashell2", {0.933333 , 0.898039 , 0.870588 }}, |
1311 |
|
|
{"seashell3", {0.803922 , 0.772549 , 0.749020 }}, |
1312 |
|
|
{"seashell4", {0.545098 , 0.525490 , 0.509804 }}, |
1313 |
|
|
{"sienna", {0.627451 , 0.321569 , 0.176471 }}, |
1314 |
|
|
{"sienna1", {1.000000 , 0.509804 , 0.278431 }}, |
1315 |
|
|
{"sienna2", {0.933333 , 0.474510 , 0.258824 }}, |
1316 |
|
|
{"sienna3", {0.803922 , 0.407843 , 0.223529 }}, |
1317 |
|
|
{"sienna4", {0.545098 , 0.278431 , 0.149020 }}, |
1318 |
|
|
{"sky_blue", {0.529412 , 0.807843 , 0.921569 }}, |
1319 |
|
|
{"slate_blue", {0.415686 , 0.352941 , 0.803922 }}, |
1320 |
|
|
{"slate_gray", {0.439216 , 0.501961 , 0.564706 }}, |
1321 |
|
|
{"slate_grey", {0.439216 , 0.501961 , 0.564706 }}, |
1322 |
|
|
{"snow", {1.000000 , 0.980392 , 0.980392 }}, |
1323 |
|
|
{"snow1", {1.000000 , 0.980392 , 0.980392 }}, |
1324 |
|
|
{"snow2", {0.933333 , 0.913725 , 0.913725 }}, |
1325 |
|
|
{"snow3", {0.803922 , 0.788235 , 0.788235 }}, |
1326 |
|
|
{"snow4", {0.545098 , 0.537255 , 0.537255 }}, |
1327 |
|
|
{"spring_green", {0.000000 , 1.000000 , 0.498039 }}, |
1328 |
|
|
{"steel_blue", {0.274510 , 0.509804 , 0.705882 }}, |
1329 |
|
|
{"tan", {0.823529 , 0.705882 , 0.549020 }}, |
1330 |
|
|
{"tan1", {1.000000 , 0.647059 , 0.309804 }}, |
1331 |
|
|
{"tan2", {0.933333 , 0.603922 , 0.286275 }}, |
1332 |
|
|
{"tan3", {0.803922 , 0.521569 , 0.247059 }}, |
1333 |
|
|
{"tan4", {0.545098 , 0.352941 , 0.168627 }}, |
1334 |
|
|
{"thistle", {0.847059 , 0.749020 , 0.847059 }}, |
1335 |
|
|
{"thistle1", {1.000000 , 0.882353 , 1.000000 }}, |
1336 |
|
|
{"thistle2", {0.933333 , 0.823529 , 0.933333 }}, |
1337 |
|
|
{"thistle3", {0.803922 , 0.709804 , 0.803922 }}, |
1338 |
|
|
{"thistle4", {0.545098 , 0.482353 , 0.545098 }}, |
1339 |
|
|
{"tomato", {1.000000 , 0.388235 , 0.278431 }}, |
1340 |
|
|
{"tomato1", {1.000000 , 0.388235 , 0.278431 }}, |
1341 |
|
|
{"tomato2", {0.933333 , 0.360784 , 0.258824 }}, |
1342 |
|
|
{"tomato3", {0.803922 , 0.309804 , 0.223529 }}, |
1343 |
|
|
{"tomato4", {0.545098 , 0.211765 , 0.149020 }}, |
1344 |
|
|
{"turquoise", {0.250980 , 0.878431 , 0.815686 }}, |
1345 |
|
|
{"turquoise1", {0.000000 , 0.960784 , 1.000000 }}, |
1346 |
|
|
{"turquoise2", {0.000000 , 0.898039 , 0.933333 }}, |
1347 |
|
|
{"turquoise3", {0.000000 , 0.772549 , 0.803922 }}, |
1348 |
|
|
{"turquoise4", {0.000000 , 0.525490 , 0.545098 }}, |
1349 |
|
|
{"violet", {0.933333 , 0.509804 , 0.933333 }}, |
1350 |
|
|
{"violet_red", {0.815686 , 0.125490 , 0.564706 }}, |
1351 |
|
|
{"wheat", {0.960784 , 0.870588 , 0.701961 }}, |
1352 |
|
|
{"wheat1", {1.000000 , 0.905882 , 0.729412 }}, |
1353 |
|
|
{"wheat2", {0.933333 , 0.847059 , 0.682353 }}, |
1354 |
|
|
{"wheat3", {0.803922 , 0.729412 , 0.588235 }}, |
1355 |
|
|
{"wheat4", {0.545098 , 0.494118 , 0.400000 }}, |
1356 |
|
|
{"white", {1.000000 , 1.000000 , 1.000000 }}, |
1357 |
|
|
{"white_smoke", {0.960784 , 0.960784 , 0.960784 }}, |
1358 |
|
|
{"yellow", {1.000000 , 1.000000 , 0.000000 }}, |
1359 |
|
|
{"yellow1", {1.000000 , 1.000000 , 0.000000 }}, |
1360 |
|
|
{"yellow2", {0.933333 , 0.933333 , 0.000000 }}, |
1361 |
|
|
{"yellow3", {0.803922 , 0.803922 , 0.000000 }}, |
1362 |
|
|
{"yellow4", {0.545098 , 0.545098 , 0.000000 }}, |
1363 |
|
|
{"yellow_green", {0.603922 , 0.803922 , 0.196078} } |
1364 |
greg |
2.2 |
} ; |
1365 |
|
|
|
1366 |
|
|
int |
1367 |
schorsch |
2.7 |
LookupColorByName( |
1368 |
|
|
char * name, |
1369 |
|
|
Vec color |
1370 |
|
|
) |
1371 |
greg |
2.2 |
{ |
1372 |
|
|
int rc ; |
1373 |
|
|
rc = BinarySearch(name, 0, NCOLORS - 1 , Colors) ; |
1374 |
|
|
if (rc < 0) { |
1375 |
|
|
return(0) ; |
1376 |
|
|
} |
1377 |
|
|
|
1378 |
|
|
VecCopy(Colors[rc].ce_color, color) ; |
1379 |
|
|
return 1 ; |
1380 |
|
|
} |
1381 |
|
|
|
1382 |
|
|
|
1383 |
|
|
int |
1384 |
schorsch |
2.7 |
BinarySearch( |
1385 |
|
|
char * name, |
1386 |
|
|
int l, |
1387 |
|
|
int h, |
1388 |
|
|
ColorEntry array[] |
1389 |
|
|
) |
1390 |
greg |
2.2 |
{ |
1391 |
|
|
int m, rc ; |
1392 |
|
|
if (l > h) |
1393 |
|
|
return(-1) ; |
1394 |
|
|
|
1395 |
|
|
m = (l + h) / 2 ; |
1396 |
|
|
|
1397 |
|
|
rc = strcmp(name, array[m].ce_name) ; |
1398 |
|
|
if (rc == 0) |
1399 |
|
|
return m ; |
1400 |
|
|
else if (rc < 0) |
1401 |
|
|
return BinarySearch(name, l, m-1, array) ; |
1402 |
|
|
else |
1403 |
|
|
return BinarySearch(name, m + 1, h, array) ; |
1404 |
greg |
1.1 |
} |