--- /dev/null
+/* polytopes --- Shows one of the six regular polytopes rotating in 4d */
+
+#if !defined( lint ) && !defined( SABER )
+static const char sccsid[] = "@(#)polytopes.c 1.1 03/05/18 xlockmore";
+
+#endif
+
+/* Copyright (c) 2003 Carsten Steger <carsten@mirsanmir.org>. */
+
+/*
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notice appear in all copies and that
+ * both that copyright notice and this permission notice appear in
+ * supporting documentation.
+ *
+ * This file is provided AS IS with no warranties of any kind. The author
+ * shall have no liability with respect to the infringement of copyrights,
+ * trade secrets or any patents by this file or any part thereof. In no
+ * event will the author be liable for any lost revenue or profits or
+ * other special, indirect and consequential damages.
+ *
+ * REVISION HISTORY:
+ * C. Steger - 03/08/10: Initial version
+ */
+
+/*
+ * This program shows one of the six regular 4D polytopes rotating in 4D.
+ * Written by Carsten Steger, inspired by H.S.M Coxeter's book "Regular
+ * Polytopes", 3rd Edition, Dover Publications, Inc., 1973, and Thomas
+ * Banchoff's book "Beyond the Third Dimension: Geometry, Computer
+ * Graphics, and Higher Dimensions", Scientific American Library, 1990.
+ */
+
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif
+
+#define SQRT15OVER4 1.93649167310370844259 /* sqrt(15/4) */
+#define SQRT10OVER3 1.82574185835055371152 /* sqrt(10/3) */
+#define SQRT5OVER2 1.58113883008418966600 /* sqrt(5/2) */
+#define SQRT5OVER6 0.91287092917527685576 /* sqrt(5/6) */
+#define SQRT5OVER12 0.64549722436790281420 /* sqrt(5/12) */
+#define SQRT2 1.41421356237309504880 /* sqrt(2) */
+#define GOLDEN 1.61803398874989484820 /* (sqrt(5)+1)/2 */
+#define GOLDENINV 0.61803398874989484820 /* (sqrt(5)-1)/2 */
+#define SQRT2INV 0.70710678118654752440 /* sqrt(1/2) */
+#define GOLDEN2 1.14412280563536859520 /* ((sqrt(5)+1)/2)/sqrt(2) */
+#define GOLDENINV2 0.43701602444882107080 /* ((sqrt(5)-1)/2)/sqrt(2) */
+#define GOLDEN22 1.85122958682191611960 /* (((sqrt(5)+1)/2)^2)/sqrt(2) */
+#define GOLDENINV22 0.27009075673772645360 /* (((sqrt(5)-1)/2)^2)/sqrt(2) */
+
+#define DISP_WIREFRAME 0
+#define DISP_WIREFRAME_STR "0"
+#define DISP_SURFACE 1
+#define DISP_SURFACE_STR "1"
+#define DISP_TRANSPARENT 2
+#define DISP_TRANSPARENT_STR "2"
+
+#define POLYTOPE_RANDOM -1
+#define POLYTOPE_RANDOM_STR "-1"
+#define POLYTOPE_5_CELL 0
+#define POLYTOPE_5_CELL_STR "0"
+#define POLYTOPE_8_CELL 1
+#define POLYTOPE_8_CELL_STR "1"
+#define POLYTOPE_16_CELL 2
+#define POLYTOPE_16_CELL_STR "2"
+#define POLYTOPE_24_CELL 3
+#define POLYTOPE_24_CELL_STR "3"
+#define POLYTOPE_120_CELL 4
+#define POLYTOPE_120_CELL_STR "4"
+#define POLYTOPE_600_CELL 5
+#define POLYTOPE_600_CELL_STR "5"
+#define POLYTOPE_LAST_CELL POLYTOPE_600_CELL
+
+#define COLORS_SINGLE 0
+#define COLORS_SINGLE_STR "0"
+#define COLORS_DEPTH 1
+#define COLORS_DEPTH_STR "1"
+
+#define DISP_3D_PERSPECTIVE 0
+#define DISP_3D_PERSPECTIVE_STR "0"
+#define DISP_3D_ORTHOGRAPHIC 1
+#define DISP_3D_ORTHOGRAPHIC_STR "1"
+
+#define DISP_4D_PERSPECTIVE 0
+#define DISP_4D_PERSPECTIVE_STR "0"
+#define DISP_4D_ORTHOGRAPHIC 1
+#define DISP_4D_ORTHOGRAPHIC_STR "1"
+
+#define DALPHA 1.1
+#define DALPHA_STR "1.1"
+#define DBETA 1.3
+#define DBETA_STR "1.3"
+#define DDELTA 1.5
+#define DDELTA_STR "1.5"
+#define DZETA 1.7
+#define DZETA_STR "1.7"
+#define DETA 1.9
+#define DETA_STR "1.9"
+#define DTHETA 2.1
+#define DTHETA_STR "2.1"
+
+#define DEF_DISPLAY_MODE DISP_TRANSPARENT_STR
+#define DEF_POLYTOPE POLYTOPE_RANDOM_STR
+#define DEF_COLORS COLORS_DEPTH_STR
+#define DEF_3D_PROJECTION DISP_3D_PERSPECTIVE_STR
+#define DEF_4D_PROJECTION DISP_4D_PERSPECTIVE_STR
+#define DEF_DALPHA DALPHA_STR
+#define DEF_DBETA DBETA_STR
+#define DEF_DDELTA DDELTA_STR
+#define DEF_DZETA DZETA_STR
+#define DEF_DETA DETA_STR
+#define DEF_DTHETA DTHETA_STR
+
+#ifdef STANDALONE
+# define PROGCLASS "Polytopes"
+# define HACK_INIT init_polytopes
+# define HACK_DRAW draw_polytopes
+# define HACK_RESHAPE reshape_polytopes
+# define polytopes_opts xlockmore_opts
+# define DEFAULTS "*delay: 25000 \n" \
+ "*showFPS: False \n" \
+ "*wireframe: False \n" \
+ "*displayMode: " DEF_DISPLAY_MODE " \n" \
+ "*polytope: " DEF_POLYTOPE " \n" \
+ "*colors: " DEF_COLORS " \n" \
+ "*projection3d: " DEF_3D_PROJECTION " \n" \
+ "*projection4d: " DEF_4D_PROJECTION " \n" \
+ "speedwx: " DEF_DALPHA " \n" \
+ "speedwy: " DEF_DBETA " \n" \
+ "speedwz: " DEF_DDELTA " \n" \
+ "speedxy: " DEF_DZETA " \n" \
+ "speedxz: " DEF_DETA " \n" \
+ "speedyz: " DEF_DTHETA " \n"
+# include "xlockmore.h" /* from the xscreensaver distribution */
+#else /* !STANDALONE */
+# include "xlock.h" /* from the xlockmore distribution */
+#endif /* !STANDALONE */
+
+#ifdef USE_GL
+
+#include <GL/gl.h>
+#include <GL/glu.h>
+
+
+#ifdef USE_MODULES
+ModStruct polytopes_description =
+{"polytopes", "init_polytopes", "draw_polytopes", "release_polytopes",
+ "draw_polytopes", "change_polytopes", NULL, &polytopes_opts,
+ 25000, 1, 1, 1, 1.0, 4, "",
+ "Shows one of the six regular 4d polytopes rotating in 4d", 0, NULL};
+
+#endif
+
+
+static int display_mode;
+static int polytope;
+static int color_mode;
+static int projection_3d;
+static int projection_4d;
+static float speed_wx;
+static float speed_wy;
+static float speed_wz;
+static float speed_xy;
+static float speed_xz;
+static float speed_yz;
+
+/* 4D rotation angles */
+static float alpha, beta, delta, zeta, eta, theta;
+static float aspect;
+
+static const float offset4d[4] = { 0.0, 0.0, 0.0, 3.0 };
+static const float offset3d[4] = { 0.0, 0.0, -2.0, 0.0 };
+
+
+static XrmOptionDescRec opts[] =
+{
+ {"-mesh", ".polytopes.displayMode", XrmoptionNoArg,
+ (caddr_t)DISP_WIREFRAME_STR },
+ {"-surface", ".polytopes.displayMode", XrmoptionNoArg,
+ (caddr_t)DISP_SURFACE_STR },
+ {"-transparent", ".polytopes.displayMode", XrmoptionNoArg,
+ (caddr_t)DISP_TRANSPARENT_STR },
+ {"-random", ".polytopes.polytope", XrmoptionNoArg,
+ (caddr_t)POLYTOPE_RANDOM_STR },
+ {"-5-cell", ".polytopes.polytope", XrmoptionNoArg,
+ (caddr_t)POLYTOPE_5_CELL_STR },
+ {"-8-cell", ".polytopes.polytope", XrmoptionNoArg,
+ (caddr_t)POLYTOPE_8_CELL_STR },
+ {"-16-cell", ".polytopes.polytope", XrmoptionNoArg,
+ (caddr_t)POLYTOPE_16_CELL_STR },
+ {"-24-cell", ".polytopes.polytope", XrmoptionNoArg,
+ (caddr_t)POLYTOPE_24_CELL_STR },
+ {"-120-cell", ".polytopes.polytope", XrmoptionNoArg,
+ (caddr_t)POLYTOPE_120_CELL_STR },
+ {"-600-cell", ".polytopes.polytope", XrmoptionNoArg,
+ (caddr_t)POLYTOPE_600_CELL_STR },
+ {"-single-color", ".polytopes.colors", XrmoptionNoArg,
+ (caddr_t)COLORS_SINGLE_STR },
+ {"-depth-colors", ".polytopes.colors", XrmoptionNoArg,
+ (caddr_t)COLORS_DEPTH_STR },
+ {"-perspective-3d", ".polytopes.projection3d", XrmoptionNoArg,
+ (caddr_t)DISP_3D_PERSPECTIVE_STR },
+ {"-orthographic-3d", ".polytopes.projection3d", XrmoptionNoArg,
+ (caddr_t)DISP_3D_ORTHOGRAPHIC_STR },
+ {"-perspective-4d", ".polytopes.projection4d", XrmoptionNoArg,
+ (caddr_t)DISP_4D_PERSPECTIVE_STR },
+ {"-orthographic-4d", ".polytopes.projection4d", XrmoptionNoArg,
+ (caddr_t)DISP_4D_ORTHOGRAPHIC_STR },
+ {"-speed-wx", ".polytopes.speedwx", XrmoptionSepArg,
+ (caddr_t)NULL },
+ {"-speed-wy", ".polytopes.speedwy", XrmoptionSepArg,
+ (caddr_t)NULL },
+ {"-speed-wz", ".polytopes.speedwz", XrmoptionSepArg,
+ (caddr_t)NULL },
+ {"-speed-xy", ".polytopes.speedxy", XrmoptionSepArg,
+ (caddr_t)NULL },
+ {"-speed-xz", ".polytopes.speedxz", XrmoptionSepArg,
+ (caddr_t)NULL },
+ {"-speed-yz", ".polytopes.speedyz", XrmoptionSepArg,
+ (caddr_t)NULL }
+};
+
+static argtype vars[] =
+{
+ { (caddr_t *) &display_mode, "displayMode", "DisplayMode",
+ DEF_DISPLAY_MODE, t_Int },
+ { (caddr_t *) &polytope, "polytope", "Polytope",
+ DEF_POLYTOPE, t_Int },
+ { (caddr_t *) &color_mode, "colors", "Colors",
+ DEF_COLORS, t_Int },
+ { (caddr_t *) &projection_3d, "projection3d", "Projection3d",
+ DEF_3D_PROJECTION, t_Int },
+ { (caddr_t *) &projection_4d, "projection4d", "Projection4d",
+ DEF_4D_PROJECTION, t_Int },
+ { (caddr_t *) &speed_wx, "speedwx", "Speedwx",
+ DEF_DALPHA, t_Float},
+ { (caddr_t *) &speed_wy, "speedwy", "Speedwy",
+ DEF_DBETA, t_Float},
+ { (caddr_t *) &speed_wz, "speedwz", "Speedwz",
+ DEF_DDELTA, t_Float},
+ { (caddr_t *) &speed_xy, "speedxy", "Speedxy",
+ DEF_DZETA, t_Float},
+ { (caddr_t *) &speed_xz, "speedxz", "Speedxz",
+ DEF_DETA, t_Float},
+ { (caddr_t *) &speed_yz, "speedyz", "Speedyz",
+ DEF_DTHETA, t_Float}
+};
+
+static OptionStruct desc[] =
+{
+ { "-mesh", "display the polytope as a wireframe mesh" },
+ { "-surface", "display the polytope as a solid surface" },
+ { "-transparent", "display the polytope as a transparent surface" },
+ { "-solid", "display the polytope as a solid object" },
+ { "-bands", "display the polytope as see-through bands" },
+ { "-twosided", "display the polytope with two colors" },
+ { "-colorwheel", "display the polytope with a smooth color wheel" },
+ { "-perspective-3d", "project the polytope perspectively from 3d to 2d" },
+ { "-orthographic-3d", "project the polytope orthographically from 3d to 2d"},
+ { "-perspective-4d", "project the polytope perspectively from 4d to 3d" },
+ { "-orthographic-4d", "project the polytope orthographically from 4d to 3d"},
+ { "-speed-wx <arg>", "rotation speed around the wx plane" },
+ { "-speed-wy <arg>", "rotation speed around the wy plane" },
+ { "-speed-wz <arg>", "rotation speed around the wz plane" },
+ { "-speed-xy <arg>", "rotation speed around the xy plane" },
+ { "-speed-xz <arg>", "rotation speed around the xz plane" },
+ { "-speed-yz <arg>", "rotation speed around the yz plane" }
+};
+
+ModeSpecOpt polytopes_opts =
+{sizeof opts / sizeof opts[0], opts, sizeof vars / sizeof vars[0], vars, desc};
+
+
+typedef struct {
+ GLint WindH, WindW;
+ GLXContext *glx_context;
+} polytopesstruct;
+
+static polytopesstruct *poly = (polytopesstruct *) NULL;
+
+
+/* Vertex, edge, and face data for the six regular polytopes. All the
+ polytopes are constructed with coordinates chosen such that their 4d
+ circumsphere has a radius of 2. */
+
+/* 5-cell {3,3,3} */
+#define NUM_VERT_5 5
+#define NUM_EDGE_5 10
+#define NUM_FACE_5 10
+#define VERT_PER_FACE_5 3
+
+#define MIN_EDGE_DEPTH_5 (-0.5)
+#define MAX_EDGE_DEPTH_5 0.75
+#define MIN_FACE_DEPTH_5 (-0.5)
+#define MAX_FACE_DEPTH_5 (1.0/3.0)
+
+static float vert_5[NUM_VERT_5][4] = {
+ { -SQRT5OVER2, -SQRT5OVER6, -SQRT5OVER12, -0.5 },
+ { SQRT5OVER2, -SQRT5OVER6, -SQRT5OVER12, -0.5 },
+ { 0.0, SQRT10OVER3, -SQRT5OVER12, -0.5 },
+ { 0.0, 0.0, SQRT15OVER4, -0.5 },
+ { 0.0, 0.0, 0.0, 2.0 }
+};
+
+static int edge_5[NUM_EDGE_5][2] = {
+ { 0, 1 }, { 0, 2 }, { 0, 3 }, { 0, 4 }, { 1, 2 }, { 1, 3 }, { 1, 4 },
+ { 2, 3 }, { 2, 4 }, { 3, 4 }
+};
+
+static int face_5[NUM_FACE_5][VERT_PER_FACE_5] = {
+ { 0, 1, 2 }, { 0, 1, 3 }, { 0, 1, 4 }, { 0, 2, 3 }, { 0, 2, 4 }, { 0, 3, 4 },
+ { 1, 2, 3 }, { 1, 2, 4 }, { 1, 3, 4 }, { 2, 3, 4 }
+};
+
+static float edge_color_5[NUM_EDGE_5][4];
+static float face_color_5[NUM_FACE_5][4];
+static float face_color_trans_5[NUM_FACE_5][4];
+
+
+/* 8-cell {4,3,3} */
+#define NUM_VERT_8 16
+#define NUM_EDGE_8 32
+#define NUM_FACE_8 24
+#define VERT_PER_FACE_8 4
+
+#define MIN_EDGE_DEPTH_8 (-1.0)
+#define MAX_EDGE_DEPTH_8 1.0
+#define MIN_FACE_DEPTH_8 (-1.0)
+#define MAX_FACE_DEPTH_8 1.0
+
+static float vert_8[NUM_VERT_8][4] = {
+ { -1.0, -1.0, -1.0, -1.0 }, { 1.0, -1.0, -1.0, -1.0 },
+ { -1.0, 1.0, -1.0, -1.0 }, { 1.0, 1.0, -1.0, -1.0 },
+ { -1.0, -1.0, 1.0, -1.0 }, { 1.0, -1.0, 1.0, -1.0 },
+ { -1.0, 1.0, 1.0, -1.0 }, { 1.0, 1.0, 1.0, -1.0 },
+ { -1.0, -1.0, -1.0, 1.0 }, { 1.0, -1.0, -1.0, 1.0 },
+ { -1.0, 1.0, -1.0, 1.0 }, { 1.0, 1.0, -1.0, 1.0 },
+ { -1.0, -1.0, 1.0, 1.0 }, { 1.0, -1.0, 1.0, 1.0 },
+ { -1.0, 1.0, 1.0, 1.0 }, { 1.0, 1.0, 1.0, 1.0 }
+};
+
+static int edge_8[NUM_EDGE_8][2] = {
+ { 0, 1 }, { 0, 2 }, { 0, 4 }, { 0, 8 }, { 1, 3 }, { 1, 5 },
+ { 1, 9 }, { 2, 3 }, { 2, 6 }, { 2, 10 }, { 3, 7 }, { 3, 11 },
+ { 4, 5 }, { 4, 6 }, { 4, 12 }, { 5, 7 }, { 5, 13 }, { 6, 7 },
+ { 6, 14 }, { 7, 15 }, { 8, 9 }, { 8, 10 }, { 8, 12 }, { 9, 11 },
+ { 9, 13 }, { 10, 11 }, { 10, 14 }, { 11, 15 }, { 12, 13 }, { 12, 14 },
+ { 13, 15 }, { 14, 15 }
+};
+
+static int face_8[NUM_FACE_8][VERT_PER_FACE_8] = {
+ { 0, 1, 3, 2 }, { 0, 1, 5, 4 }, { 0, 1, 9, 8 },
+ { 0, 2, 6, 4 }, { 0, 2, 10, 8 }, { 0, 4, 12, 8 },
+ { 1, 3, 7, 5 }, { 1, 3, 11, 9 }, { 1, 5, 13, 9 },
+ { 2, 3, 7, 6 }, { 2, 3, 11, 10 }, { 2, 6, 14, 10 },
+ { 3, 7, 15, 11 }, { 4, 5, 7, 6 }, { 4, 5, 13, 12 },
+ { 4, 6, 14, 12 }, { 5, 7, 15, 13 }, { 6, 7, 15, 14 },
+ { 8, 9, 11, 10 }, { 8, 9, 13, 12 }, { 8, 10, 14, 12 },
+ { 9, 11, 15, 13 }, { 10, 11, 15, 14 }, { 12, 13, 15, 14 }
+};
+
+static float edge_color_8[NUM_EDGE_8][4];
+static float face_color_8[NUM_FACE_8][4];
+static float face_color_trans_8[NUM_FACE_8][4];
+
+
+/* 16-cell {3,3,4} */
+#define NUM_VERT_16 8
+#define NUM_EDGE_16 24
+#define NUM_FACE_16 32
+#define VERT_PER_FACE_16 3
+
+#define MIN_EDGE_DEPTH_16 (-1.0)
+#define MAX_EDGE_DEPTH_16 1.0
+#define MIN_FACE_DEPTH_16 (-2.0/3.0)
+#define MAX_FACE_DEPTH_16 (2.0/3.0)
+
+static float vert_16[NUM_VERT_16][4] = {
+ { 0.0, 0.0, 0.0, -2.0 }, { 0.0, 0.0, -2.0, 0.0 },
+ { 0.0, -2.0, 0.0, 0.0 }, { -2.0, 0.0, 0.0, 0.0 },
+ { 2.0, 0.0, 0.0, 0.0 }, { 0.0, 2.0, 0.0, 0.0 },
+ { 0.0, 0.0, 2.0, 0.0 }, { 0.0, 0.0, 0.0, 2.0 }
+};
+
+static int edge_16[NUM_EDGE_16][2] = {
+ { 0, 1 }, { 0, 2 }, { 0, 3 }, { 0, 4 }, { 0, 5 }, { 0, 6 }, { 1, 2 },
+ { 1, 3 }, { 1, 4 }, { 1, 5 }, { 1, 7 }, { 2, 3 }, { 2, 4 }, { 2, 6 },
+ { 2, 7 }, { 3, 5 }, { 3, 6 }, { 3, 7 }, { 4, 5 }, { 4, 6 }, { 4, 7 },
+ { 5, 6 }, { 5, 7 }, { 6, 7 }
+};
+
+static int face_16[NUM_FACE_16][VERT_PER_FACE_16] = {
+ { 0, 1, 2 }, { 0, 1, 3 }, { 0, 1, 4 }, { 0, 1, 5 }, { 0, 2, 3 }, { 0, 2, 4 },
+ { 0, 2, 6 }, { 0, 3, 5 }, { 0, 3, 6 }, { 0, 4, 5 }, { 0, 4, 6 }, { 0, 5, 6 },
+ { 1, 2, 3 }, { 1, 2, 4 }, { 1, 2, 7 }, { 1, 3, 5 }, { 1, 3, 7 }, { 1, 4, 5 },
+ { 1, 4, 7 }, { 1, 5, 7 }, { 2, 3, 6 }, { 2, 3, 7 }, { 2, 4, 6 }, { 2, 4, 7 },
+ { 2, 6, 7 }, { 3, 5, 6 }, { 3, 5, 7 }, { 3, 6, 7 }, { 4, 5, 6 }, { 4, 5, 7 },
+ { 4, 6, 7 }, { 5, 6, 7 }
+};
+
+static float edge_color_16[NUM_EDGE_16][4];
+static float face_color_16[NUM_FACE_16][4];
+static float face_color_trans_16[NUM_FACE_16][4];
+
+
+/* 24-cell {3,4,3} */
+#define NUM_VERT_24 24
+#define NUM_EDGE_24 96
+#define NUM_FACE_24 96
+#define VERT_PER_FACE_24 3
+
+#define MIN_EDGE_DEPTH_24 (-SQRT2)
+#define MAX_EDGE_DEPTH_24 SQRT2
+#define MIN_FACE_DEPTH_24 (-SQRT2)
+#define MAX_FACE_DEPTH_24 SQRT2
+
+static float vert_24[NUM_VERT_24][4] = {
+ { 0.0, 0.0, -SQRT2, -SQRT2 }, { 0.0, -SQRT2, 0.0, -SQRT2 },
+ { -SQRT2, 0.0, 0.0, -SQRT2 }, { SQRT2, 0.0, 0.0, -SQRT2 },
+ { 0.0, SQRT2, 0.0, -SQRT2 }, { 0.0, 0.0, SQRT2, -SQRT2 },
+ { 0.0, -SQRT2, -SQRT2, 0.0 }, { -SQRT2, 0.0, -SQRT2, 0.0 },
+ { SQRT2, 0.0, -SQRT2, 0.0 }, { 0.0, SQRT2, -SQRT2, 0.0 },
+ { -SQRT2, -SQRT2, 0.0, 0.0 }, { SQRT2, -SQRT2, 0.0, 0.0 },
+ { -SQRT2, SQRT2, 0.0, 0.0 }, { SQRT2, SQRT2, 0.0, 0.0 },
+ { 0.0, -SQRT2, SQRT2, 0.0 }, { -SQRT2, 0.0, SQRT2, 0.0 },
+ { SQRT2, 0.0, SQRT2, 0.0 }, { 0.0, SQRT2, SQRT2, 0.0 },
+ { 0.0, 0.0, -SQRT2, SQRT2 }, { 0.0, -SQRT2, 0.0, SQRT2 },
+ { -SQRT2, 0.0, 0.0, SQRT2 }, { SQRT2, 0.0, 0.0, SQRT2 },
+ { 0.0, SQRT2, 0.0, SQRT2 }, { 0.0, 0.0, SQRT2, SQRT2 }
+};
+
+static int edge_24[NUM_EDGE_24][2] = {
+ { 0, 1 }, { 0, 2 }, { 0, 3 }, { 0, 4 }, { 0, 6 }, { 0, 7 },
+ { 0, 8 }, { 0, 9 }, { 1, 2 }, { 1, 3 }, { 1, 5 }, { 1, 6 },
+ { 1, 10 }, { 1, 11 }, { 1, 14 }, { 2, 4 }, { 2, 5 }, { 2, 7 },
+ { 2, 10 }, { 2, 12 }, { 2, 15 }, { 3, 4 }, { 3, 5 }, { 3, 8 },
+ { 3, 11 }, { 3, 13 }, { 3, 16 }, { 4, 5 }, { 4, 9 }, { 4, 12 },
+ { 4, 13 }, { 4, 17 }, { 5, 14 }, { 5, 15 }, { 5, 16 }, { 5, 17 },
+ { 6, 7 }, { 6, 8 }, { 6, 10 }, { 6, 11 }, { 6, 18 }, { 6, 19 },
+ { 7, 9 }, { 7, 10 }, { 7, 12 }, { 7, 18 }, { 7, 20 }, { 8, 9 },
+ { 8, 11 }, { 8, 13 }, { 8, 18 }, { 8, 21 }, { 9, 12 }, { 9, 13 },
+ { 9, 18 }, { 9, 22 }, { 10, 14 }, { 10, 15 }, { 10, 19 }, { 10, 20 },
+ { 11, 14 }, { 11, 16 }, { 11, 19 }, { 11, 21 }, { 12, 15 }, { 12, 17 },
+ { 12, 20 }, { 12, 22 }, { 13, 16 }, { 13, 17 }, { 13, 21 }, { 13, 22 },
+ { 14, 15 }, { 14, 16 }, { 14, 19 }, { 14, 23 }, { 15, 17 }, { 15, 20 },
+ { 15, 23 }, { 16, 17 }, { 16, 21 }, { 16, 23 }, { 17, 22 }, { 17, 23 },
+ { 18, 19 }, { 18, 20 }, { 18, 21 }, { 18, 22 }, { 19, 20 }, { 19, 21 },
+ { 19, 23 }, { 20, 22 }, { 20, 23 }, { 21, 22 }, { 21, 23 }, { 22, 23 }
+};
+
+static int face_24[NUM_FACE_24][VERT_PER_FACE_24] = {
+ { 0, 1, 2 }, { 0, 1, 3 }, { 0, 1, 6 }, { 0, 2, 4 },
+ { 0, 2, 7 }, { 0, 3, 4 }, { 0, 3, 8 }, { 0, 4, 9 },
+ { 0, 6, 7 }, { 0, 6, 8 }, { 0, 7, 9 }, { 0, 8, 9 },
+ { 1, 2, 5 }, { 1, 2, 10 }, { 1, 3, 5 }, { 1, 3, 11 },
+ { 1, 5, 14 }, { 1, 6, 10 }, { 1, 6, 11 }, { 1, 10, 14 },
+ { 1, 11, 14 }, { 2, 4, 5 }, { 2, 4, 12 }, { 2, 5, 15 },
+ { 2, 7, 10 }, { 2, 7, 12 }, { 2, 10, 15 }, { 2, 12, 15 },
+ { 3, 4, 5 }, { 3, 4, 13 }, { 3, 5, 16 }, { 3, 8, 11 },
+ { 3, 8, 13 }, { 3, 11, 16 }, { 3, 13, 16 }, { 4, 5, 17 },
+ { 4, 9, 12 }, { 4, 9, 13 }, { 4, 12, 17 }, { 4, 13, 17 },
+ { 5, 14, 15 }, { 5, 14, 16 }, { 5, 15, 17 }, { 5, 16, 17 },
+ { 6, 7, 10 }, { 6, 7, 18 }, { 6, 8, 11 }, { 6, 8, 18 },
+ { 6, 10, 19 }, { 6, 11, 19 }, { 6, 18, 19 }, { 7, 9, 12 },
+ { 7, 9, 18 }, { 7, 10, 20 }, { 7, 12, 20 }, { 7, 18, 20 },
+ { 8, 9, 13 }, { 8, 9, 18 }, { 8, 11, 21 }, { 8, 13, 21 },
+ { 8, 18, 21 }, { 9, 12, 22 }, { 9, 13, 22 }, { 9, 18, 22 },
+ { 10, 14, 15 }, { 10, 14, 19 }, { 10, 15, 20 }, { 10, 19, 20 },
+ { 11, 14, 16 }, { 11, 14, 19 }, { 11, 16, 21 }, { 11, 19, 21 },
+ { 12, 15, 17 }, { 12, 15, 20 }, { 12, 17, 22 }, { 12, 20, 22 },
+ { 13, 16, 17 }, { 13, 16, 21 }, { 13, 17, 22 }, { 13, 21, 22 },
+ { 14, 15, 23 }, { 14, 16, 23 }, { 14, 19, 23 }, { 15, 17, 23 },
+ { 15, 20, 23 }, { 16, 17, 23 }, { 16, 21, 23 }, { 17, 22, 23 },
+ { 18, 19, 20 }, { 18, 19, 21 }, { 18, 20, 22 }, { 18, 21, 22 },
+ { 19, 20, 23 }, { 19, 21, 23 }, { 20, 22, 23 }, { 21, 22, 23 }
+};
+
+static float edge_color_24[NUM_EDGE_24][4];
+static float face_color_24[NUM_FACE_24][4];
+static float face_color_trans_24[NUM_FACE_24][4];
+
+
+/* 120-cell {5,3,3} */
+#define NUM_VERT_120 600
+#define NUM_EDGE_120 1200
+#define NUM_FACE_120 720
+#define VERT_PER_FACE_120 5
+
+#define MIN_EDGE_DEPTH_120 (-GOLDEN22)
+#define MAX_EDGE_DEPTH_120 GOLDEN22
+#define MIN_FACE_DEPTH_120 (-GOLDEN22)
+#define MAX_FACE_DEPTH_120 GOLDEN22
+
+static float vert_120[NUM_VERT_120][4] = {
+ { -GOLDENINV22, 0.0, -SQRT2INV, -GOLDEN22 },
+ { GOLDENINV22, 0.0, -SQRT2INV, -GOLDEN22 },
+ { -GOLDENINV2, -GOLDENINV2, -GOLDENINV2, -GOLDEN22 },
+ { GOLDENINV2, -GOLDENINV2, -GOLDENINV2, -GOLDEN22 },
+ { -GOLDENINV2, GOLDENINV2, -GOLDENINV2, -GOLDEN22 },
+ { GOLDENINV2, GOLDENINV2, -GOLDENINV2, -GOLDEN22 },
+ { 0.0, -SQRT2INV, -GOLDENINV22, -GOLDEN22 },
+ { 0.0, SQRT2INV, -GOLDENINV22, -GOLDEN22 },
+ { -SQRT2INV, -GOLDENINV22, 0.0, -GOLDEN22 },
+ { SQRT2INV, -GOLDENINV22, 0.0, -GOLDEN22 },
+ { -SQRT2INV, GOLDENINV22, 0.0, -GOLDEN22 },
+ { SQRT2INV, GOLDENINV22, 0.0, -GOLDEN22 },
+ { 0.0, -SQRT2INV, GOLDENINV22, -GOLDEN22 },
+ { 0.0, SQRT2INV, GOLDENINV22, -GOLDEN22 },
+ { -GOLDENINV2, -GOLDENINV2, GOLDENINV2, -GOLDEN22 },
+ { GOLDENINV2, -GOLDENINV2, GOLDENINV2, -GOLDEN22 },
+ { -GOLDENINV2, GOLDENINV2, GOLDENINV2, -GOLDEN22 },
+ { GOLDENINV2, GOLDENINV2, GOLDENINV2, -GOLDEN22 },
+ { -GOLDENINV22, 0.0, SQRT2INV, -GOLDEN22 },
+ { GOLDENINV22, 0.0, SQRT2INV, -GOLDEN22 },
+ { -GOLDENINV2, 0.0, -GOLDEN2, -SQRT5OVER2 },
+ { GOLDENINV2, 0.0, -GOLDEN2, -SQRT5OVER2 },
+ { -SQRT2INV, -SQRT2INV, -SQRT2INV, -SQRT5OVER2 },
+ { SQRT2INV, -SQRT2INV, -SQRT2INV, -SQRT5OVER2 },
+ { -SQRT2INV, SQRT2INV, -SQRT2INV, -SQRT5OVER2 },
+ { SQRT2INV, SQRT2INV, -SQRT2INV, -SQRT5OVER2 },
+ { 0.0, -GOLDEN2, -GOLDENINV2, -SQRT5OVER2 },
+ { 0.0, GOLDEN2, -GOLDENINV2, -SQRT5OVER2 },
+ { -GOLDEN2, -GOLDENINV2, 0.0, -SQRT5OVER2 },
+ { GOLDEN2, -GOLDENINV2, 0.0, -SQRT5OVER2 },
+ { -GOLDEN2, GOLDENINV2, 0.0, -SQRT5OVER2 },
+ { GOLDEN2, GOLDENINV2, 0.0, -SQRT5OVER2 },
+ { 0.0, -GOLDEN2, GOLDENINV2, -SQRT5OVER2 },
+ { 0.0, GOLDEN2, GOLDENINV2, -SQRT5OVER2 },
+ { -SQRT2INV, -SQRT2INV, SQRT2INV, -SQRT5OVER2 },
+ { SQRT2INV, -SQRT2INV, SQRT2INV, -SQRT5OVER2 },
+ { -SQRT2INV, SQRT2INV, SQRT2INV, -SQRT5OVER2 },
+ { SQRT2INV, SQRT2INV, SQRT2INV, -SQRT5OVER2 },
+ { -GOLDENINV2, 0.0, GOLDEN2, -SQRT5OVER2 },
+ { GOLDENINV2, 0.0, GOLDEN2, -SQRT5OVER2 },
+ { 0.0, 0.0, -SQRT2, -SQRT2 },
+ { -SQRT2INV, -GOLDENINV2, -GOLDEN2, -SQRT2 },
+ { SQRT2INV, -GOLDENINV2, -GOLDEN2, -SQRT2 },
+ { -SQRT2INV, GOLDENINV2, -GOLDEN2, -SQRT2 },
+ { SQRT2INV, GOLDENINV2, -GOLDEN2, -SQRT2 },
+ { -GOLDENINV2, -GOLDEN2, -SQRT2INV, -SQRT2 },
+ { GOLDENINV2, -GOLDEN2, -SQRT2INV, -SQRT2 },
+ { -GOLDENINV2, GOLDEN2, -SQRT2INV, -SQRT2 },
+ { GOLDENINV2, GOLDEN2, -SQRT2INV, -SQRT2 },
+ { -GOLDEN2, -SQRT2INV, -GOLDENINV2, -SQRT2 },
+ { GOLDEN2, -SQRT2INV, -GOLDENINV2, -SQRT2 },
+ { -GOLDEN2, SQRT2INV, -GOLDENINV2, -SQRT2 },
+ { GOLDEN2, SQRT2INV, -GOLDENINV2, -SQRT2 },
+ { 0.0, -SQRT2, 0.0, -SQRT2 },
+ { -SQRT2, 0.0, 0.0, -SQRT2 },
+ { SQRT2, 0.0, 0.0, -SQRT2 },
+ { 0.0, SQRT2, 0.0, -SQRT2 },
+ { -GOLDEN2, -SQRT2INV, GOLDENINV2, -SQRT2 },
+ { GOLDEN2, -SQRT2INV, GOLDENINV2, -SQRT2 },
+ { -GOLDEN2, SQRT2INV, GOLDENINV2, -SQRT2 },
+ { GOLDEN2, SQRT2INV, GOLDENINV2, -SQRT2 },
+ { -GOLDENINV2, -GOLDEN2, SQRT2INV, -SQRT2 },
+ { GOLDENINV2, -GOLDEN2, SQRT2INV, -SQRT2 },
+ { -GOLDENINV2, GOLDEN2, SQRT2INV, -SQRT2 },
+ { GOLDENINV2, GOLDEN2, SQRT2INV, -SQRT2 },
+ { -SQRT2INV, -GOLDENINV2, GOLDEN2, -SQRT2 },
+ { SQRT2INV, -GOLDENINV2, GOLDEN2, -SQRT2 },
+ { -SQRT2INV, GOLDENINV2, GOLDEN2, -SQRT2 },
+ { SQRT2INV, GOLDENINV2, GOLDEN2, -SQRT2 },
+ { 0.0, 0.0, SQRT2, -SQRT2 },
+ { 0.0, -GOLDENINV2, -SQRT5OVER2, -GOLDEN2 },
+ { 0.0, GOLDENINV2, -SQRT5OVER2, -GOLDEN2 },
+ { -GOLDENINV2, -SQRT2INV, -SQRT2, -GOLDEN2 },
+ { GOLDENINV2, -SQRT2INV, -SQRT2, -GOLDEN2 },
+ { -GOLDENINV2, SQRT2INV, -SQRT2, -GOLDEN2 },
+ { GOLDENINV2, SQRT2INV, -SQRT2, -GOLDEN2 },
+ { -GOLDENINV22, -GOLDEN2, -GOLDEN2, -GOLDEN2 },
+ { GOLDENINV22, -GOLDEN2, -GOLDEN2, -GOLDEN2 },
+ { -GOLDEN2, -GOLDENINV22, -GOLDEN2, -GOLDEN2 },
+ { GOLDEN2, -GOLDENINV22, -GOLDEN2, -GOLDEN2 },
+ { -GOLDEN2, GOLDENINV22, -GOLDEN2, -GOLDEN2 },
+ { GOLDEN2, GOLDENINV22, -GOLDEN2, -GOLDEN2 },
+ { -GOLDENINV22, GOLDEN2, -GOLDEN2, -GOLDEN2 },
+ { GOLDENINV22, GOLDEN2, -GOLDEN2, -GOLDEN2 },
+ { -SQRT2, -GOLDENINV2, -SQRT2INV, -GOLDEN2 },
+ { SQRT2, -GOLDENINV2, -SQRT2INV, -GOLDEN2 },
+ { -SQRT2, GOLDENINV2, -SQRT2INV, -GOLDEN2 },
+ { SQRT2, GOLDENINV2, -SQRT2INV, -GOLDEN2 },
+ { -SQRT2INV, -SQRT2, -GOLDENINV2, -GOLDEN2 },
+ { SQRT2INV, -SQRT2, -GOLDENINV2, -GOLDEN2 },
+ { -SQRT5OVER2, 0.0, -GOLDENINV2, -GOLDEN2 },
+ { SQRT5OVER2, 0.0, -GOLDENINV2, -GOLDEN2 },
+ { -SQRT2INV, SQRT2, -GOLDENINV2, -GOLDEN2 },
+ { SQRT2INV, SQRT2, -GOLDENINV2, -GOLDEN2 },
+ { -GOLDEN2, -GOLDEN2, -GOLDENINV22, -GOLDEN2 },
+ { GOLDEN2, -GOLDEN2, -GOLDENINV22, -GOLDEN2 },
+ { -GOLDEN2, GOLDEN2, -GOLDENINV22, -GOLDEN2 },
+ { GOLDEN2, GOLDEN2, -GOLDENINV22, -GOLDEN2 },
+ { -GOLDENINV2, -SQRT5OVER2, 0.0, -GOLDEN2 },
+ { GOLDENINV2, -SQRT5OVER2, 0.0, -GOLDEN2 },
+ { -GOLDENINV2, SQRT5OVER2, 0.0, -GOLDEN2 },
+ { GOLDENINV2, SQRT5OVER2, 0.0, -GOLDEN2 },
+ { -GOLDEN2, -GOLDEN2, GOLDENINV22, -GOLDEN2 },
+ { GOLDEN2, -GOLDEN2, GOLDENINV22, -GOLDEN2 },
+ { -GOLDEN2, GOLDEN2, GOLDENINV22, -GOLDEN2 },
+ { GOLDEN2, GOLDEN2, GOLDENINV22, -GOLDEN2 },
+ { -SQRT2INV, -SQRT2, GOLDENINV2, -GOLDEN2 },
+ { SQRT2INV, -SQRT2, GOLDENINV2, -GOLDEN2 },
+ { -SQRT5OVER2, 0.0, GOLDENINV2, -GOLDEN2 },
+ { SQRT5OVER2, 0.0, GOLDENINV2, -GOLDEN2 },
+ { -SQRT2INV, SQRT2, GOLDENINV2, -GOLDEN2 },
+ { SQRT2INV, SQRT2, GOLDENINV2, -GOLDEN2 },
+ { -SQRT2, -GOLDENINV2, SQRT2INV, -GOLDEN2 },
+ { SQRT2, -GOLDENINV2, SQRT2INV, -GOLDEN2 },
+ { -SQRT2, GOLDENINV2, SQRT2INV, -GOLDEN2 },
+ { SQRT2, GOLDENINV2, SQRT2INV, -GOLDEN2 },
+ { -GOLDENINV22, -GOLDEN2, GOLDEN2, -GOLDEN2 },
+ { GOLDENINV22, -GOLDEN2, GOLDEN2, -GOLDEN2 },
+ { -GOLDEN2, -GOLDENINV22, GOLDEN2, -GOLDEN2 },
+ { GOLDEN2, -GOLDENINV22, GOLDEN2, -GOLDEN2 },
+ { -GOLDEN2, GOLDENINV22, GOLDEN2, -GOLDEN2 },
+ { GOLDEN2, GOLDENINV22, GOLDEN2, -GOLDEN2 },
+ { -GOLDENINV22, GOLDEN2, GOLDEN2, -GOLDEN2 },
+ { GOLDENINV22, GOLDEN2, GOLDEN2, -GOLDEN2 },
+ { -GOLDENINV2, -SQRT2INV, SQRT2, -GOLDEN2 },
+ { GOLDENINV2, -SQRT2INV, SQRT2, -GOLDEN2 },
+ { -GOLDENINV2, SQRT2INV, SQRT2, -GOLDEN2 },
+ { GOLDENINV2, SQRT2INV, SQRT2, -GOLDEN2 },
+ { 0.0, -GOLDENINV2, SQRT5OVER2, -GOLDEN2 },
+ { 0.0, GOLDENINV2, SQRT5OVER2, -GOLDEN2 },
+ { 0.0, -GOLDENINV22, -GOLDEN22, -SQRT2INV },
+ { 0.0, GOLDENINV22, -GOLDEN22, -SQRT2INV },
+ { -SQRT2INV, -SQRT2INV, -SQRT5OVER2, -SQRT2INV },
+ { SQRT2INV, -SQRT2INV, -SQRT5OVER2, -SQRT2INV },
+ { -SQRT2INV, SQRT2INV, -SQRT5OVER2, -SQRT2INV },
+ { SQRT2INV, SQRT2INV, -SQRT5OVER2, -SQRT2INV },
+ { -GOLDEN2, -GOLDENINV2, -SQRT2, -SQRT2INV },
+ { GOLDEN2, -GOLDENINV2, -SQRT2, -SQRT2INV },
+ { -GOLDEN2, GOLDENINV2, -SQRT2, -SQRT2INV },
+ { GOLDEN2, GOLDENINV2, -SQRT2, -SQRT2INV },
+ { -GOLDENINV2, -SQRT2, -GOLDEN2, -SQRT2INV },
+ { GOLDENINV2, -SQRT2, -GOLDEN2, -SQRT2INV },
+ { -GOLDENINV2, SQRT2, -GOLDEN2, -SQRT2INV },
+ { GOLDENINV2, SQRT2, -GOLDEN2, -SQRT2INV },
+ { -SQRT2INV, -SQRT5OVER2, -SQRT2INV, -SQRT2INV },
+ { SQRT2INV, -SQRT5OVER2, -SQRT2INV, -SQRT2INV },
+ { -SQRT5OVER2, -SQRT2INV, -SQRT2INV, -SQRT2INV },
+ { SQRT5OVER2, -SQRT2INV, -SQRT2INV, -SQRT2INV },
+ { -SQRT5OVER2, SQRT2INV, -SQRT2INV, -SQRT2INV },
+ { SQRT5OVER2, SQRT2INV, -SQRT2INV, -SQRT2INV },
+ { -SQRT2INV, SQRT5OVER2, -SQRT2INV, -SQRT2INV },
+ { SQRT2INV, SQRT5OVER2, -SQRT2INV, -SQRT2INV },
+ { -SQRT2, -GOLDEN2, -GOLDENINV2, -SQRT2INV },
+ { SQRT2, -GOLDEN2, -GOLDENINV2, -SQRT2INV },
+ { -SQRT2, GOLDEN2, -GOLDENINV2, -SQRT2INV },
+ { SQRT2, GOLDEN2, -GOLDENINV2, -SQRT2INV },
+ { -GOLDEN22, 0.0, -GOLDENINV22, -SQRT2INV },
+ { GOLDEN22, 0.0, -GOLDENINV22, -SQRT2INV },
+ { -GOLDENINV22, -GOLDEN22, 0.0, -SQRT2INV },
+ { GOLDENINV22, -GOLDEN22, 0.0, -SQRT2INV },
+ { -GOLDENINV22, GOLDEN22, 0.0, -SQRT2INV },
+ { GOLDENINV22, GOLDEN22, 0.0, -SQRT2INV },
+ { -GOLDEN22, 0.0, GOLDENINV22, -SQRT2INV },
+ { GOLDEN22, 0.0, GOLDENINV22, -SQRT2INV },
+ { -SQRT2, -GOLDEN2, GOLDENINV2, -SQRT2INV },
+ { SQRT2, -GOLDEN2, GOLDENINV2, -SQRT2INV },
+ { -SQRT2, GOLDEN2, GOLDENINV2, -SQRT2INV },
+ { SQRT2, GOLDEN2, GOLDENINV2, -SQRT2INV },
+ { -SQRT2INV, -SQRT5OVER2, SQRT2INV, -SQRT2INV },
+ { SQRT2INV, -SQRT5OVER2, SQRT2INV, -SQRT2INV },
+ { -SQRT5OVER2, -SQRT2INV, SQRT2INV, -SQRT2INV },
+ { SQRT5OVER2, -SQRT2INV, SQRT2INV, -SQRT2INV },
+ { -SQRT5OVER2, SQRT2INV, SQRT2INV, -SQRT2INV },
+ { SQRT5OVER2, SQRT2INV, SQRT2INV, -SQRT2INV },
+ { -SQRT2INV, SQRT5OVER2, SQRT2INV, -SQRT2INV },
+ { SQRT2INV, SQRT5OVER2, SQRT2INV, -SQRT2INV },
+ { -GOLDENINV2, -SQRT2, GOLDEN2, -SQRT2INV },
+ { GOLDENINV2, -SQRT2, GOLDEN2, -SQRT2INV },
+ { -GOLDENINV2, SQRT2, GOLDEN2, -SQRT2INV },
+ { GOLDENINV2, SQRT2, GOLDEN2, -SQRT2INV },
+ { -GOLDEN2, -GOLDENINV2, SQRT2, -SQRT2INV },
+ { GOLDEN2, -GOLDENINV2, SQRT2, -SQRT2INV },
+ { -GOLDEN2, GOLDENINV2, SQRT2, -SQRT2INV },
+ { GOLDEN2, GOLDENINV2, SQRT2, -SQRT2INV },
+ { -SQRT2INV, -SQRT2INV, SQRT5OVER2, -SQRT2INV },
+ { SQRT2INV, -SQRT2INV, SQRT5OVER2, -SQRT2INV },
+ { -SQRT2INV, SQRT2INV, SQRT5OVER2, -SQRT2INV },
+ { SQRT2INV, SQRT2INV, SQRT5OVER2, -SQRT2INV },
+ { 0.0, -GOLDENINV22, GOLDEN22, -SQRT2INV },
+ { 0.0, GOLDENINV22, GOLDEN22, -SQRT2INV },
+ { -GOLDENINV2, -GOLDENINV2, -GOLDEN22, -GOLDENINV2 },
+ { GOLDENINV2, -GOLDENINV2, -GOLDEN22, -GOLDENINV2 },
+ { -GOLDENINV2, GOLDENINV2, -GOLDEN22, -GOLDENINV2 },
+ { GOLDENINV2, GOLDENINV2, -GOLDEN22, -GOLDENINV2 },
+ { -GOLDEN2, 0.0, -SQRT5OVER2, -GOLDENINV2 },
+ { GOLDEN2, 0.0, -SQRT5OVER2, -GOLDENINV2 },
+ { -SQRT2INV, -GOLDEN2, -SQRT2, -GOLDENINV2 },
+ { SQRT2INV, -GOLDEN2, -SQRT2, -GOLDENINV2 },
+ { -SQRT2INV, GOLDEN2, -SQRT2, -GOLDENINV2 },
+ { SQRT2INV, GOLDEN2, -SQRT2, -GOLDENINV2 },
+ { 0.0, -SQRT5OVER2, -GOLDEN2, -GOLDENINV2 },
+ { -SQRT2, -SQRT2INV, -GOLDEN2, -GOLDENINV2 },
+ { SQRT2, -SQRT2INV, -GOLDEN2, -GOLDENINV2 },
+ { -SQRT2, SQRT2INV, -GOLDEN2, -GOLDENINV2 },
+ { SQRT2, SQRT2INV, -GOLDEN2, -GOLDENINV2 },
+ { 0.0, SQRT5OVER2, -GOLDEN2, -GOLDENINV2 },
+ { -GOLDEN2, -SQRT2, -SQRT2INV, -GOLDENINV2 },
+ { GOLDEN2, -SQRT2, -SQRT2INV, -GOLDENINV2 },
+ { -GOLDEN2, SQRT2, -SQRT2INV, -GOLDENINV2 },
+ { GOLDEN2, SQRT2, -SQRT2INV, -GOLDENINV2 },
+ { -GOLDENINV2, -GOLDEN22, -GOLDENINV2, -GOLDENINV2 },
+ { GOLDENINV2, -GOLDEN22, -GOLDENINV2, -GOLDENINV2 },
+ { -GOLDEN22, -GOLDENINV2, -GOLDENINV2, -GOLDENINV2 },
+ { GOLDEN22, -GOLDENINV2, -GOLDENINV2, -GOLDENINV2 },
+ { -GOLDEN22, GOLDENINV2, -GOLDENINV2, -GOLDENINV2 },
+ { GOLDEN22, GOLDENINV2, -GOLDENINV2, -GOLDENINV2 },
+ { -GOLDENINV2, GOLDEN22, -GOLDENINV2, -GOLDENINV2 },
+ { GOLDENINV2, GOLDEN22, -GOLDENINV2, -GOLDENINV2 },
+ { -SQRT5OVER2, -GOLDEN2, 0.0, -GOLDENINV2 },
+ { SQRT5OVER2, -GOLDEN2, 0.0, -GOLDENINV2 },
+ { -SQRT5OVER2, GOLDEN2, 0.0, -GOLDENINV2 },
+ { SQRT5OVER2, GOLDEN2, 0.0, -GOLDENINV2 },
+ { -GOLDENINV2, -GOLDEN22, GOLDENINV2, -GOLDENINV2 },
+ { GOLDENINV2, -GOLDEN22, GOLDENINV2, -GOLDENINV2 },
+ { -GOLDEN22, -GOLDENINV2, GOLDENINV2, -GOLDENINV2 },
+ { GOLDEN22, -GOLDENINV2, GOLDENINV2, -GOLDENINV2 },
+ { -GOLDEN22, GOLDENINV2, GOLDENINV2, -GOLDENINV2 },
+ { GOLDEN22, GOLDENINV2, GOLDENINV2, -GOLDENINV2 },
+ { -GOLDENINV2, GOLDEN22, GOLDENINV2, -GOLDENINV2 },
+ { GOLDENINV2, GOLDEN22, GOLDENINV2, -GOLDENINV2 },
+ { -GOLDEN2, -SQRT2, SQRT2INV, -GOLDENINV2 },
+ { GOLDEN2, -SQRT2, SQRT2INV, -GOLDENINV2 },
+ { -GOLDEN2, SQRT2, SQRT2INV, -GOLDENINV2 },
+ { GOLDEN2, SQRT2, SQRT2INV, -GOLDENINV2 },
+ { 0.0, -SQRT5OVER2, GOLDEN2, -GOLDENINV2 },
+ { -SQRT2, -SQRT2INV, GOLDEN2, -GOLDENINV2 },
+ { SQRT2, -SQRT2INV, GOLDEN2, -GOLDENINV2 },
+ { -SQRT2, SQRT2INV, GOLDEN2, -GOLDENINV2 },
+ { SQRT2, SQRT2INV, GOLDEN2, -GOLDENINV2 },
+ { 0.0, SQRT5OVER2, GOLDEN2, -GOLDENINV2 },
+ { -SQRT2INV, -GOLDEN2, SQRT2, -GOLDENINV2 },
+ { SQRT2INV, -GOLDEN2, SQRT2, -GOLDENINV2 },
+ { -SQRT2INV, GOLDEN2, SQRT2, -GOLDENINV2 },
+ { SQRT2INV, GOLDEN2, SQRT2, -GOLDENINV2 },
+ { -GOLDEN2, 0.0, SQRT5OVER2, -GOLDENINV2 },
+ { GOLDEN2, 0.0, SQRT5OVER2, -GOLDENINV2 },
+ { -GOLDENINV2, -GOLDENINV2, GOLDEN22, -GOLDENINV2 },
+ { GOLDENINV2, -GOLDENINV2, GOLDEN22, -GOLDENINV2 },
+ { -GOLDENINV2, GOLDENINV2, GOLDEN22, -GOLDENINV2 },
+ { GOLDENINV2, GOLDENINV2, GOLDEN22, -GOLDENINV2 },
+ { -SQRT2INV, 0.0, -GOLDEN22, -GOLDENINV22 },
+ { SQRT2INV, 0.0, -GOLDEN22, -GOLDENINV22 },
+ { -GOLDEN2, -GOLDEN2, -GOLDEN2, -GOLDENINV22 },
+ { GOLDEN2, -GOLDEN2, -GOLDEN2, -GOLDENINV22 },
+ { -GOLDEN2, GOLDEN2, -GOLDEN2, -GOLDENINV22 },
+ { GOLDEN2, GOLDEN2, -GOLDEN2, -GOLDENINV22 },
+ { 0.0, -GOLDEN22, -SQRT2INV, -GOLDENINV22 },
+ { 0.0, GOLDEN22, -SQRT2INV, -GOLDENINV22 },
+ { -GOLDEN22, -SQRT2INV, 0.0, -GOLDENINV22 },
+ { GOLDEN22, -SQRT2INV, 0.0, -GOLDENINV22 },
+ { -GOLDEN22, SQRT2INV, 0.0, -GOLDENINV22 },
+ { GOLDEN22, SQRT2INV, 0.0, -GOLDENINV22 },
+ { 0.0, -GOLDEN22, SQRT2INV, -GOLDENINV22 },
+ { 0.0, GOLDEN22, SQRT2INV, -GOLDENINV22 },
+ { -GOLDEN2, -GOLDEN2, GOLDEN2, -GOLDENINV22 },
+ { GOLDEN2, -GOLDEN2, GOLDEN2, -GOLDENINV22 },
+ { -GOLDEN2, GOLDEN2, GOLDEN2, -GOLDENINV22 },
+ { GOLDEN2, GOLDEN2, GOLDEN2, -GOLDENINV22 },
+ { -SQRT2INV, 0.0, GOLDEN22, -GOLDENINV22 },
+ { SQRT2INV, 0.0, GOLDEN22, -GOLDENINV22 },
+ { -GOLDENINV22, -SQRT2INV, -GOLDEN22, 0.0 },
+ { GOLDENINV22, -SQRT2INV, -GOLDEN22, 0.0 },
+ { -GOLDENINV22, SQRT2INV, -GOLDEN22, 0.0 },
+ { GOLDENINV22, SQRT2INV, -GOLDEN22, 0.0 },
+ { -GOLDENINV2, -GOLDEN2, -SQRT5OVER2, 0.0 },
+ { GOLDENINV2, -GOLDEN2, -SQRT5OVER2, 0.0 },
+ { -GOLDENINV2, GOLDEN2, -SQRT5OVER2, 0.0 },
+ { GOLDENINV2, GOLDEN2, -SQRT5OVER2, 0.0 },
+ { 0.0, -SQRT2, -SQRT2, 0.0 },
+ { -SQRT2, 0.0, -SQRT2, 0.0 },
+ { SQRT2, 0.0, -SQRT2, 0.0 },
+ { 0.0, SQRT2, -SQRT2, 0.0 },
+ { -SQRT5OVER2, -GOLDENINV2, -GOLDEN2, 0.0 },
+ { SQRT5OVER2, -GOLDENINV2, -GOLDEN2, 0.0 },
+ { -SQRT5OVER2, GOLDENINV2, -GOLDEN2, 0.0 },
+ { SQRT5OVER2, GOLDENINV2, -GOLDEN2, 0.0 },
+ { -GOLDEN22, -GOLDENINV22, -SQRT2INV, 0.0 },
+ { GOLDEN22, -GOLDENINV22, -SQRT2INV, 0.0 },
+ { -GOLDEN22, GOLDENINV22, -SQRT2INV, 0.0 },
+ { GOLDEN22, GOLDENINV22, -SQRT2INV, 0.0 },
+ { -GOLDEN2, -SQRT5OVER2, -GOLDENINV2, 0.0 },
+ { GOLDEN2, -SQRT5OVER2, -GOLDENINV2, 0.0 },
+ { -GOLDEN2, SQRT5OVER2, -GOLDENINV2, 0.0 },
+ { GOLDEN2, SQRT5OVER2, -GOLDENINV2, 0.0 },
+ { -SQRT2INV, -GOLDEN22, -GOLDENINV22, 0.0 },
+ { SQRT2INV, -GOLDEN22, -GOLDENINV22, 0.0 },
+ { -SQRT2INV, GOLDEN22, -GOLDENINV22, 0.0 },
+ { SQRT2INV, GOLDEN22, -GOLDENINV22, 0.0 },
+ { -SQRT2, -SQRT2, 0.0, 0.0 },
+ { SQRT2, -SQRT2, 0.0, 0.0 },
+ { -SQRT2, SQRT2, 0.0, 0.0 },
+ { SQRT2, SQRT2, 0.0, 0.0 },
+ { -SQRT2INV, -GOLDEN22, GOLDENINV22, 0.0 },
+ { SQRT2INV, -GOLDEN22, GOLDENINV22, 0.0 },
+ { -SQRT2INV, GOLDEN22, GOLDENINV22, 0.0 },
+ { SQRT2INV, GOLDEN22, GOLDENINV22, 0.0 },
+ { -GOLDEN2, -SQRT5OVER2, GOLDENINV2, 0.0 },
+ { GOLDEN2, -SQRT5OVER2, GOLDENINV2, 0.0 },
+ { -GOLDEN2, SQRT5OVER2, GOLDENINV2, 0.0 },
+ { GOLDEN2, SQRT5OVER2, GOLDENINV2, 0.0 },
+ { -GOLDEN22, -GOLDENINV22, SQRT2INV, 0.0 },
+ { GOLDEN22, -GOLDENINV22, SQRT2INV, 0.0 },
+ { -GOLDEN22, GOLDENINV22, SQRT2INV, 0.0 },
+ { GOLDEN22, GOLDENINV22, SQRT2INV, 0.0 },
+ { -SQRT5OVER2, -GOLDENINV2, GOLDEN2, 0.0 },
+ { SQRT5OVER2, -GOLDENINV2, GOLDEN2, 0.0 },
+ { -SQRT5OVER2, GOLDENINV2, GOLDEN2, 0.0 },
+ { SQRT5OVER2, GOLDENINV2, GOLDEN2, 0.0 },
+ { 0.0, -SQRT2, SQRT2, 0.0 },
+ { -SQRT2, 0.0, SQRT2, 0.0 },
+ { SQRT2, 0.0, SQRT2, 0.0 },
+ { 0.0, SQRT2, SQRT2, 0.0 },
+ { -GOLDENINV2, -GOLDEN2, SQRT5OVER2, 0.0 },
+ { GOLDENINV2, -GOLDEN2, SQRT5OVER2, 0.0 },
+ { -GOLDENINV2, GOLDEN2, SQRT5OVER2, 0.0 },
+ { GOLDENINV2, GOLDEN2, SQRT5OVER2, 0.0 },
+ { -GOLDENINV22, -SQRT2INV, GOLDEN22, 0.0 },
+ { GOLDENINV22, -SQRT2INV, GOLDEN22, 0.0 },
+ { -GOLDENINV22, SQRT2INV, GOLDEN22, 0.0 },
+ { GOLDENINV22, SQRT2INV, GOLDEN22, 0.0 },
+ { -SQRT2INV, 0.0, -GOLDEN22, GOLDENINV22 },
+ { SQRT2INV, 0.0, -GOLDEN22, GOLDENINV22 },
+ { -GOLDEN2, -GOLDEN2, -GOLDEN2, GOLDENINV22 },
+ { GOLDEN2, -GOLDEN2, -GOLDEN2, GOLDENINV22 },
+ { -GOLDEN2, GOLDEN2, -GOLDEN2, GOLDENINV22 },
+ { GOLDEN2, GOLDEN2, -GOLDEN2, GOLDENINV22 },
+ { 0.0, -GOLDEN22, -SQRT2INV, GOLDENINV22 },
+ { 0.0, GOLDEN22, -SQRT2INV, GOLDENINV22 },
+ { -GOLDEN22, -SQRT2INV, 0.0, GOLDENINV22 },
+ { GOLDEN22, -SQRT2INV, 0.0, GOLDENINV22 },
+ { -GOLDEN22, SQRT2INV, 0.0, GOLDENINV22 },
+ { GOLDEN22, SQRT2INV, 0.0, GOLDENINV22 },
+ { 0.0, -GOLDEN22, SQRT2INV, GOLDENINV22 },
+ { 0.0, GOLDEN22, SQRT2INV, GOLDENINV22 },
+ { -GOLDEN2, -GOLDEN2, GOLDEN2, GOLDENINV22 },
+ { GOLDEN2, -GOLDEN2, GOLDEN2, GOLDENINV22 },
+ { -GOLDEN2, GOLDEN2, GOLDEN2, GOLDENINV22 },
+ { GOLDEN2, GOLDEN2, GOLDEN2, GOLDENINV22 },
+ { -SQRT2INV, 0.0, GOLDEN22, GOLDENINV22 },
+ { SQRT2INV, 0.0, GOLDEN22, GOLDENINV22 },
+ { -GOLDENINV2, -GOLDENINV2, -GOLDEN22, GOLDENINV2 },
+ { GOLDENINV2, -GOLDENINV2, -GOLDEN22, GOLDENINV2 },
+ { -GOLDENINV2, GOLDENINV2, -GOLDEN22, GOLDENINV2 },
+ { GOLDENINV2, GOLDENINV2, -GOLDEN22, GOLDENINV2 },
+ { -GOLDEN2, 0.0, -SQRT5OVER2, GOLDENINV2 },
+ { GOLDEN2, 0.0, -SQRT5OVER2, GOLDENINV2 },
+ { -SQRT2INV, -GOLDEN2, -SQRT2, GOLDENINV2 },
+ { SQRT2INV, -GOLDEN2, -SQRT2, GOLDENINV2 },
+ { -SQRT2INV, GOLDEN2, -SQRT2, GOLDENINV2 },
+ { SQRT2INV, GOLDEN2, -SQRT2, GOLDENINV2 },
+ { 0.0, -SQRT5OVER2, -GOLDEN2, GOLDENINV2 },
+ { -SQRT2, -SQRT2INV, -GOLDEN2, GOLDENINV2 },
+ { SQRT2, -SQRT2INV, -GOLDEN2, GOLDENINV2 },
+ { -SQRT2, SQRT2INV, -GOLDEN2, GOLDENINV2 },
+ { SQRT2, SQRT2INV, -GOLDEN2, GOLDENINV2 },
+ { 0.0, SQRT5OVER2, -GOLDEN2, GOLDENINV2 },
+ { -GOLDEN2, -SQRT2, -SQRT2INV, GOLDENINV2 },
+ { GOLDEN2, -SQRT2, -SQRT2INV, GOLDENINV2 },
+ { -GOLDEN2, SQRT2, -SQRT2INV, GOLDENINV2 },
+ { GOLDEN2, SQRT2, -SQRT2INV, GOLDENINV2 },
+ { -GOLDENINV2, -GOLDEN22, -GOLDENINV2, GOLDENINV2 },
+ { GOLDENINV2, -GOLDEN22, -GOLDENINV2, GOLDENINV2 },
+ { -GOLDEN22, -GOLDENINV2, -GOLDENINV2, GOLDENINV2 },
+ { GOLDEN22, -GOLDENINV2, -GOLDENINV2, GOLDENINV2 },
+ { -GOLDEN22, GOLDENINV2, -GOLDENINV2, GOLDENINV2 },
+ { GOLDEN22, GOLDENINV2, -GOLDENINV2, GOLDENINV2 },
+ { -GOLDENINV2, GOLDEN22, -GOLDENINV2, GOLDENINV2 },
+ { GOLDENINV2, GOLDEN22, -GOLDENINV2, GOLDENINV2 },
+ { -SQRT5OVER2, -GOLDEN2, 0.0, GOLDENINV2 },
+ { SQRT5OVER2, -GOLDEN2, 0.0, GOLDENINV2 },
+ { -SQRT5OVER2, GOLDEN2, 0.0, GOLDENINV2 },
+ { SQRT5OVER2, GOLDEN2, 0.0, GOLDENINV2 },
+ { -GOLDENINV2, -GOLDEN22, GOLDENINV2, GOLDENINV2 },
+ { GOLDENINV2, -GOLDEN22, GOLDENINV2, GOLDENINV2 },
+ { -GOLDEN22, -GOLDENINV2, GOLDENINV2, GOLDENINV2 },
+ { GOLDEN22, -GOLDENINV2, GOLDENINV2, GOLDENINV2 },
+ { -GOLDEN22, GOLDENINV2, GOLDENINV2, GOLDENINV2 },
+ { GOLDEN22, GOLDENINV2, GOLDENINV2, GOLDENINV2 },
+ { -GOLDENINV2, GOLDEN22, GOLDENINV2, GOLDENINV2 },
+ { GOLDENINV2, GOLDEN22, GOLDENINV2, GOLDENINV2 },
+ { -GOLDEN2, -SQRT2, SQRT2INV, GOLDENINV2 },
+ { GOLDEN2, -SQRT2, SQRT2INV, GOLDENINV2 },
+ { -GOLDEN2, SQRT2, SQRT2INV, GOLDENINV2 },
+ { GOLDEN2, SQRT2, SQRT2INV, GOLDENINV2 },
+ { 0.0, -SQRT5OVER2, GOLDEN2, GOLDENINV2 },
+ { -SQRT2, -SQRT2INV, GOLDEN2, GOLDENINV2 },
+ { SQRT2, -SQRT2INV, GOLDEN2, GOLDENINV2 },
+ { -SQRT2, SQRT2INV, GOLDEN2, GOLDENINV2 },
+ { SQRT2, SQRT2INV, GOLDEN2, GOLDENINV2 },
+ { 0.0, SQRT5OVER2, GOLDEN2, GOLDENINV2 },
+ { -SQRT2INV, -GOLDEN2, SQRT2, GOLDENINV2 },
+ { SQRT2INV, -GOLDEN2, SQRT2, GOLDENINV2 },
+ { -SQRT2INV, GOLDEN2, SQRT2, GOLDENINV2 },
+ { SQRT2INV, GOLDEN2, SQRT2, GOLDENINV2 },
+ { -GOLDEN2, 0.0, SQRT5OVER2, GOLDENINV2 },
+ { GOLDEN2, 0.0, SQRT5OVER2, GOLDENINV2 },
+ { -GOLDENINV2, -GOLDENINV2, GOLDEN22, GOLDENINV2 },
+ { GOLDENINV2, -GOLDENINV2, GOLDEN22, GOLDENINV2 },
+ { -GOLDENINV2, GOLDENINV2, GOLDEN22, GOLDENINV2 },
+ { GOLDENINV2, GOLDENINV2, GOLDEN22, GOLDENINV2 },
+ { 0.0, -GOLDENINV22, -GOLDEN22, SQRT2INV },
+ { 0.0, GOLDENINV22, -GOLDEN22, SQRT2INV },
+ { -SQRT2INV, -SQRT2INV, -SQRT5OVER2, SQRT2INV },
+ { SQRT2INV, -SQRT2INV, -SQRT5OVER2, SQRT2INV },
+ { -SQRT2INV, SQRT2INV, -SQRT5OVER2, SQRT2INV },
+ { SQRT2INV, SQRT2INV, -SQRT5OVER2, SQRT2INV },
+ { -GOLDEN2, -GOLDENINV2, -SQRT2, SQRT2INV },
+ { GOLDEN2, -GOLDENINV2, -SQRT2, SQRT2INV },
+ { -GOLDEN2, GOLDENINV2, -SQRT2, SQRT2INV },
+ { GOLDEN2, GOLDENINV2, -SQRT2, SQRT2INV },
+ { -GOLDENINV2, -SQRT2, -GOLDEN2, SQRT2INV },
+ { GOLDENINV2, -SQRT2, -GOLDEN2, SQRT2INV },
+ { -GOLDENINV2, SQRT2, -GOLDEN2, SQRT2INV },
+ { GOLDENINV2, SQRT2, -GOLDEN2, SQRT2INV },
+ { -SQRT2INV, -SQRT5OVER2, -SQRT2INV, SQRT2INV },
+ { SQRT2INV, -SQRT5OVER2, -SQRT2INV, SQRT2INV },
+ { -SQRT5OVER2, -SQRT2INV, -SQRT2INV, SQRT2INV },
+ { SQRT5OVER2, -SQRT2INV, -SQRT2INV, SQRT2INV },
+ { -SQRT5OVER2, SQRT2INV, -SQRT2INV, SQRT2INV },
+ { SQRT5OVER2, SQRT2INV, -SQRT2INV, SQRT2INV },
+ { -SQRT2INV, SQRT5OVER2, -SQRT2INV, SQRT2INV },
+ { SQRT2INV, SQRT5OVER2, -SQRT2INV, SQRT2INV },
+ { -SQRT2, -GOLDEN2, -GOLDENINV2, SQRT2INV },
+ { SQRT2, -GOLDEN2, -GOLDENINV2, SQRT2INV },
+ { -SQRT2, GOLDEN2, -GOLDENINV2, SQRT2INV },
+ { SQRT2, GOLDEN2, -GOLDENINV2, SQRT2INV },
+ { -GOLDEN22, 0.0, -GOLDENINV22, SQRT2INV },
+ { GOLDEN22, 0.0, -GOLDENINV22, SQRT2INV },
+ { -GOLDENINV22, -GOLDEN22, 0.0, SQRT2INV },
+ { GOLDENINV22, -GOLDEN22, 0.0, SQRT2INV },
+ { -GOLDENINV22, GOLDEN22, 0.0, SQRT2INV },
+ { GOLDENINV22, GOLDEN22, 0.0, SQRT2INV },
+ { -GOLDEN22, 0.0, GOLDENINV22, SQRT2INV },
+ { GOLDEN22, 0.0, GOLDENINV22, SQRT2INV },
+ { -SQRT2, -GOLDEN2, GOLDENINV2, SQRT2INV },
+ { SQRT2, -GOLDEN2, GOLDENINV2, SQRT2INV },
+ { -SQRT2, GOLDEN2, GOLDENINV2, SQRT2INV },
+ { SQRT2, GOLDEN2, GOLDENINV2, SQRT2INV },
+ { -SQRT2INV, -SQRT5OVER2, SQRT2INV, SQRT2INV },
+ { SQRT2INV, -SQRT5OVER2, SQRT2INV, SQRT2INV },
+ { -SQRT5OVER2, -SQRT2INV, SQRT2INV, SQRT2INV },
+ { SQRT5OVER2, -SQRT2INV, SQRT2INV, SQRT2INV },
+ { -SQRT5OVER2, SQRT2INV, SQRT2INV, SQRT2INV },
+ { SQRT5OVER2, SQRT2INV, SQRT2INV, SQRT2INV },
+ { -SQRT2INV, SQRT5OVER2, SQRT2INV, SQRT2INV },
+ { SQRT2INV, SQRT5OVER2, SQRT2INV, SQRT2INV },
+ { -GOLDENINV2, -SQRT2, GOLDEN2, SQRT2INV },
+ { GOLDENINV2, -SQRT2, GOLDEN2, SQRT2INV },
+ { -GOLDENINV2, SQRT2, GOLDEN2, SQRT2INV },
+ { GOLDENINV2, SQRT2, GOLDEN2, SQRT2INV },
+ { -GOLDEN2, -GOLDENINV2, SQRT2, SQRT2INV },
+ { GOLDEN2, -GOLDENINV2, SQRT2, SQRT2INV },
+ { -GOLDEN2, GOLDENINV2, SQRT2, SQRT2INV },
+ { GOLDEN2, GOLDENINV2, SQRT2, SQRT2INV },
+ { -SQRT2INV, -SQRT2INV, SQRT5OVER2, SQRT2INV },
+ { SQRT2INV, -SQRT2INV, SQRT5OVER2, SQRT2INV },
+ { -SQRT2INV, SQRT2INV, SQRT5OVER2, SQRT2INV },
+ { SQRT2INV, SQRT2INV, SQRT5OVER2, SQRT2INV },
+ { 0.0, -GOLDENINV22, GOLDEN22, SQRT2INV },
+ { 0.0, GOLDENINV22, GOLDEN22, SQRT2INV },
+ { 0.0, -GOLDENINV2, -SQRT5OVER2, GOLDEN2 },
+ { 0.0, GOLDENINV2, -SQRT5OVER2, GOLDEN2 },
+ { -GOLDENINV2, -SQRT2INV, -SQRT2, GOLDEN2 },
+ { GOLDENINV2, -SQRT2INV, -SQRT2, GOLDEN2 },
+ { -GOLDENINV2, SQRT2INV, -SQRT2, GOLDEN2 },
+ { GOLDENINV2, SQRT2INV, -SQRT2, GOLDEN2 },
+ { -GOLDENINV22, -GOLDEN2, -GOLDEN2, GOLDEN2 },
+ { GOLDENINV22, -GOLDEN2, -GOLDEN2, GOLDEN2 },
+ { -GOLDEN2, -GOLDENINV22, -GOLDEN2, GOLDEN2 },
+ { GOLDEN2, -GOLDENINV22, -GOLDEN2, GOLDEN2 },
+ { -GOLDEN2, GOLDENINV22, -GOLDEN2, GOLDEN2 },
+ { GOLDEN2, GOLDENINV22, -GOLDEN2, GOLDEN2 },
+ { -GOLDENINV22, GOLDEN2, -GOLDEN2, GOLDEN2 },
+ { GOLDENINV22, GOLDEN2, -GOLDEN2, GOLDEN2 },
+ { -SQRT2, -GOLDENINV2, -SQRT2INV, GOLDEN2 },
+ { SQRT2, -GOLDENINV2, -SQRT2INV, GOLDEN2 },
+ { -SQRT2, GOLDENINV2, -SQRT2INV, GOLDEN2 },
+ { SQRT2, GOLDENINV2, -SQRT2INV, GOLDEN2 },
+ { -SQRT2INV, -SQRT2, -GOLDENINV2, GOLDEN2 },
+ { SQRT2INV, -SQRT2, -GOLDENINV2, GOLDEN2 },
+ { -SQRT5OVER2, 0.0, -GOLDENINV2, GOLDEN2 },
+ { SQRT5OVER2, 0.0, -GOLDENINV2, GOLDEN2 },
+ { -SQRT2INV, SQRT2, -GOLDENINV2, GOLDEN2 },
+ { SQRT2INV, SQRT2, -GOLDENINV2, GOLDEN2 },
+ { -GOLDEN2, -GOLDEN2, -GOLDENINV22, GOLDEN2 },
+ { GOLDEN2, -GOLDEN2, -GOLDENINV22, GOLDEN2 },
+ { -GOLDEN2, GOLDEN2, -GOLDENINV22, GOLDEN2 },
+ { GOLDEN2, GOLDEN2, -GOLDENINV22, GOLDEN2 },
+ { -GOLDENINV2, -SQRT5OVER2, 0.0, GOLDEN2 },
+ { GOLDENINV2, -SQRT5OVER2, 0.0, GOLDEN2 },
+ { -GOLDENINV2, SQRT5OVER2, 0.0, GOLDEN2 },
+ { GOLDENINV2, SQRT5OVER2, 0.0, GOLDEN2 },
+ { -GOLDEN2, -GOLDEN2, GOLDENINV22, GOLDEN2 },
+ { GOLDEN2, -GOLDEN2, GOLDENINV22, GOLDEN2 },
+ { -GOLDEN2, GOLDEN2, GOLDENINV22, GOLDEN2 },
+ { GOLDEN2, GOLDEN2, GOLDENINV22, GOLDEN2 },
+ { -SQRT2INV, -SQRT2, GOLDENINV2, GOLDEN2 },
+ { SQRT2INV, -SQRT2, GOLDENINV2, GOLDEN2 },
+ { -SQRT5OVER2, 0.0, GOLDENINV2, GOLDEN2 },
+ { SQRT5OVER2, 0.0, GOLDENINV2, GOLDEN2 },
+ { -SQRT2INV, SQRT2, GOLDENINV2, GOLDEN2 },
+ { SQRT2INV, SQRT2, GOLDENINV2, GOLDEN2 },
+ { -SQRT2, -GOLDENINV2, SQRT2INV, GOLDEN2 },
+ { SQRT2, -GOLDENINV2, SQRT2INV, GOLDEN2 },
+ { -SQRT2, GOLDENINV2, SQRT2INV, GOLDEN2 },
+ { SQRT2, GOLDENINV2, SQRT2INV, GOLDEN2 },
+ { -GOLDENINV22, -GOLDEN2, GOLDEN2, GOLDEN2 },
+ { GOLDENINV22, -GOLDEN2, GOLDEN2, GOLDEN2 },
+ { -GOLDEN2, -GOLDENINV22, GOLDEN2, GOLDEN2 },
+ { GOLDEN2, -GOLDENINV22, GOLDEN2, GOLDEN2 },
+ { -GOLDEN2, GOLDENINV22, GOLDEN2, GOLDEN2 },
+ { GOLDEN2, GOLDENINV22, GOLDEN2, GOLDEN2 },
+ { -GOLDENINV22, GOLDEN2, GOLDEN2, GOLDEN2 },
+ { GOLDENINV22, GOLDEN2, GOLDEN2, GOLDEN2 },
+ { -GOLDENINV2, -SQRT2INV, SQRT2, GOLDEN2 },
+ { GOLDENINV2, -SQRT2INV, SQRT2, GOLDEN2 },
+ { -GOLDENINV2, SQRT2INV, SQRT2, GOLDEN2 },
+ { GOLDENINV2, SQRT2INV, SQRT2, GOLDEN2 },
+ { 0.0, -GOLDENINV2, SQRT5OVER2, GOLDEN2 },
+ { 0.0, GOLDENINV2, SQRT5OVER2, GOLDEN2 },
+ { 0.0, 0.0, -SQRT2, SQRT2 },
+ { -SQRT2INV, -GOLDENINV2, -GOLDEN2, SQRT2 },
+ { SQRT2INV, -GOLDENINV2, -GOLDEN2, SQRT2 },
+ { -SQRT2INV, GOLDENINV2, -GOLDEN2, SQRT2 },
+ { SQRT2INV, GOLDENINV2, -GOLDEN2, SQRT2 },
+ { -GOLDENINV2, -GOLDEN2, -SQRT2INV, SQRT2 },
+ { GOLDENINV2, -GOLDEN2, -SQRT2INV, SQRT2 },
+ { -GOLDENINV2, GOLDEN2, -SQRT2INV, SQRT2 },
+ { GOLDENINV2, GOLDEN2, -SQRT2INV, SQRT2 },
+ { -GOLDEN2, -SQRT2INV, -GOLDENINV2, SQRT2 },
+ { GOLDEN2, -SQRT2INV, -GOLDENINV2, SQRT2 },
+ { -GOLDEN2, SQRT2INV, -GOLDENINV2, SQRT2 },
+ { GOLDEN2, SQRT2INV, -GOLDENINV2, SQRT2 },
+ { 0.0, -SQRT2, 0.0, SQRT2 },
+ { -SQRT2, 0.0, 0.0, SQRT2 },
+ { SQRT2, 0.0, 0.0, SQRT2 },
+ { 0.0, SQRT2, 0.0, SQRT2 },
+ { -GOLDEN2, -SQRT2INV, GOLDENINV2, SQRT2 },
+ { GOLDEN2, -SQRT2INV, GOLDENINV2, SQRT2 },
+ { -GOLDEN2, SQRT2INV, GOLDENINV2, SQRT2 },
+ { GOLDEN2, SQRT2INV, GOLDENINV2, SQRT2 },
+ { -GOLDENINV2, -GOLDEN2, SQRT2INV, SQRT2 },
+ { GOLDENINV2, -GOLDEN2, SQRT2INV, SQRT2 },
+ { -GOLDENINV2, GOLDEN2, SQRT2INV, SQRT2 },
+ { GOLDENINV2, GOLDEN2, SQRT2INV, SQRT2 },
+ { -SQRT2INV, -GOLDENINV2, GOLDEN2, SQRT2 },
+ { SQRT2INV, -GOLDENINV2, GOLDEN2, SQRT2 },
+ { -SQRT2INV, GOLDENINV2, GOLDEN2, SQRT2 },
+ { SQRT2INV, GOLDENINV2, GOLDEN2, SQRT2 },
+ { 0.0, 0.0, SQRT2, SQRT2 },
+ { -GOLDENINV2, 0.0, -GOLDEN2, SQRT5OVER2 },
+ { GOLDENINV2, 0.0, -GOLDEN2, SQRT5OVER2 },
+ { -SQRT2INV, -SQRT2INV, -SQRT2INV, SQRT5OVER2 },
+ { SQRT2INV, -SQRT2INV, -SQRT2INV, SQRT5OVER2 },
+ { -SQRT2INV, SQRT2INV, -SQRT2INV, SQRT5OVER2 },
+ { SQRT2INV, SQRT2INV, -SQRT2INV, SQRT5OVER2 },
+ { 0.0, -GOLDEN2, -GOLDENINV2, SQRT5OVER2 },
+ { 0.0, GOLDEN2, -GOLDENINV2, SQRT5OVER2 },
+ { -GOLDEN2, -GOLDENINV2, 0.0, SQRT5OVER2 },
+ { GOLDEN2, -GOLDENINV2, 0.0, SQRT5OVER2 },
+ { -GOLDEN2, GOLDENINV2, 0.0, SQRT5OVER2 },
+ { GOLDEN2, GOLDENINV2, 0.0, SQRT5OVER2 },
+ { 0.0, -GOLDEN2, GOLDENINV2, SQRT5OVER2 },
+ { 0.0, GOLDEN2, GOLDENINV2, SQRT5OVER2 },
+ { -SQRT2INV, -SQRT2INV, SQRT2INV, SQRT5OVER2 },
+ { SQRT2INV, -SQRT2INV, SQRT2INV, SQRT5OVER2 },
+ { -SQRT2INV, SQRT2INV, SQRT2INV, SQRT5OVER2 },
+ { SQRT2INV, SQRT2INV, SQRT2INV, SQRT5OVER2 },
+ { -GOLDENINV2, 0.0, GOLDEN2, SQRT5OVER2 },
+ { GOLDENINV2, 0.0, GOLDEN2, SQRT5OVER2 },
+ { -GOLDENINV22, 0.0, -SQRT2INV, GOLDEN22 },
+ { GOLDENINV22, 0.0, -SQRT2INV, GOLDEN22 },
+ { -GOLDENINV2, -GOLDENINV2, -GOLDENINV2, GOLDEN22 },
+ { GOLDENINV2, -GOLDENINV2, -GOLDENINV2, GOLDEN22 },
+ { -GOLDENINV2, GOLDENINV2, -GOLDENINV2, GOLDEN22 },
+ { GOLDENINV2, GOLDENINV2, -GOLDENINV2, GOLDEN22 },
+ { 0.0, -SQRT2INV, -GOLDENINV22, GOLDEN22 },
+ { 0.0, SQRT2INV, -GOLDENINV22, GOLDEN22 },
+ { -SQRT2INV, -GOLDENINV22, 0.0, GOLDEN22 },
+ { SQRT2INV, -GOLDENINV22, 0.0, GOLDEN22 },
+ { -SQRT2INV, GOLDENINV22, 0.0, GOLDEN22 },
+ { SQRT2INV, GOLDENINV22, 0.0, GOLDEN22 },
+ { 0.0, -SQRT2INV, GOLDENINV22, GOLDEN22 },
+ { 0.0, SQRT2INV, GOLDENINV22, GOLDEN22 },
+ { -GOLDENINV2, -GOLDENINV2, GOLDENINV2, GOLDEN22 },
+ { GOLDENINV2, -GOLDENINV2, GOLDENINV2, GOLDEN22 },
+ { -GOLDENINV2, GOLDENINV2, GOLDENINV2, GOLDEN22 },
+ { GOLDENINV2, GOLDENINV2, GOLDENINV2, GOLDEN22 },
+ { -GOLDENINV22, 0.0, SQRT2INV, GOLDEN22 },
+ { GOLDENINV22, 0.0, SQRT2INV, GOLDEN22 }
+};
+
+static int edge_120[NUM_EDGE_120][2] = {
+ { 0, 1 }, { 0, 2 }, { 0, 4 }, { 0, 20 }, { 1, 3 },
+ { 1, 5 }, { 1, 21 }, { 2, 6 }, { 2, 8 }, { 2, 22 },
+ { 3, 6 }, { 3, 9 }, { 3, 23 }, { 4, 7 }, { 4, 10 },
+ { 4, 24 }, { 5, 7 }, { 5, 11 }, { 5, 25 }, { 6, 12 },
+ { 6, 26 }, { 7, 13 }, { 7, 27 }, { 8, 10 }, { 8, 14 },
+ { 8, 28 }, { 9, 11 }, { 9, 15 }, { 9, 29 }, { 10, 16 },
+ { 10, 30 }, { 11, 17 }, { 11, 31 }, { 12, 14 }, { 12, 15 },
+ { 12, 32 }, { 13, 16 }, { 13, 17 }, { 13, 33 }, { 14, 18 },
+ { 14, 34 }, { 15, 19 }, { 15, 35 }, { 16, 18 }, { 16, 36 },
+ { 17, 19 }, { 17, 37 }, { 18, 19 }, { 18, 38 }, { 19, 39 },
+ { 20, 40 }, { 20, 41 }, { 20, 43 }, { 21, 40 }, { 21, 42 },
+ { 21, 44 }, { 22, 41 }, { 22, 45 }, { 22, 49 }, { 23, 42 },
+ { 23, 46 }, { 23, 50 }, { 24, 43 }, { 24, 47 }, { 24, 51 },
+ { 25, 44 }, { 25, 48 }, { 25, 52 }, { 26, 45 }, { 26, 46 },
+ { 26, 53 }, { 27, 47 }, { 27, 48 }, { 27, 56 }, { 28, 49 },
+ { 28, 54 }, { 28, 57 }, { 29, 50 }, { 29, 55 }, { 29, 58 },
+ { 30, 51 }, { 30, 54 }, { 30, 59 }, { 31, 52 }, { 31, 55 },
+ { 31, 60 }, { 32, 53 }, { 32, 61 }, { 32, 62 }, { 33, 56 },
+ { 33, 63 }, { 33, 64 }, { 34, 57 }, { 34, 61 }, { 34, 65 },
+ { 35, 58 }, { 35, 62 }, { 35, 66 }, { 36, 59 }, { 36, 63 },
+ { 36, 67 }, { 37, 60 }, { 37, 64 }, { 37, 68 }, { 38, 65 },
+ { 38, 67 }, { 38, 69 }, { 39, 66 }, { 39, 68 }, { 39, 69 },
+ { 40, 70 }, { 40, 71 }, { 41, 72 }, { 41, 78 }, { 42, 73 },
+ { 42, 79 }, { 43, 74 }, { 43, 80 }, { 44, 75 }, { 44, 81 },
+ { 45, 76 }, { 45, 88 }, { 46, 77 }, { 46, 89 }, { 47, 82 },
+ { 47, 92 }, { 48, 83 }, { 48, 93 }, { 49, 84 }, { 49, 94 },
+ { 50, 85 }, { 50, 95 }, { 51, 86 }, { 51, 96 }, { 52, 87 },
+ { 52, 97 }, { 53, 98 }, { 53, 99 }, { 54, 90 }, { 54, 108 },
+ { 55, 91 }, { 55, 109 }, { 56, 100 }, { 56, 101 }, { 57, 102 },
+ { 57, 112 }, { 58, 103 }, { 58, 113 }, { 59, 104 }, { 59, 114 },
+ { 60, 105 }, { 60, 115 }, { 61, 106 }, { 61, 116 }, { 62, 107 },
+ { 62, 117 }, { 63, 110 }, { 63, 122 }, { 64, 111 }, { 64, 123 },
+ { 65, 118 }, { 65, 124 }, { 66, 119 }, { 66, 125 }, { 67, 120 },
+ { 67, 126 }, { 68, 121 }, { 68, 127 }, { 69, 128 }, { 69, 129 },
+ { 70, 72 }, { 70, 73 }, { 70, 130 }, { 71, 74 }, { 71, 75 },
+ { 71, 131 }, { 72, 76 }, { 72, 132 }, { 73, 77 }, { 73, 133 },
+ { 74, 82 }, { 74, 134 }, { 75, 83 }, { 75, 135 }, { 76, 77 },
+ { 76, 140 }, { 77, 141 }, { 78, 80 }, { 78, 84 }, { 78, 136 },
+ { 79, 81 }, { 79, 85 }, { 79, 137 }, { 80, 86 }, { 80, 138 },
+ { 81, 87 }, { 81, 139 }, { 82, 83 }, { 82, 142 }, { 83, 143 },
+ { 84, 90 }, { 84, 146 }, { 85, 91 }, { 85, 147 }, { 86, 90 },
+ { 86, 148 }, { 87, 91 }, { 87, 149 }, { 88, 94 }, { 88, 98 },
+ { 88, 144 }, { 89, 95 }, { 89, 99 }, { 89, 145 }, { 90, 156 },
+ { 91, 157 }, { 92, 96 }, { 92, 100 }, { 92, 150 }, { 93, 97 },
+ { 93, 101 }, { 93, 151 }, { 94, 102 }, { 94, 152 }, { 95, 103 },
+ { 95, 153 }, { 96, 104 }, { 96, 154 }, { 97, 105 }, { 97, 155 },
+ { 98, 106 }, { 98, 158 }, { 99, 107 }, { 99, 159 }, { 100, 110 },
+ { 100, 160 }, { 101, 111 }, { 101, 161 }, { 102, 106 }, { 102, 164 },
+ { 103, 107 }, { 103, 165 }, { 104, 110 }, { 104, 166 }, { 105, 111 },
+ { 105, 167 }, { 106, 168 }, { 107, 169 }, { 108, 112 }, { 108, 114 },
+ { 108, 162 }, { 109, 113 }, { 109, 115 }, { 109, 163 }, { 110, 174 },
+ { 111, 175 }, { 112, 118 }, { 112, 170 }, { 113, 119 }, { 113, 171 },
+ { 114, 120 }, { 114, 172 }, { 115, 121 }, { 115, 173 }, { 116, 117 },
+ { 116, 124 }, { 116, 176 }, { 117, 125 }, { 117, 177 }, { 118, 120 },
+ { 118, 180 }, { 119, 121 }, { 119, 181 }, { 120, 182 }, { 121, 183 },
+ { 122, 123 }, { 122, 126 }, { 122, 178 }, { 123, 127 }, { 123, 179 },
+ { 124, 128 }, { 124, 184 }, { 125, 128 }, { 125, 185 }, { 126, 129 },
+ { 126, 186 }, { 127, 129 }, { 127, 187 }, { 128, 188 }, { 129, 189 },
+ { 130, 131 }, { 130, 190 }, { 130, 191 }, { 131, 192 }, { 131, 193 },
+ { 132, 136 }, { 132, 190 }, { 132, 196 }, { 133, 137 }, { 133, 191 },
+ { 133, 197 }, { 134, 138 }, { 134, 192 }, { 134, 198 }, { 135, 139 },
+ { 135, 193 }, { 135, 199 }, { 136, 194 }, { 136, 201 }, { 137, 195 },
+ { 137, 202 }, { 138, 194 }, { 138, 203 }, { 139, 195 }, { 139, 204 },
+ { 140, 144 }, { 140, 196 }, { 140, 200 }, { 141, 145 }, { 141, 197 },
+ { 141, 200 }, { 142, 150 }, { 142, 198 }, { 142, 205 }, { 143, 151 },
+ { 143, 199 }, { 143, 205 }, { 144, 206 }, { 144, 210 }, { 145, 207 },
+ { 145, 211 }, { 146, 152 }, { 146, 201 }, { 146, 212 }, { 147, 153 },
+ { 147, 202 }, { 147, 213 }, { 148, 154 }, { 148, 203 }, { 148, 214 },
+ { 149, 155 }, { 149, 204 }, { 149, 215 }, { 150, 208 }, { 150, 216 },
+ { 151, 209 }, { 151, 217 }, { 152, 206 }, { 152, 218 }, { 153, 207 },
+ { 153, 219 }, { 154, 208 }, { 154, 220 }, { 155, 209 }, { 155, 221 },
+ { 156, 162 }, { 156, 212 }, { 156, 214 }, { 157, 163 }, { 157, 213 },
+ { 157, 215 }, { 158, 159 }, { 158, 210 }, { 158, 222 }, { 159, 211 },
+ { 159, 223 }, { 160, 161 }, { 160, 216 }, { 160, 228 }, { 161, 217 },
+ { 161, 229 }, { 162, 224 }, { 162, 226 }, { 163, 225 }, { 163, 227 },
+ { 164, 170 }, { 164, 218 }, { 164, 230 }, { 165, 171 }, { 165, 219 },
+ { 165, 231 }, { 166, 172 }, { 166, 220 }, { 166, 232 }, { 167, 173 },
+ { 167, 221 }, { 167, 233 }, { 168, 176 }, { 168, 222 }, { 168, 230 },
+ { 169, 177 }, { 169, 223 }, { 169, 231 }, { 170, 224 }, { 170, 235 },
+ { 171, 225 }, { 171, 236 }, { 172, 226 }, { 172, 237 }, { 173, 227 },
+ { 173, 238 }, { 174, 178 }, { 174, 228 }, { 174, 232 }, { 175, 179 },
+ { 175, 229 }, { 175, 233 }, { 176, 234 }, { 176, 240 }, { 177, 234 },
+ { 177, 241 }, { 178, 239 }, { 178, 242 }, { 179, 239 }, { 179, 243 },
+ { 180, 184 }, { 180, 235 }, { 180, 244 }, { 181, 185 }, { 181, 236 },
+ { 181, 245 }, { 182, 186 }, { 182, 237 }, { 182, 244 }, { 183, 187 },
+ { 183, 238 }, { 183, 245 }, { 184, 240 }, { 184, 246 }, { 185, 241 },
+ { 185, 247 }, { 186, 242 }, { 186, 248 }, { 187, 243 }, { 187, 249 },
+ { 188, 189 }, { 188, 246 }, { 188, 247 }, { 189, 248 }, { 189, 249 },
+ { 190, 250 }, { 190, 270 }, { 191, 251 }, { 191, 271 }, { 192, 250 },
+ { 192, 272 }, { 193, 251 }, { 193, 273 }, { 194, 250 }, { 194, 279 },
+ { 195, 251 }, { 195, 280 }, { 196, 252 }, { 196, 274 }, { 197, 253 },
+ { 197, 275 }, { 198, 254 }, { 198, 276 }, { 199, 255 }, { 199, 277 },
+ { 200, 256 }, { 200, 278 }, { 201, 252 }, { 201, 282 }, { 202, 253 },
+ { 202, 283 }, { 203, 254 }, { 203, 284 }, { 204, 255 }, { 204, 285 },
+ { 205, 257 }, { 205, 281 }, { 206, 252 }, { 206, 290 }, { 207, 253 },
+ { 207, 291 }, { 208, 254 }, { 208, 292 }, { 209, 255 }, { 209, 293 },
+ { 210, 256 }, { 210, 294 }, { 211, 256 }, { 211, 295 }, { 212, 258 },
+ { 212, 286 }, { 213, 259 }, { 213, 287 }, { 214, 260 }, { 214, 288 },
+ { 215, 261 }, { 215, 289 }, { 216, 257 }, { 216, 296 }, { 217, 257 },
+ { 217, 297 }, { 218, 258 }, { 218, 298 }, { 219, 259 }, { 219, 299 },
+ { 220, 260 }, { 220, 300 }, { 221, 261 }, { 221, 301 }, { 222, 262 },
+ { 222, 302 }, { 223, 262 }, { 223, 303 }, { 224, 258 }, { 224, 310 },
+ { 225, 259 }, { 225, 311 }, { 226, 260 }, { 226, 312 }, { 227, 261 },
+ { 227, 313 }, { 228, 263 }, { 228, 304 }, { 229, 263 }, { 229, 305 },
+ { 230, 264 }, { 230, 306 }, { 231, 265 }, { 231, 307 }, { 232, 266 },
+ { 232, 308 }, { 233, 267 }, { 233, 309 }, { 234, 262 }, { 234, 318 },
+ { 235, 264 }, { 235, 314 }, { 236, 265 }, { 236, 315 }, { 237, 266 },
+ { 237, 316 }, { 238, 267 }, { 238, 317 }, { 239, 263 }, { 239, 321 },
+ { 240, 264 }, { 240, 322 }, { 241, 265 }, { 241, 323 }, { 242, 266 },
+ { 242, 324 }, { 243, 267 }, { 243, 325 }, { 244, 268 }, { 244, 319 },
+ { 245, 269 }, { 245, 320 }, { 246, 268 }, { 246, 326 }, { 247, 269 },
+ { 247, 327 }, { 248, 268 }, { 248, 328 }, { 249, 269 }, { 249, 329 },
+ { 250, 330 }, { 251, 331 }, { 252, 332 }, { 253, 333 }, { 254, 334 },
+ { 255, 335 }, { 256, 336 }, { 257, 337 }, { 258, 338 }, { 259, 339 },
+ { 260, 340 }, { 261, 341 }, { 262, 342 }, { 263, 343 }, { 264, 344 },
+ { 265, 345 }, { 266, 346 }, { 267, 347 }, { 268, 348 }, { 269, 349 },
+ { 270, 271 }, { 270, 274 }, { 270, 350 }, { 271, 275 }, { 271, 351 },
+ { 272, 273 }, { 272, 276 }, { 272, 352 }, { 273, 277 }, { 273, 353 },
+ { 274, 278 }, { 274, 356 }, { 275, 278 }, { 275, 357 }, { 276, 281 },
+ { 276, 358 }, { 277, 281 }, { 277, 359 }, { 278, 360 }, { 279, 282 },
+ { 279, 284 }, { 279, 354 }, { 280, 283 }, { 280, 285 }, { 280, 355 },
+ { 281, 365 }, { 282, 286 }, { 282, 361 }, { 283, 287 }, { 283, 362 },
+ { 284, 288 }, { 284, 363 }, { 285, 289 }, { 285, 364 }, { 286, 288 },
+ { 286, 372 }, { 287, 289 }, { 287, 373 }, { 288, 374 }, { 289, 375 },
+ { 290, 294 }, { 290, 298 }, { 290, 366 }, { 291, 295 }, { 291, 299 },
+ { 291, 367 }, { 292, 296 }, { 292, 300 }, { 292, 368 }, { 293, 297 },
+ { 293, 301 }, { 293, 369 }, { 294, 302 }, { 294, 370 }, { 295, 303 },
+ { 295, 371 }, { 296, 304 }, { 296, 376 }, { 297, 305 }, { 297, 377 },
+ { 298, 306 }, { 298, 378 }, { 299, 307 }, { 299, 379 }, { 300, 308 },
+ { 300, 380 }, { 301, 309 }, { 301, 381 }, { 302, 306 }, { 302, 382 },
+ { 303, 307 }, { 303, 383 }, { 304, 308 }, { 304, 388 }, { 305, 309 },
+ { 305, 389 }, { 306, 390 }, { 307, 391 }, { 308, 392 }, { 309, 393 },
+ { 310, 312 }, { 310, 314 }, { 310, 384 }, { 311, 313 }, { 311, 315 },
+ { 311, 385 }, { 312, 316 }, { 312, 386 }, { 313, 317 }, { 313, 387 },
+ { 314, 319 }, { 314, 395 }, { 315, 320 }, { 315, 396 }, { 316, 319 },
+ { 316, 397 }, { 317, 320 }, { 317, 398 }, { 318, 322 }, { 318, 323 },
+ { 318, 394 }, { 319, 404 }, { 320, 405 }, { 321, 324 }, { 321, 325 },
+ { 321, 399 }, { 322, 326 }, { 322, 400 }, { 323, 327 }, { 323, 401 },
+ { 324, 328 }, { 324, 402 }, { 325, 329 }, { 325, 403 }, { 326, 327 },
+ { 326, 406 }, { 327, 407 }, { 328, 329 }, { 328, 408 }, { 329, 409 },
+ { 330, 350 }, { 330, 352 }, { 330, 354 }, { 331, 351 }, { 331, 353 },
+ { 331, 355 }, { 332, 356 }, { 332, 361 }, { 332, 366 }, { 333, 357 },
+ { 333, 362 }, { 333, 367 }, { 334, 358 }, { 334, 363 }, { 334, 368 },
+ { 335, 359 }, { 335, 364 }, { 335, 369 }, { 336, 360 }, { 336, 370 },
+ { 336, 371 }, { 337, 365 }, { 337, 376 }, { 337, 377 }, { 338, 372 },
+ { 338, 378 }, { 338, 384 }, { 339, 373 }, { 339, 379 }, { 339, 385 },
+ { 340, 374 }, { 340, 380 }, { 340, 386 }, { 341, 375 }, { 341, 381 },
+ { 341, 387 }, { 342, 382 }, { 342, 383 }, { 342, 394 }, { 343, 388 },
+ { 343, 389 }, { 343, 399 }, { 344, 390 }, { 344, 395 }, { 344, 400 },
+ { 345, 391 }, { 345, 396 }, { 345, 401 }, { 346, 392 }, { 346, 397 },
+ { 346, 402 }, { 347, 393 }, { 347, 398 }, { 347, 403 }, { 348, 404 },
+ { 348, 406 }, { 348, 408 }, { 349, 405 }, { 349, 407 }, { 349, 409 },
+ { 350, 410 }, { 350, 412 }, { 351, 410 }, { 351, 413 }, { 352, 411 },
+ { 352, 414 }, { 353, 411 }, { 353, 415 }, { 354, 416 }, { 354, 418 },
+ { 355, 417 }, { 355, 419 }, { 356, 412 }, { 356, 420 }, { 357, 413 },
+ { 357, 421 }, { 358, 414 }, { 358, 422 }, { 359, 415 }, { 359, 423 },
+ { 360, 420 }, { 360, 421 }, { 361, 416 }, { 361, 426 }, { 362, 417 },
+ { 362, 427 }, { 363, 418 }, { 363, 428 }, { 364, 419 }, { 364, 429 },
+ { 365, 422 }, { 365, 423 }, { 366, 424 }, { 366, 432 }, { 367, 425 },
+ { 367, 433 }, { 368, 430 }, { 368, 434 }, { 369, 431 }, { 369, 435 },
+ { 370, 424 }, { 370, 438 }, { 371, 425 }, { 371, 439 }, { 372, 426 },
+ { 372, 436 }, { 373, 427 }, { 373, 437 }, { 374, 428 }, { 374, 436 },
+ { 375, 429 }, { 375, 437 }, { 376, 430 }, { 376, 440 }, { 377, 431 },
+ { 377, 441 }, { 378, 432 }, { 378, 444 }, { 379, 433 }, { 379, 445 },
+ { 380, 434 }, { 380, 446 }, { 381, 435 }, { 381, 447 }, { 382, 438 },
+ { 382, 448 }, { 383, 439 }, { 383, 449 }, { 384, 442 }, { 384, 450 },
+ { 385, 443 }, { 385, 451 }, { 386, 442 }, { 386, 452 }, { 387, 443 },
+ { 387, 453 }, { 388, 440 }, { 388, 454 }, { 389, 441 }, { 389, 455 },
+ { 390, 444 }, { 390, 448 }, { 391, 445 }, { 391, 449 }, { 392, 446 },
+ { 392, 454 }, { 393, 447 }, { 393, 455 }, { 394, 456 }, { 394, 457 },
+ { 395, 450 }, { 395, 460 }, { 396, 451 }, { 396, 461 }, { 397, 452 },
+ { 397, 462 }, { 398, 453 }, { 398, 463 }, { 399, 458 }, { 399, 459 },
+ { 400, 456 }, { 400, 464 }, { 401, 457 }, { 401, 465 }, { 402, 458 },
+ { 402, 466 }, { 403, 459 }, { 403, 467 }, { 404, 460 }, { 404, 462 },
+ { 405, 461 }, { 405, 463 }, { 406, 464 }, { 406, 468 }, { 407, 465 },
+ { 407, 468 }, { 408, 466 }, { 408, 469 }, { 409, 467 }, { 409, 469 },
+ { 410, 411 }, { 410, 470 }, { 411, 471 }, { 412, 416 }, { 412, 472 },
+ { 413, 417 }, { 413, 473 }, { 414, 418 }, { 414, 474 }, { 415, 419 },
+ { 415, 475 }, { 416, 478 }, { 417, 479 }, { 418, 480 }, { 419, 481 },
+ { 420, 424 }, { 420, 476 }, { 421, 425 }, { 421, 477 }, { 422, 430 },
+ { 422, 482 }, { 423, 431 }, { 423, 483 }, { 424, 488 }, { 425, 489 },
+ { 426, 432 }, { 426, 484 }, { 427, 433 }, { 427, 485 }, { 428, 434 },
+ { 428, 486 }, { 429, 435 }, { 429, 487 }, { 430, 492 }, { 431, 493 },
+ { 432, 494 }, { 433, 495 }, { 434, 496 }, { 435, 497 }, { 436, 442 },
+ { 436, 490 }, { 437, 443 }, { 437, 491 }, { 438, 439 }, { 438, 498 },
+ { 439, 499 }, { 440, 441 }, { 440, 500 }, { 441, 501 }, { 442, 508 },
+ { 443, 509 }, { 444, 450 }, { 444, 502 }, { 445, 451 }, { 445, 503 },
+ { 446, 452 }, { 446, 504 }, { 447, 453 }, { 447, 505 }, { 448, 456 },
+ { 448, 506 }, { 449, 457 }, { 449, 507 }, { 450, 512 }, { 451, 513 },
+ { 452, 514 }, { 453, 515 }, { 454, 458 }, { 454, 510 }, { 455, 459 },
+ { 455, 511 }, { 456, 516 }, { 457, 517 }, { 458, 522 }, { 459, 523 },
+ { 460, 464 }, { 460, 518 }, { 461, 465 }, { 461, 519 }, { 462, 466 },
+ { 462, 520 }, { 463, 467 }, { 463, 521 }, { 464, 524 }, { 465, 525 },
+ { 466, 526 }, { 467, 527 }, { 468, 469 }, { 468, 528 }, { 469, 529 },
+ { 470, 472 }, { 470, 473 }, { 470, 530 }, { 471, 474 }, { 471, 475 },
+ { 471, 530 }, { 472, 476 }, { 472, 531 }, { 473, 477 }, { 473, 532 },
+ { 474, 482 }, { 474, 533 }, { 475, 483 }, { 475, 534 }, { 476, 477 },
+ { 476, 535 }, { 477, 536 }, { 478, 480 }, { 478, 484 }, { 478, 531 },
+ { 479, 481 }, { 479, 485 }, { 479, 532 }, { 480, 486 }, { 480, 533 },
+ { 481, 487 }, { 481, 534 }, { 482, 483 }, { 482, 537 }, { 483, 538 },
+ { 484, 490 }, { 484, 539 }, { 485, 491 }, { 485, 540 }, { 486, 490 },
+ { 486, 541 }, { 487, 491 }, { 487, 542 }, { 488, 494 }, { 488, 498 },
+ { 488, 535 }, { 489, 495 }, { 489, 499 }, { 489, 536 }, { 490, 544 },
+ { 491, 545 }, { 492, 496 }, { 492, 500 }, { 492, 537 }, { 493, 497 },
+ { 493, 501 }, { 493, 538 }, { 494, 502 }, { 494, 539 }, { 495, 503 },
+ { 495, 540 }, { 496, 504 }, { 496, 541 }, { 497, 505 }, { 497, 542 },
+ { 498, 506 }, { 498, 543 }, { 499, 507 }, { 499, 543 }, { 500, 510 },
+ { 500, 546 }, { 501, 511 }, { 501, 546 }, { 502, 506 }, { 502, 547 },
+ { 503, 507 }, { 503, 548 }, { 504, 510 }, { 504, 549 }, { 505, 511 },
+ { 505, 550 }, { 506, 551 }, { 507, 552 }, { 508, 512 }, { 508, 514 },
+ { 508, 544 }, { 509, 513 }, { 509, 515 }, { 509, 545 }, { 510, 553 },
+ { 511, 554 }, { 512, 518 }, { 512, 547 }, { 513, 519 }, { 513, 548 },
+ { 514, 520 }, { 514, 549 }, { 515, 521 }, { 515, 550 }, { 516, 517 },
+ { 516, 524 }, { 516, 551 }, { 517, 525 }, { 517, 552 }, { 518, 520 },
+ { 518, 555 }, { 519, 521 }, { 519, 556 }, { 520, 557 }, { 521, 558 },
+ { 522, 523 }, { 522, 526 }, { 522, 553 }, { 523, 527 }, { 523, 554 },
+ { 524, 528 }, { 524, 555 }, { 525, 528 }, { 525, 556 }, { 526, 529 },
+ { 526, 557 }, { 527, 529 }, { 527, 558 }, { 528, 559 }, { 529, 559 },
+ { 530, 560 }, { 530, 561 }, { 531, 560 }, { 531, 562 }, { 532, 561 },
+ { 532, 563 }, { 533, 560 }, { 533, 564 }, { 534, 561 }, { 534, 565 },
+ { 535, 562 }, { 535, 566 }, { 536, 563 }, { 536, 566 }, { 537, 564 },
+ { 537, 567 }, { 538, 565 }, { 538, 567 }, { 539, 562 }, { 539, 568 },
+ { 540, 563 }, { 540, 569 }, { 541, 564 }, { 541, 570 }, { 542, 565 },
+ { 542, 571 }, { 543, 566 }, { 543, 572 }, { 544, 568 }, { 544, 570 },
+ { 545, 569 }, { 545, 571 }, { 546, 567 }, { 546, 573 }, { 547, 568 },
+ { 547, 574 }, { 548, 569 }, { 548, 575 }, { 549, 570 }, { 549, 576 },
+ { 550, 571 }, { 550, 577 }, { 551, 572 }, { 551, 574 }, { 552, 572 },
+ { 552, 575 }, { 553, 573 }, { 553, 576 }, { 554, 573 }, { 554, 577 },
+ { 555, 574 }, { 555, 578 }, { 556, 575 }, { 556, 579 }, { 557, 576 },
+ { 557, 578 }, { 558, 577 }, { 558, 579 }, { 559, 578 }, { 559, 579 },
+ { 560, 580 }, { 561, 581 }, { 562, 582 }, { 563, 583 }, { 564, 584 },
+ { 565, 585 }, { 566, 586 }, { 567, 587 }, { 568, 588 }, { 569, 589 },
+ { 570, 590 }, { 571, 591 }, { 572, 592 }, { 573, 593 }, { 574, 594 },
+ { 575, 595 }, { 576, 596 }, { 577, 597 }, { 578, 598 }, { 579, 599 },
+ { 580, 581 }, { 580, 582 }, { 580, 584 }, { 581, 583 }, { 581, 585 },
+ { 582, 586 }, { 582, 588 }, { 583, 586 }, { 583, 589 }, { 584, 587 },
+ { 584, 590 }, { 585, 587 }, { 585, 591 }, { 586, 592 }, { 587, 593 },
+ { 588, 590 }, { 588, 594 }, { 589, 591 }, { 589, 595 }, { 590, 596 },
+ { 591, 597 }, { 592, 594 }, { 592, 595 }, { 593, 596 }, { 593, 597 },
+ { 594, 598 }, { 595, 599 }, { 596, 598 }, { 597, 599 }, { 598, 599 }
+};
+
+static int face_120[NUM_FACE_120][VERT_PER_FACE_120] = {
+ { 0, 1, 3, 6, 2 }, { 0, 1, 5, 7, 4 },
+ { 0, 1, 21, 40, 20 }, { 0, 2, 8, 10, 4 },
+ { 0, 2, 22, 41, 20 }, { 0, 4, 24, 43, 20 },
+ { 1, 3, 9, 11, 5 }, { 1, 3, 23, 42, 21 },
+ { 1, 5, 25, 44, 21 }, { 2, 6, 12, 14, 8 },
+ { 2, 6, 26, 45, 22 }, { 2, 8, 28, 49, 22 },
+ { 3, 6, 12, 15, 9 }, { 3, 6, 26, 46, 23 },
+ { 3, 9, 29, 50, 23 }, { 4, 7, 13, 16, 10 },
+ { 4, 7, 27, 47, 24 }, { 4, 10, 30, 51, 24 },
+ { 5, 7, 13, 17, 11 }, { 5, 7, 27, 48, 25 },
+ { 5, 11, 31, 52, 25 }, { 6, 12, 32, 53, 26 },
+ { 7, 13, 33, 56, 27 }, { 8, 10, 16, 18, 14 },
+ { 8, 10, 30, 54, 28 }, { 8, 14, 34, 57, 28 },
+ { 9, 11, 17, 19, 15 }, { 9, 11, 31, 55, 29 },
+ { 9, 15, 35, 58, 29 }, { 10, 16, 36, 59, 30 },
+ { 11, 17, 37, 60, 31 }, { 12, 14, 18, 19, 15 },
+ { 12, 14, 34, 61, 32 }, { 12, 15, 35, 62, 32 },
+ { 13, 16, 18, 19, 17 }, { 13, 16, 36, 63, 33 },
+ { 13, 17, 37, 64, 33 }, { 14, 18, 38, 65, 34 },
+ { 15, 19, 39, 66, 35 }, { 16, 18, 38, 67, 36 },
+ { 17, 19, 39, 68, 37 }, { 18, 19, 39, 69, 38 },
+ { 20, 40, 70, 72, 41 }, { 20, 40, 71, 74, 43 },
+ { 20, 41, 78, 80, 43 }, { 21, 40, 70, 73, 42 },
+ { 21, 40, 71, 75, 44 }, { 21, 42, 79, 81, 44 },
+ { 22, 41, 72, 76, 45 }, { 22, 41, 78, 84, 49 },
+ { 22, 45, 88, 94, 49 }, { 23, 42, 73, 77, 46 },
+ { 23, 42, 79, 85, 50 }, { 23, 46, 89, 95, 50 },
+ { 24, 43, 74, 82, 47 }, { 24, 43, 80, 86, 51 },
+ { 24, 47, 92, 96, 51 }, { 25, 44, 75, 83, 48 },
+ { 25, 44, 81, 87, 52 }, { 25, 48, 93, 97, 52 },
+ { 26, 45, 76, 77, 46 }, { 26, 45, 88, 98, 53 },
+ { 26, 46, 89, 99, 53 }, { 27, 47, 82, 83, 48 },
+ { 27, 47, 92, 100, 56 }, { 27, 48, 93, 101, 56 },
+ { 28, 49, 84, 90, 54 }, { 28, 49, 94, 102, 57 },
+ { 28, 54, 108, 112, 57 }, { 29, 50, 85, 91, 55 },
+ { 29, 50, 95, 103, 58 }, { 29, 55, 109, 113, 58 },
+ { 30, 51, 86, 90, 54 }, { 30, 51, 96, 104, 59 },
+ { 30, 54, 108, 114, 59 }, { 31, 52, 87, 91, 55 },
+ { 31, 52, 97, 105, 60 }, { 31, 55, 109, 115, 60 },
+ { 32, 53, 98, 106, 61 }, { 32, 53, 99, 107, 62 },
+ { 32, 61, 116, 117, 62 }, { 33, 56, 100, 110, 63 },
+ { 33, 56, 101, 111, 64 }, { 33, 63, 122, 123, 64 },
+ { 34, 57, 102, 106, 61 }, { 34, 57, 112, 118, 65 },
+ { 34, 61, 116, 124, 65 }, { 35, 58, 103, 107, 62 },
+ { 35, 58, 113, 119, 66 }, { 35, 62, 117, 125, 66 },
+ { 36, 59, 104, 110, 63 }, { 36, 59, 114, 120, 67 },
+ { 36, 63, 122, 126, 67 }, { 37, 60, 105, 111, 64 },
+ { 37, 60, 115, 121, 68 }, { 37, 64, 123, 127, 68 },
+ { 38, 65, 118, 120, 67 }, { 38, 65, 124, 128, 69 },
+ { 38, 67, 126, 129, 69 }, { 39, 66, 119, 121, 68 },
+ { 39, 66, 125, 128, 69 }, { 39, 68, 127, 129, 69 },
+ { 40, 70, 130, 131, 71 }, { 41, 72, 132, 136, 78 },
+ { 42, 73, 133, 137, 79 }, { 43, 74, 134, 138, 80 },
+ { 44, 75, 135, 139, 81 }, { 45, 76, 140, 144, 88 },
+ { 46, 77, 141, 145, 89 }, { 47, 82, 142, 150, 92 },
+ { 48, 83, 143, 151, 93 }, { 49, 84, 146, 152, 94 },
+ { 50, 85, 147, 153, 95 }, { 51, 86, 148, 154, 96 },
+ { 52, 87, 149, 155, 97 }, { 53, 98, 158, 159, 99 },
+ { 54, 90, 156, 162, 108 }, { 55, 91, 157, 163, 109 },
+ { 56, 100, 160, 161, 101 }, { 57, 102, 164, 170, 112 },
+ { 58, 103, 165, 171, 113 }, { 59, 104, 166, 172, 114 },
+ { 60, 105, 167, 173, 115 }, { 61, 106, 168, 176, 116 },
+ { 62, 107, 169, 177, 117 }, { 63, 110, 174, 178, 122 },
+ { 64, 111, 175, 179, 123 }, { 65, 118, 180, 184, 124 },
+ { 66, 119, 181, 185, 125 }, { 67, 120, 182, 186, 126 },
+ { 68, 121, 183, 187, 127 }, { 69, 128, 188, 189, 129 },
+ { 70, 72, 76, 77, 73 }, { 70, 72, 132, 190, 130 },
+ { 70, 73, 133, 191, 130 }, { 71, 74, 82, 83, 75 },
+ { 71, 74, 134, 192, 131 }, { 71, 75, 135, 193, 131 },
+ { 72, 76, 140, 196, 132 }, { 73, 77, 141, 197, 133 },
+ { 74, 82, 142, 198, 134 }, { 75, 83, 143, 199, 135 },
+ { 76, 77, 141, 200, 140 }, { 78, 80, 86, 90, 84 },
+ { 78, 80, 138, 194, 136 }, { 78, 84, 146, 201, 136 },
+ { 79, 81, 87, 91, 85 }, { 79, 81, 139, 195, 137 },
+ { 79, 85, 147, 202, 137 }, { 80, 86, 148, 203, 138 },
+ { 81, 87, 149, 204, 139 }, { 82, 83, 143, 205, 142 },
+ { 84, 90, 156, 212, 146 }, { 85, 91, 157, 213, 147 },
+ { 86, 90, 156, 214, 148 }, { 87, 91, 157, 215, 149 },
+ { 88, 94, 102, 106, 98 }, { 88, 94, 152, 206, 144 },
+ { 88, 98, 158, 210, 144 }, { 89, 95, 103, 107, 99 },
+ { 89, 95, 153, 207, 145 }, { 89, 99, 159, 211, 145 },
+ { 92, 96, 104, 110, 100 }, { 92, 96, 154, 208, 150 },
+ { 92, 100, 160, 216, 150 }, { 93, 97, 105, 111, 101 },
+ { 93, 97, 155, 209, 151 }, { 93, 101, 161, 217, 151 },
+ { 94, 102, 164, 218, 152 }, { 95, 103, 165, 219, 153 },
+ { 96, 104, 166, 220, 154 }, { 97, 105, 167, 221, 155 },
+ { 98, 106, 168, 222, 158 }, { 99, 107, 169, 223, 159 },
+ { 100, 110, 174, 228, 160 }, { 101, 111, 175, 229, 161 },
+ { 102, 106, 168, 230, 164 }, { 103, 107, 169, 231, 165 },
+ { 104, 110, 174, 232, 166 }, { 105, 111, 175, 233, 167 },
+ { 108, 112, 118, 120, 114 }, { 108, 112, 170, 224, 162 },
+ { 108, 114, 172, 226, 162 }, { 109, 113, 119, 121, 115 },
+ { 109, 113, 171, 225, 163 }, { 109, 115, 173, 227, 163 },
+ { 112, 118, 180, 235, 170 }, { 113, 119, 181, 236, 171 },
+ { 114, 120, 182, 237, 172 }, { 115, 121, 183, 238, 173 },
+ { 116, 117, 125, 128, 124 }, { 116, 117, 177, 234, 176 },
+ { 116, 124, 184, 240, 176 }, { 117, 125, 185, 241, 177 },
+ { 118, 120, 182, 244, 180 }, { 119, 121, 183, 245, 181 },
+ { 122, 123, 127, 129, 126 }, { 122, 123, 179, 239, 178 },
+ { 122, 126, 186, 242, 178 }, { 123, 127, 187, 243, 179 },
+ { 124, 128, 188, 246, 184 }, { 125, 128, 188, 247, 185 },
+ { 126, 129, 189, 248, 186 }, { 127, 129, 189, 249, 187 },
+ { 130, 131, 192, 250, 190 }, { 130, 131, 193, 251, 191 },
+ { 130, 190, 270, 271, 191 }, { 131, 192, 272, 273, 193 },
+ { 132, 136, 194, 250, 190 }, { 132, 136, 201, 252, 196 },
+ { 132, 190, 270, 274, 196 }, { 133, 137, 195, 251, 191 },
+ { 133, 137, 202, 253, 197 }, { 133, 191, 271, 275, 197 },
+ { 134, 138, 194, 250, 192 }, { 134, 138, 203, 254, 198 },
+ { 134, 192, 272, 276, 198 }, { 135, 139, 195, 251, 193 },
+ { 135, 139, 204, 255, 199 }, { 135, 193, 273, 277, 199 },
+ { 136, 194, 279, 282, 201 }, { 137, 195, 280, 283, 202 },
+ { 138, 194, 279, 284, 203 }, { 139, 195, 280, 285, 204 },
+ { 140, 144, 206, 252, 196 }, { 140, 144, 210, 256, 200 },
+ { 140, 196, 274, 278, 200 }, { 141, 145, 207, 253, 197 },
+ { 141, 145, 211, 256, 200 }, { 141, 197, 275, 278, 200 },
+ { 142, 150, 208, 254, 198 }, { 142, 150, 216, 257, 205 },
+ { 142, 198, 276, 281, 205 }, { 143, 151, 209, 255, 199 },
+ { 143, 151, 217, 257, 205 }, { 143, 199, 277, 281, 205 },
+ { 144, 206, 290, 294, 210 }, { 145, 207, 291, 295, 211 },
+ { 146, 152, 206, 252, 201 }, { 146, 152, 218, 258, 212 },
+ { 146, 201, 282, 286, 212 }, { 147, 153, 207, 253, 202 },
+ { 147, 153, 219, 259, 213 }, { 147, 202, 283, 287, 213 },
+ { 148, 154, 208, 254, 203 }, { 148, 154, 220, 260, 214 },
+ { 148, 203, 284, 288, 214 }, { 149, 155, 209, 255, 204 },
+ { 149, 155, 221, 261, 215 }, { 149, 204, 285, 289, 215 },
+ { 150, 208, 292, 296, 216 }, { 151, 209, 293, 297, 217 },
+ { 152, 206, 290, 298, 218 }, { 153, 207, 291, 299, 219 },
+ { 154, 208, 292, 300, 220 }, { 155, 209, 293, 301, 221 },
+ { 156, 162, 224, 258, 212 }, { 156, 162, 226, 260, 214 },
+ { 156, 212, 286, 288, 214 }, { 157, 163, 225, 259, 213 },
+ { 157, 163, 227, 261, 215 }, { 157, 213, 287, 289, 215 },
+ { 158, 159, 211, 256, 210 }, { 158, 159, 223, 262, 222 },
+ { 158, 210, 294, 302, 222 }, { 159, 211, 295, 303, 223 },
+ { 160, 161, 217, 257, 216 }, { 160, 161, 229, 263, 228 },
+ { 160, 216, 296, 304, 228 }, { 161, 217, 297, 305, 229 },
+ { 162, 224, 310, 312, 226 }, { 163, 225, 311, 313, 227 },
+ { 164, 170, 224, 258, 218 }, { 164, 170, 235, 264, 230 },
+ { 164, 218, 298, 306, 230 }, { 165, 171, 225, 259, 219 },
+ { 165, 171, 236, 265, 231 }, { 165, 219, 299, 307, 231 },
+ { 166, 172, 226, 260, 220 }, { 166, 172, 237, 266, 232 },
+ { 166, 220, 300, 308, 232 }, { 167, 173, 227, 261, 221 },
+ { 167, 173, 238, 267, 233 }, { 167, 221, 301, 309, 233 },
+ { 168, 176, 234, 262, 222 }, { 168, 176, 240, 264, 230 },
+ { 168, 222, 302, 306, 230 }, { 169, 177, 234, 262, 223 },
+ { 169, 177, 241, 265, 231 }, { 169, 223, 303, 307, 231 },
+ { 170, 224, 310, 314, 235 }, { 171, 225, 311, 315, 236 },
+ { 172, 226, 312, 316, 237 }, { 173, 227, 313, 317, 238 },
+ { 174, 178, 239, 263, 228 }, { 174, 178, 242, 266, 232 },
+ { 174, 228, 304, 308, 232 }, { 175, 179, 239, 263, 229 },
+ { 175, 179, 243, 267, 233 }, { 175, 229, 305, 309, 233 },
+ { 176, 234, 318, 322, 240 }, { 177, 234, 318, 323, 241 },
+ { 178, 239, 321, 324, 242 }, { 179, 239, 321, 325, 243 },
+ { 180, 184, 240, 264, 235 }, { 180, 184, 246, 268, 244 },
+ { 180, 235, 314, 319, 244 }, { 181, 185, 241, 265, 236 },
+ { 181, 185, 247, 269, 245 }, { 181, 236, 315, 320, 245 },
+ { 182, 186, 242, 266, 237 }, { 182, 186, 248, 268, 244 },
+ { 182, 237, 316, 319, 244 }, { 183, 187, 243, 267, 238 },
+ { 183, 187, 249, 269, 245 }, { 183, 238, 317, 320, 245 },
+ { 184, 240, 322, 326, 246 }, { 185, 241, 323, 327, 247 },
+ { 186, 242, 324, 328, 248 }, { 187, 243, 325, 329, 249 },
+ { 188, 189, 248, 268, 246 }, { 188, 189, 249, 269, 247 },
+ { 188, 246, 326, 327, 247 }, { 189, 248, 328, 329, 249 },
+ { 190, 250, 330, 350, 270 }, { 191, 251, 331, 351, 271 },
+ { 192, 250, 330, 352, 272 }, { 193, 251, 331, 353, 273 },
+ { 194, 250, 330, 354, 279 }, { 195, 251, 331, 355, 280 },
+ { 196, 252, 332, 356, 274 }, { 197, 253, 333, 357, 275 },
+ { 198, 254, 334, 358, 276 }, { 199, 255, 335, 359, 277 },
+ { 200, 256, 336, 360, 278 }, { 201, 252, 332, 361, 282 },
+ { 202, 253, 333, 362, 283 }, { 203, 254, 334, 363, 284 },
+ { 204, 255, 335, 364, 285 }, { 205, 257, 337, 365, 281 },
+ { 206, 252, 332, 366, 290 }, { 207, 253, 333, 367, 291 },
+ { 208, 254, 334, 368, 292 }, { 209, 255, 335, 369, 293 },
+ { 210, 256, 336, 370, 294 }, { 211, 256, 336, 371, 295 },
+ { 212, 258, 338, 372, 286 }, { 213, 259, 339, 373, 287 },
+ { 214, 260, 340, 374, 288 }, { 215, 261, 341, 375, 289 },
+ { 216, 257, 337, 376, 296 }, { 217, 257, 337, 377, 297 },
+ { 218, 258, 338, 378, 298 }, { 219, 259, 339, 379, 299 },
+ { 220, 260, 340, 380, 300 }, { 221, 261, 341, 381, 301 },
+ { 222, 262, 342, 382, 302 }, { 223, 262, 342, 383, 303 },
+ { 224, 258, 338, 384, 310 }, { 225, 259, 339, 385, 311 },
+ { 226, 260, 340, 386, 312 }, { 227, 261, 341, 387, 313 },
+ { 228, 263, 343, 388, 304 }, { 229, 263, 343, 389, 305 },
+ { 230, 264, 344, 390, 306 }, { 231, 265, 345, 391, 307 },
+ { 232, 266, 346, 392, 308 }, { 233, 267, 347, 393, 309 },
+ { 234, 262, 342, 394, 318 }, { 235, 264, 344, 395, 314 },
+ { 236, 265, 345, 396, 315 }, { 237, 266, 346, 397, 316 },
+ { 238, 267, 347, 398, 317 }, { 239, 263, 343, 399, 321 },
+ { 240, 264, 344, 400, 322 }, { 241, 265, 345, 401, 323 },
+ { 242, 266, 346, 402, 324 }, { 243, 267, 347, 403, 325 },
+ { 244, 268, 348, 404, 319 }, { 245, 269, 349, 405, 320 },
+ { 246, 268, 348, 406, 326 }, { 247, 269, 349, 407, 327 },
+ { 248, 268, 348, 408, 328 }, { 249, 269, 349, 409, 329 },
+ { 270, 271, 275, 278, 274 }, { 270, 271, 351, 410, 350 },
+ { 270, 274, 356, 412, 350 }, { 271, 275, 357, 413, 351 },
+ { 272, 273, 277, 281, 276 }, { 272, 273, 353, 411, 352 },
+ { 272, 276, 358, 414, 352 }, { 273, 277, 359, 415, 353 },
+ { 274, 278, 360, 420, 356 }, { 275, 278, 360, 421, 357 },
+ { 276, 281, 365, 422, 358 }, { 277, 281, 365, 423, 359 },
+ { 279, 282, 286, 288, 284 }, { 279, 282, 361, 416, 354 },
+ { 279, 284, 363, 418, 354 }, { 280, 283, 287, 289, 285 },
+ { 280, 283, 362, 417, 355 }, { 280, 285, 364, 419, 355 },
+ { 282, 286, 372, 426, 361 }, { 283, 287, 373, 427, 362 },
+ { 284, 288, 374, 428, 363 }, { 285, 289, 375, 429, 364 },
+ { 286, 288, 374, 436, 372 }, { 287, 289, 375, 437, 373 },
+ { 290, 294, 302, 306, 298 }, { 290, 294, 370, 424, 366 },
+ { 290, 298, 378, 432, 366 }, { 291, 295, 303, 307, 299 },
+ { 291, 295, 371, 425, 367 }, { 291, 299, 379, 433, 367 },
+ { 292, 296, 304, 308, 300 }, { 292, 296, 376, 430, 368 },
+ { 292, 300, 380, 434, 368 }, { 293, 297, 305, 309, 301 },
+ { 293, 297, 377, 431, 369 }, { 293, 301, 381, 435, 369 },
+ { 294, 302, 382, 438, 370 }, { 295, 303, 383, 439, 371 },
+ { 296, 304, 388, 440, 376 }, { 297, 305, 389, 441, 377 },
+ { 298, 306, 390, 444, 378 }, { 299, 307, 391, 445, 379 },
+ { 300, 308, 392, 446, 380 }, { 301, 309, 393, 447, 381 },
+ { 302, 306, 390, 448, 382 }, { 303, 307, 391, 449, 383 },
+ { 304, 308, 392, 454, 388 }, { 305, 309, 393, 455, 389 },
+ { 310, 312, 316, 319, 314 }, { 310, 312, 386, 442, 384 },
+ { 310, 314, 395, 450, 384 }, { 311, 313, 317, 320, 315 },
+ { 311, 313, 387, 443, 385 }, { 311, 315, 396, 451, 385 },
+ { 312, 316, 397, 452, 386 }, { 313, 317, 398, 453, 387 },
+ { 314, 319, 404, 460, 395 }, { 315, 320, 405, 461, 396 },
+ { 316, 319, 404, 462, 397 }, { 317, 320, 405, 463, 398 },
+ { 318, 322, 326, 327, 323 }, { 318, 322, 400, 456, 394 },
+ { 318, 323, 401, 457, 394 }, { 321, 324, 328, 329, 325 },
+ { 321, 324, 402, 458, 399 }, { 321, 325, 403, 459, 399 },
+ { 322, 326, 406, 464, 400 }, { 323, 327, 407, 465, 401 },
+ { 324, 328, 408, 466, 402 }, { 325, 329, 409, 467, 403 },
+ { 326, 327, 407, 468, 406 }, { 328, 329, 409, 469, 408 },
+ { 330, 350, 410, 411, 352 }, { 330, 350, 412, 416, 354 },
+ { 330, 352, 414, 418, 354 }, { 331, 351, 410, 411, 353 },
+ { 331, 351, 413, 417, 355 }, { 331, 353, 415, 419, 355 },
+ { 332, 356, 412, 416, 361 }, { 332, 356, 420, 424, 366 },
+ { 332, 361, 426, 432, 366 }, { 333, 357, 413, 417, 362 },
+ { 333, 357, 421, 425, 367 }, { 333, 362, 427, 433, 367 },
+ { 334, 358, 414, 418, 363 }, { 334, 358, 422, 430, 368 },
+ { 334, 363, 428, 434, 368 }, { 335, 359, 415, 419, 364 },
+ { 335, 359, 423, 431, 369 }, { 335, 364, 429, 435, 369 },
+ { 336, 360, 420, 424, 370 }, { 336, 360, 421, 425, 371 },
+ { 336, 370, 438, 439, 371 }, { 337, 365, 422, 430, 376 },
+ { 337, 365, 423, 431, 377 }, { 337, 376, 440, 441, 377 },
+ { 338, 372, 426, 432, 378 }, { 338, 372, 436, 442, 384 },
+ { 338, 378, 444, 450, 384 }, { 339, 373, 427, 433, 379 },
+ { 339, 373, 437, 443, 385 }, { 339, 379, 445, 451, 385 },
+ { 340, 374, 428, 434, 380 }, { 340, 374, 436, 442, 386 },
+ { 340, 380, 446, 452, 386 }, { 341, 375, 429, 435, 381 },
+ { 341, 375, 437, 443, 387 }, { 341, 381, 447, 453, 387 },
+ { 342, 382, 438, 439, 383 }, { 342, 382, 448, 456, 394 },
+ { 342, 383, 449, 457, 394 }, { 343, 388, 440, 441, 389 },
+ { 343, 388, 454, 458, 399 }, { 343, 389, 455, 459, 399 },
+ { 344, 390, 444, 450, 395 }, { 344, 390, 448, 456, 400 },
+ { 344, 395, 460, 464, 400 }, { 345, 391, 445, 451, 396 },
+ { 345, 391, 449, 457, 401 }, { 345, 396, 461, 465, 401 },
+ { 346, 392, 446, 452, 397 }, { 346, 392, 454, 458, 402 },
+ { 346, 397, 462, 466, 402 }, { 347, 393, 447, 453, 398 },
+ { 347, 393, 455, 459, 403 }, { 347, 398, 463, 467, 403 },
+ { 348, 404, 460, 464, 406 }, { 348, 404, 462, 466, 408 },
+ { 348, 406, 468, 469, 408 }, { 349, 405, 461, 465, 407 },
+ { 349, 405, 463, 467, 409 }, { 349, 407, 468, 469, 409 },
+ { 350, 410, 470, 472, 412 }, { 351, 410, 470, 473, 413 },
+ { 352, 411, 471, 474, 414 }, { 353, 411, 471, 475, 415 },
+ { 354, 416, 478, 480, 418 }, { 355, 417, 479, 481, 419 },
+ { 356, 412, 472, 476, 420 }, { 357, 413, 473, 477, 421 },
+ { 358, 414, 474, 482, 422 }, { 359, 415, 475, 483, 423 },
+ { 360, 420, 476, 477, 421 }, { 361, 416, 478, 484, 426 },
+ { 362, 417, 479, 485, 427 }, { 363, 418, 480, 486, 428 },
+ { 364, 419, 481, 487, 429 }, { 365, 422, 482, 483, 423 },
+ { 366, 424, 488, 494, 432 }, { 367, 425, 489, 495, 433 },
+ { 368, 430, 492, 496, 434 }, { 369, 431, 493, 497, 435 },
+ { 370, 424, 488, 498, 438 }, { 371, 425, 489, 499, 439 },
+ { 372, 426, 484, 490, 436 }, { 373, 427, 485, 491, 437 },
+ { 374, 428, 486, 490, 436 }, { 375, 429, 487, 491, 437 },
+ { 376, 430, 492, 500, 440 }, { 377, 431, 493, 501, 441 },
+ { 378, 432, 494, 502, 444 }, { 379, 433, 495, 503, 445 },
+ { 380, 434, 496, 504, 446 }, { 381, 435, 497, 505, 447 },
+ { 382, 438, 498, 506, 448 }, { 383, 439, 499, 507, 449 },
+ { 384, 442, 508, 512, 450 }, { 385, 443, 509, 513, 451 },
+ { 386, 442, 508, 514, 452 }, { 387, 443, 509, 515, 453 },
+ { 388, 440, 500, 510, 454 }, { 389, 441, 501, 511, 455 },
+ { 390, 444, 502, 506, 448 }, { 391, 445, 503, 507, 449 },
+ { 392, 446, 504, 510, 454 }, { 393, 447, 505, 511, 455 },
+ { 394, 456, 516, 517, 457 }, { 395, 450, 512, 518, 460 },
+ { 396, 451, 513, 519, 461 }, { 397, 452, 514, 520, 462 },
+ { 398, 453, 515, 521, 463 }, { 399, 458, 522, 523, 459 },
+ { 400, 456, 516, 524, 464 }, { 401, 457, 517, 525, 465 },
+ { 402, 458, 522, 526, 466 }, { 403, 459, 523, 527, 467 },
+ { 404, 460, 518, 520, 462 }, { 405, 461, 519, 521, 463 },
+ { 406, 464, 524, 528, 468 }, { 407, 465, 525, 528, 468 },
+ { 408, 466, 526, 529, 469 }, { 409, 467, 527, 529, 469 },
+ { 410, 411, 471, 530, 470 }, { 412, 416, 478, 531, 472 },
+ { 413, 417, 479, 532, 473 }, { 414, 418, 480, 533, 474 },
+ { 415, 419, 481, 534, 475 }, { 420, 424, 488, 535, 476 },
+ { 421, 425, 489, 536, 477 }, { 422, 430, 492, 537, 482 },
+ { 423, 431, 493, 538, 483 }, { 426, 432, 494, 539, 484 },
+ { 427, 433, 495, 540, 485 }, { 428, 434, 496, 541, 486 },
+ { 429, 435, 497, 542, 487 }, { 436, 442, 508, 544, 490 },
+ { 437, 443, 509, 545, 491 }, { 438, 439, 499, 543, 498 },
+ { 440, 441, 501, 546, 500 }, { 444, 450, 512, 547, 502 },
+ { 445, 451, 513, 548, 503 }, { 446, 452, 514, 549, 504 },
+ { 447, 453, 515, 550, 505 }, { 448, 456, 516, 551, 506 },
+ { 449, 457, 517, 552, 507 }, { 454, 458, 522, 553, 510 },
+ { 455, 459, 523, 554, 511 }, { 460, 464, 524, 555, 518 },
+ { 461, 465, 525, 556, 519 }, { 462, 466, 526, 557, 520 },
+ { 463, 467, 527, 558, 521 }, { 468, 469, 529, 559, 528 },
+ { 470, 472, 476, 477, 473 }, { 470, 472, 531, 560, 530 },
+ { 470, 473, 532, 561, 530 }, { 471, 474, 482, 483, 475 },
+ { 471, 474, 533, 560, 530 }, { 471, 475, 534, 561, 530 },
+ { 472, 476, 535, 562, 531 }, { 473, 477, 536, 563, 532 },
+ { 474, 482, 537, 564, 533 }, { 475, 483, 538, 565, 534 },
+ { 476, 477, 536, 566, 535 }, { 478, 480, 486, 490, 484 },
+ { 478, 480, 533, 560, 531 }, { 478, 484, 539, 562, 531 },
+ { 479, 481, 487, 491, 485 }, { 479, 481, 534, 561, 532 },
+ { 479, 485, 540, 563, 532 }, { 480, 486, 541, 564, 533 },
+ { 481, 487, 542, 565, 534 }, { 482, 483, 538, 567, 537 },
+ { 484, 490, 544, 568, 539 }, { 485, 491, 545, 569, 540 },
+ { 486, 490, 544, 570, 541 }, { 487, 491, 545, 571, 542 },
+ { 488, 494, 502, 506, 498 }, { 488, 494, 539, 562, 535 },
+ { 488, 498, 543, 566, 535 }, { 489, 495, 503, 507, 499 },
+ { 489, 495, 540, 563, 536 }, { 489, 499, 543, 566, 536 },
+ { 492, 496, 504, 510, 500 }, { 492, 496, 541, 564, 537 },
+ { 492, 500, 546, 567, 537 }, { 493, 497, 505, 511, 501 },
+ { 493, 497, 542, 565, 538 }, { 493, 501, 546, 567, 538 },
+ { 494, 502, 547, 568, 539 }, { 495, 503, 548, 569, 540 },
+ { 496, 504, 549, 570, 541 }, { 497, 505, 550, 571, 542 },
+ { 498, 506, 551, 572, 543 }, { 499, 507, 552, 572, 543 },
+ { 500, 510, 553, 573, 546 }, { 501, 511, 554, 573, 546 },
+ { 502, 506, 551, 574, 547 }, { 503, 507, 552, 575, 548 },
+ { 504, 510, 553, 576, 549 }, { 505, 511, 554, 577, 550 },
+ { 508, 512, 518, 520, 514 }, { 508, 512, 547, 568, 544 },
+ { 508, 514, 549, 570, 544 }, { 509, 513, 519, 521, 515 },
+ { 509, 513, 548, 569, 545 }, { 509, 515, 550, 571, 545 },
+ { 512, 518, 555, 574, 547 }, { 513, 519, 556, 575, 548 },
+ { 514, 520, 557, 576, 549 }, { 515, 521, 558, 577, 550 },
+ { 516, 517, 525, 528, 524 }, { 516, 517, 552, 572, 551 },
+ { 516, 524, 555, 574, 551 }, { 517, 525, 556, 575, 552 },
+ { 518, 520, 557, 578, 555 }, { 519, 521, 558, 579, 556 },
+ { 522, 523, 527, 529, 526 }, { 522, 523, 554, 573, 553 },
+ { 522, 526, 557, 576, 553 }, { 523, 527, 558, 577, 554 },
+ { 524, 528, 559, 578, 555 }, { 525, 528, 559, 579, 556 },
+ { 526, 529, 559, 578, 557 }, { 527, 529, 559, 579, 558 },
+ { 530, 560, 580, 581, 561 }, { 531, 560, 580, 582, 562 },
+ { 532, 561, 581, 583, 563 }, { 533, 560, 580, 584, 564 },
+ { 534, 561, 581, 585, 565 }, { 535, 562, 582, 586, 566 },
+ { 536, 563, 583, 586, 566 }, { 537, 564, 584, 587, 567 },
+ { 538, 565, 585, 587, 567 }, { 539, 562, 582, 588, 568 },
+ { 540, 563, 583, 589, 569 }, { 541, 564, 584, 590, 570 },
+ { 542, 565, 585, 591, 571 }, { 543, 566, 586, 592, 572 },
+ { 544, 568, 588, 590, 570 }, { 545, 569, 589, 591, 571 },
+ { 546, 567, 587, 593, 573 }, { 547, 568, 588, 594, 574 },
+ { 548, 569, 589, 595, 575 }, { 549, 570, 590, 596, 576 },
+ { 550, 571, 591, 597, 577 }, { 551, 572, 592, 594, 574 },
+ { 552, 572, 592, 595, 575 }, { 553, 573, 593, 596, 576 },
+ { 554, 573, 593, 597, 577 }, { 555, 574, 594, 598, 578 },
+ { 556, 575, 595, 599, 579 }, { 557, 576, 596, 598, 578 },
+ { 558, 577, 597, 599, 579 }, { 559, 578, 598, 599, 579 },
+ { 580, 581, 583, 586, 582 }, { 580, 581, 585, 587, 584 },
+ { 580, 582, 588, 590, 584 }, { 581, 583, 589, 591, 585 },
+ { 582, 586, 592, 594, 588 }, { 583, 586, 592, 595, 589 },
+ { 584, 587, 593, 596, 590 }, { 585, 587, 593, 597, 591 },
+ { 588, 590, 596, 598, 594 }, { 589, 591, 597, 599, 595 },
+ { 592, 594, 598, 599, 595 }, { 593, 596, 598, 599, 597 }
+};
+
+static float edge_color_120[NUM_EDGE_120][4];
+static float face_color_120[NUM_FACE_120][4];
+static float face_color_trans_120[NUM_FACE_120][4];
+
+
+/* 600-cell {3,3,5} */
+#define NUM_VERT_600 120
+#define NUM_EDGE_600 720
+#define NUM_FACE_600 1200
+#define VERT_PER_FACE_600 3
+
+#define MIN_EDGE_DEPTH_600 (-GOLDEN/2.0-1)
+#define MAX_EDGE_DEPTH_600 (GOLDEN/2.0+1)
+#define MIN_FACE_DEPTH_600 ((-2*GOLDEN-2)/3.0)
+#define MAX_FACE_DEPTH_600 ((2*GOLDEN+2)/3.0)
+
+static float vert_600[NUM_VERT_600][4] = {
+ { 0.0, 0.0, 0.0, -2.0 },
+ { 0.0, -GOLDENINV, -1.0, -GOLDEN },
+ { 0.0, GOLDENINV, -1.0, -GOLDEN },
+ { -1.0, 0.0, -GOLDENINV, -GOLDEN },
+ { 1.0, 0.0, -GOLDENINV, -GOLDEN },
+ { -GOLDENINV, -1.0, 0.0, -GOLDEN },
+ { GOLDENINV, -1.0, 0.0, -GOLDEN },
+ { -GOLDENINV, 1.0, 0.0, -GOLDEN },
+ { GOLDENINV, 1.0, 0.0, -GOLDEN },
+ { -1.0, 0.0, GOLDENINV, -GOLDEN },
+ { 1.0, 0.0, GOLDENINV, -GOLDEN },
+ { 0.0, -GOLDENINV, 1.0, -GOLDEN },
+ { 0.0, GOLDENINV, 1.0, -GOLDEN },
+ { -GOLDENINV, 0.0, -GOLDEN, -1.0 },
+ { GOLDENINV, 0.0, -GOLDEN, -1.0 },
+ { -1.0, -1.0, -1.0, -1.0 },
+ { 1.0, -1.0, -1.0, -1.0 },
+ { -1.0, 1.0, -1.0, -1.0 },
+ { 1.0, 1.0, -1.0, -1.0 },
+ { 0.0, -GOLDEN, -GOLDENINV, -1.0 },
+ { 0.0, GOLDEN, -GOLDENINV, -1.0 },
+ { -GOLDEN, -GOLDENINV, 0.0, -1.0 },
+ { GOLDEN, -GOLDENINV, 0.0, -1.0 },
+ { -GOLDEN, GOLDENINV, 0.0, -1.0 },
+ { GOLDEN, GOLDENINV, 0.0, -1.0 },
+ { 0.0, -GOLDEN, GOLDENINV, -1.0 },
+ { 0.0, GOLDEN, GOLDENINV, -1.0 },
+ { -1.0, -1.0, 1.0, -1.0 },
+ { 1.0, -1.0, 1.0, -1.0 },
+ { -1.0, 1.0, 1.0, -1.0 },
+ { 1.0, 1.0, 1.0, -1.0 },
+ { -GOLDENINV, 0.0, GOLDEN, -1.0 },
+ { GOLDENINV, 0.0, GOLDEN, -1.0 },
+ { 0.0, -1.0, -GOLDEN, -GOLDENINV },
+ { 0.0, 1.0, -GOLDEN, -GOLDENINV },
+ { -GOLDEN, 0.0, -1.0, -GOLDENINV },
+ { GOLDEN, 0.0, -1.0, -GOLDENINV },
+ { -1.0, -GOLDEN, 0.0, -GOLDENINV },
+ { 1.0, -GOLDEN, 0.0, -GOLDENINV },
+ { -1.0, GOLDEN, 0.0, -GOLDENINV },
+ { 1.0, GOLDEN, 0.0, -GOLDENINV },
+ { -GOLDEN, 0.0, 1.0, -GOLDENINV },
+ { GOLDEN, 0.0, 1.0, -GOLDENINV },
+ { 0.0, -1.0, GOLDEN, -GOLDENINV },
+ { 0.0, 1.0, GOLDEN, -GOLDENINV },
+ { 0.0, 0.0, -2.0, 0.0 },
+ { -1.0, -GOLDENINV, -GOLDEN, 0.0 },
+ { 1.0, -GOLDENINV, -GOLDEN, 0.0 },
+ { -1.0, GOLDENINV, -GOLDEN, 0.0 },
+ { 1.0, GOLDENINV, -GOLDEN, 0.0 },
+ { -GOLDENINV, -GOLDEN, -1.0, 0.0 },
+ { GOLDENINV, -GOLDEN, -1.0, 0.0 },
+ { -GOLDENINV, GOLDEN, -1.0, 0.0 },
+ { GOLDENINV, GOLDEN, -1.0, 0.0 },
+ { -GOLDEN, -1.0, -GOLDENINV, 0.0 },
+ { GOLDEN, -1.0, -GOLDENINV, 0.0 },
+ { -GOLDEN, 1.0, -GOLDENINV, 0.0 },
+ { GOLDEN, 1.0, -GOLDENINV, 0.0 },
+ { 0.0, -2.0, 0.0, 0.0 },
+ { -2.0, 0.0, 0.0, 0.0 },
+ { 2.0, 0.0, 0.0, 0.0 },
+ { 0.0, 2.0, 0.0, 0.0 },
+ { -GOLDEN, -1.0, GOLDENINV, 0.0 },
+ { GOLDEN, -1.0, GOLDENINV, 0.0 },
+ { -GOLDEN, 1.0, GOLDENINV, 0.0 },
+ { GOLDEN, 1.0, GOLDENINV, 0.0 },
+ { -GOLDENINV, -GOLDEN, 1.0, 0.0 },
+ { GOLDENINV, -GOLDEN, 1.0, 0.0 },
+ { -GOLDENINV, GOLDEN, 1.0, 0.0 },
+ { GOLDENINV, GOLDEN, 1.0, 0.0 },
+ { -1.0, -GOLDENINV, GOLDEN, 0.0 },
+ { 1.0, -GOLDENINV, GOLDEN, 0.0 },
+ { -1.0, GOLDENINV, GOLDEN, 0.0 },
+ { 1.0, GOLDENINV, GOLDEN, 0.0 },
+ { 0.0, 0.0, 2.0, 0.0 },
+ { 0.0, -1.0, -GOLDEN, GOLDENINV },
+ { 0.0, 1.0, -GOLDEN, GOLDENINV },
+ { -GOLDEN, 0.0, -1.0, GOLDENINV },
+ { GOLDEN, 0.0, -1.0, GOLDENINV },
+ { -1.0, -GOLDEN, 0.0, GOLDENINV },
+ { 1.0, -GOLDEN, 0.0, GOLDENINV },
+ { -1.0, GOLDEN, 0.0, GOLDENINV },
+ { 1.0, GOLDEN, 0.0, GOLDENINV },
+ { -GOLDEN, 0.0, 1.0, GOLDENINV },
+ { GOLDEN, 0.0, 1.0, GOLDENINV },
+ { 0.0, -1.0, GOLDEN, GOLDENINV },
+ { 0.0, 1.0, GOLDEN, GOLDENINV },
+ { -GOLDENINV, 0.0, -GOLDEN, 1.0 },
+ { GOLDENINV, 0.0, -GOLDEN, 1.0 },
+ { -1.0, -1.0, -1.0, 1.0 },
+ { 1.0, -1.0, -1.0, 1.0 },
+ { -1.0, 1.0, -1.0, 1.0 },
+ { 1.0, 1.0, -1.0, 1.0 },
+ { 0.0, -GOLDEN, -GOLDENINV, 1.0 },
+ { 0.0, GOLDEN, -GOLDENINV, 1.0 },
+ { -GOLDEN, -GOLDENINV, 0.0, 1.0 },
+ { GOLDEN, -GOLDENINV, 0.0, 1.0 },
+ { -GOLDEN, GOLDENINV, 0.0, 1.0 },
+ { GOLDEN, GOLDENINV, 0.0, 1.0 },
+ { 0.0, -GOLDEN, GOLDENINV, 1.0 },
+ { 0.0, GOLDEN, GOLDENINV, 1.0 },
+ { -1.0, -1.0, 1.0, 1.0 },
+ { 1.0, -1.0, 1.0, 1.0 },
+ { -1.0, 1.0, 1.0, 1.0 },
+ { 1.0, 1.0, 1.0, 1.0 },
+ { -GOLDENINV, 0.0, GOLDEN, 1.0 },
+ { GOLDENINV, 0.0, GOLDEN, 1.0 },
+ { 0.0, -GOLDENINV, -1.0, GOLDEN },
+ { 0.0, GOLDENINV, -1.0, GOLDEN },
+ { -1.0, 0.0, -GOLDENINV, GOLDEN },
+ { 1.0, 0.0, -GOLDENINV, GOLDEN },
+ { -GOLDENINV, -1.0, 0.0, GOLDEN },
+ { GOLDENINV, -1.0, 0.0, GOLDEN },
+ { -GOLDENINV, 1.0, 0.0, GOLDEN },
+ { GOLDENINV, 1.0, 0.0, GOLDEN },
+ { -1.0, 0.0, GOLDENINV, GOLDEN },
+ { 1.0, 0.0, GOLDENINV, GOLDEN },
+ { 0.0, -GOLDENINV, 1.0, GOLDEN },
+ { 0.0, GOLDENINV, 1.0, GOLDEN },
+ { 0.0, 0.0, 0.0, 2.0 }
+};
+
+static int edge_600[NUM_EDGE_600][2] = {
+ { 0, 1 }, { 0, 2 }, { 0, 3 }, { 0, 4 }, { 0, 5 },
+ { 0, 6 }, { 0, 7 }, { 0, 8 }, { 0, 9 }, { 0, 10 },
+ { 0, 11 }, { 0, 12 }, { 1, 2 }, { 1, 3 }, { 1, 4 },
+ { 1, 5 }, { 1, 6 }, { 1, 13 }, { 1, 14 }, { 1, 15 },
+ { 1, 16 }, { 1, 19 }, { 1, 33 }, { 2, 3 }, { 2, 4 },
+ { 2, 7 }, { 2, 8 }, { 2, 13 }, { 2, 14 }, { 2, 17 },
+ { 2, 18 }, { 2, 20 }, { 2, 34 }, { 3, 5 }, { 3, 7 },
+ { 3, 9 }, { 3, 13 }, { 3, 15 }, { 3, 17 }, { 3, 21 },
+ { 3, 23 }, { 3, 35 }, { 4, 6 }, { 4, 8 }, { 4, 10 },
+ { 4, 14 }, { 4, 16 }, { 4, 18 }, { 4, 22 }, { 4, 24 },
+ { 4, 36 }, { 5, 6 }, { 5, 9 }, { 5, 11 }, { 5, 15 },
+ { 5, 19 }, { 5, 21 }, { 5, 25 }, { 5, 27 }, { 5, 37 },
+ { 6, 10 }, { 6, 11 }, { 6, 16 }, { 6, 19 }, { 6, 22 },
+ { 6, 25 }, { 6, 28 }, { 6, 38 }, { 7, 8 }, { 7, 9 },
+ { 7, 12 }, { 7, 17 }, { 7, 20 }, { 7, 23 }, { 7, 26 },
+ { 7, 29 }, { 7, 39 }, { 8, 10 }, { 8, 12 }, { 8, 18 },
+ { 8, 20 }, { 8, 24 }, { 8, 26 }, { 8, 30 }, { 8, 40 },
+ { 9, 11 }, { 9, 12 }, { 9, 21 }, { 9, 23 }, { 9, 27 },
+ { 9, 29 }, { 9, 31 }, { 9, 41 }, { 10, 11 }, { 10, 12 },
+ { 10, 22 }, { 10, 24 }, { 10, 28 }, { 10, 30 }, { 10, 32 },
+ { 10, 42 }, { 11, 12 }, { 11, 25 }, { 11, 27 }, { 11, 28 },
+ { 11, 31 }, { 11, 32 }, { 11, 43 }, { 12, 26 }, { 12, 29 },
+ { 12, 30 }, { 12, 31 }, { 12, 32 }, { 12, 44 }, { 13, 14 },
+ { 13, 15 }, { 13, 17 }, { 13, 33 }, { 13, 34 }, { 13, 35 },
+ { 13, 45 }, { 13, 46 }, { 13, 48 }, { 14, 16 }, { 14, 18 },
+ { 14, 33 }, { 14, 34 }, { 14, 36 }, { 14, 45 }, { 14, 47 },
+ { 14, 49 }, { 15, 19 }, { 15, 21 }, { 15, 33 }, { 15, 35 },
+ { 15, 37 }, { 15, 46 }, { 15, 50 }, { 15, 54 }, { 16, 19 },
+ { 16, 22 }, { 16, 33 }, { 16, 36 }, { 16, 38 }, { 16, 47 },
+ { 16, 51 }, { 16, 55 }, { 17, 20 }, { 17, 23 }, { 17, 34 },
+ { 17, 35 }, { 17, 39 }, { 17, 48 }, { 17, 52 }, { 17, 56 },
+ { 18, 20 }, { 18, 24 }, { 18, 34 }, { 18, 36 }, { 18, 40 },
+ { 18, 49 }, { 18, 53 }, { 18, 57 }, { 19, 25 }, { 19, 33 },
+ { 19, 37 }, { 19, 38 }, { 19, 50 }, { 19, 51 }, { 19, 58 },
+ { 20, 26 }, { 20, 34 }, { 20, 39 }, { 20, 40 }, { 20, 52 },
+ { 20, 53 }, { 20, 61 }, { 21, 23 }, { 21, 27 }, { 21, 35 },
+ { 21, 37 }, { 21, 41 }, { 21, 54 }, { 21, 59 }, { 21, 62 },
+ { 22, 24 }, { 22, 28 }, { 22, 36 }, { 22, 38 }, { 22, 42 },
+ { 22, 55 }, { 22, 60 }, { 22, 63 }, { 23, 29 }, { 23, 35 },
+ { 23, 39 }, { 23, 41 }, { 23, 56 }, { 23, 59 }, { 23, 64 },
+ { 24, 30 }, { 24, 36 }, { 24, 40 }, { 24, 42 }, { 24, 57 },
+ { 24, 60 }, { 24, 65 }, { 25, 27 }, { 25, 28 }, { 25, 37 },
+ { 25, 38 }, { 25, 43 }, { 25, 58 }, { 25, 66 }, { 25, 67 },
+ { 26, 29 }, { 26, 30 }, { 26, 39 }, { 26, 40 }, { 26, 44 },
+ { 26, 61 }, { 26, 68 }, { 26, 69 }, { 27, 31 }, { 27, 37 },
+ { 27, 41 }, { 27, 43 }, { 27, 62 }, { 27, 66 }, { 27, 70 },
+ { 28, 32 }, { 28, 38 }, { 28, 42 }, { 28, 43 }, { 28, 63 },
+ { 28, 67 }, { 28, 71 }, { 29, 31 }, { 29, 39 }, { 29, 41 },
+ { 29, 44 }, { 29, 64 }, { 29, 68 }, { 29, 72 }, { 30, 32 },
+ { 30, 40 }, { 30, 42 }, { 30, 44 }, { 30, 65 }, { 30, 69 },
+ { 30, 73 }, { 31, 32 }, { 31, 41 }, { 31, 43 }, { 31, 44 },
+ { 31, 70 }, { 31, 72 }, { 31, 74 }, { 32, 42 }, { 32, 43 },
+ { 32, 44 }, { 32, 71 }, { 32, 73 }, { 32, 74 }, { 33, 45 },
+ { 33, 46 }, { 33, 47 }, { 33, 50 }, { 33, 51 }, { 33, 75 },
+ { 34, 45 }, { 34, 48 }, { 34, 49 }, { 34, 52 }, { 34, 53 },
+ { 34, 76 }, { 35, 46 }, { 35, 48 }, { 35, 54 }, { 35, 56 },
+ { 35, 59 }, { 35, 77 }, { 36, 47 }, { 36, 49 }, { 36, 55 },
+ { 36, 57 }, { 36, 60 }, { 36, 78 }, { 37, 50 }, { 37, 54 },
+ { 37, 58 }, { 37, 62 }, { 37, 66 }, { 37, 79 }, { 38, 51 },
+ { 38, 55 }, { 38, 58 }, { 38, 63 }, { 38, 67 }, { 38, 80 },
+ { 39, 52 }, { 39, 56 }, { 39, 61 }, { 39, 64 }, { 39, 68 },
+ { 39, 81 }, { 40, 53 }, { 40, 57 }, { 40, 61 }, { 40, 65 },
+ { 40, 69 }, { 40, 82 }, { 41, 59 }, { 41, 62 }, { 41, 64 },
+ { 41, 70 }, { 41, 72 }, { 41, 83 }, { 42, 60 }, { 42, 63 },
+ { 42, 65 }, { 42, 71 }, { 42, 73 }, { 42, 84 }, { 43, 66 },
+ { 43, 67 }, { 43, 70 }, { 43, 71 }, { 43, 74 }, { 43, 85 },
+ { 44, 68 }, { 44, 69 }, { 44, 72 }, { 44, 73 }, { 44, 74 },
+ { 44, 86 }, { 45, 46 }, { 45, 47 }, { 45, 48 }, { 45, 49 },
+ { 45, 75 }, { 45, 76 }, { 45, 87 }, { 45, 88 }, { 46, 48 },
+ { 46, 50 }, { 46, 54 }, { 46, 75 }, { 46, 77 }, { 46, 87 },
+ { 46, 89 }, { 47, 49 }, { 47, 51 }, { 47, 55 }, { 47, 75 },
+ { 47, 78 }, { 47, 88 }, { 47, 90 }, { 48, 52 }, { 48, 56 },
+ { 48, 76 }, { 48, 77 }, { 48, 87 }, { 48, 91 }, { 49, 53 },
+ { 49, 57 }, { 49, 76 }, { 49, 78 }, { 49, 88 }, { 49, 92 },
+ { 50, 51 }, { 50, 54 }, { 50, 58 }, { 50, 75 }, { 50, 79 },
+ { 50, 89 }, { 50, 93 }, { 51, 55 }, { 51, 58 }, { 51, 75 },
+ { 51, 80 }, { 51, 90 }, { 51, 93 }, { 52, 53 }, { 52, 56 },
+ { 52, 61 }, { 52, 76 }, { 52, 81 }, { 52, 91 }, { 52, 94 },
+ { 53, 57 }, { 53, 61 }, { 53, 76 }, { 53, 82 }, { 53, 92 },
+ { 53, 94 }, { 54, 59 }, { 54, 62 }, { 54, 77 }, { 54, 79 },
+ { 54, 89 }, { 54, 95 }, { 55, 60 }, { 55, 63 }, { 55, 78 },
+ { 55, 80 }, { 55, 90 }, { 55, 96 }, { 56, 59 }, { 56, 64 },
+ { 56, 77 }, { 56, 81 }, { 56, 91 }, { 56, 97 }, { 57, 60 },
+ { 57, 65 }, { 57, 78 }, { 57, 82 }, { 57, 92 }, { 57, 98 },
+ { 58, 66 }, { 58, 67 }, { 58, 79 }, { 58, 80 }, { 58, 93 },
+ { 58, 99 }, { 59, 62 }, { 59, 64 }, { 59, 77 }, { 59, 83 },
+ { 59, 95 }, { 59, 97 }, { 60, 63 }, { 60, 65 }, { 60, 78 },
+ { 60, 84 }, { 60, 96 }, { 60, 98 }, { 61, 68 }, { 61, 69 },
+ { 61, 81 }, { 61, 82 }, { 61, 94 }, { 61, 100 }, { 62, 66 },
+ { 62, 70 }, { 62, 79 }, { 62, 83 }, { 62, 95 }, { 62, 101 },
+ { 63, 67 }, { 63, 71 }, { 63, 80 }, { 63, 84 }, { 63, 96 },
+ { 63, 102 }, { 64, 68 }, { 64, 72 }, { 64, 81 }, { 64, 83 },
+ { 64, 97 }, { 64, 103 }, { 65, 69 }, { 65, 73 }, { 65, 82 },
+ { 65, 84 }, { 65, 98 }, { 65, 104 }, { 66, 67 }, { 66, 70 },
+ { 66, 79 }, { 66, 85 }, { 66, 99 }, { 66, 101 }, { 67, 71 },
+ { 67, 80 }, { 67, 85 }, { 67, 99 }, { 67, 102 }, { 68, 69 },
+ { 68, 72 }, { 68, 81 }, { 68, 86 }, { 68, 100 }, { 68, 103 },
+ { 69, 73 }, { 69, 82 }, { 69, 86 }, { 69, 100 }, { 69, 104 },
+ { 70, 72 }, { 70, 74 }, { 70, 83 }, { 70, 85 }, { 70, 101 },
+ { 70, 105 }, { 71, 73 }, { 71, 74 }, { 71, 84 }, { 71, 85 },
+ { 71, 102 }, { 71, 106 }, { 72, 74 }, { 72, 83 }, { 72, 86 },
+ { 72, 103 }, { 72, 105 }, { 73, 74 }, { 73, 84 }, { 73, 86 },
+ { 73, 104 }, { 73, 106 }, { 74, 85 }, { 74, 86 }, { 74, 105 },
+ { 74, 106 }, { 75, 87 }, { 75, 88 }, { 75, 89 }, { 75, 90 },
+ { 75, 93 }, { 75, 107 }, { 76, 87 }, { 76, 88 }, { 76, 91 },
+ { 76, 92 }, { 76, 94 }, { 76, 108 }, { 77, 87 }, { 77, 89 },
+ { 77, 91 }, { 77, 95 }, { 77, 97 }, { 77, 109 }, { 78, 88 },
+ { 78, 90 }, { 78, 92 }, { 78, 96 }, { 78, 98 }, { 78, 110 },
+ { 79, 89 }, { 79, 93 }, { 79, 95 }, { 79, 99 }, { 79, 101 },
+ { 79, 111 }, { 80, 90 }, { 80, 93 }, { 80, 96 }, { 80, 99 },
+ { 80, 102 }, { 80, 112 }, { 81, 91 }, { 81, 94 }, { 81, 97 },
+ { 81, 100 }, { 81, 103 }, { 81, 113 }, { 82, 92 }, { 82, 94 },
+ { 82, 98 }, { 82, 100 }, { 82, 104 }, { 82, 114 }, { 83, 95 },
+ { 83, 97 }, { 83, 101 }, { 83, 103 }, { 83, 105 }, { 83, 115 },
+ { 84, 96 }, { 84, 98 }, { 84, 102 }, { 84, 104 }, { 84, 106 },
+ { 84, 116 }, { 85, 99 }, { 85, 101 }, { 85, 102 }, { 85, 105 },
+ { 85, 106 }, { 85, 117 }, { 86, 100 }, { 86, 103 }, { 86, 104 },
+ { 86, 105 }, { 86, 106 }, { 86, 118 }, { 87, 88 }, { 87, 89 },
+ { 87, 91 }, { 87, 107 }, { 87, 108 }, { 87, 109 }, { 88, 90 },
+ { 88, 92 }, { 88, 107 }, { 88, 108 }, { 88, 110 }, { 89, 93 },
+ { 89, 95 }, { 89, 107 }, { 89, 109 }, { 89, 111 }, { 90, 93 },
+ { 90, 96 }, { 90, 107 }, { 90, 110 }, { 90, 112 }, { 91, 94 },
+ { 91, 97 }, { 91, 108 }, { 91, 109 }, { 91, 113 }, { 92, 94 },
+ { 92, 98 }, { 92, 108 }, { 92, 110 }, { 92, 114 }, { 93, 99 },
+ { 93, 107 }, { 93, 111 }, { 93, 112 }, { 94, 100 }, { 94, 108 },
+ { 94, 113 }, { 94, 114 }, { 95, 97 }, { 95, 101 }, { 95, 109 },
+ { 95, 111 }, { 95, 115 }, { 96, 98 }, { 96, 102 }, { 96, 110 },
+ { 96, 112 }, { 96, 116 }, { 97, 103 }, { 97, 109 }, { 97, 113 },
+ { 97, 115 }, { 98, 104 }, { 98, 110 }, { 98, 114 }, { 98, 116 },
+ { 99, 101 }, { 99, 102 }, { 99, 111 }, { 99, 112 }, { 99, 117 },
+ { 100, 103 }, { 100, 104 }, { 100, 113 }, { 100, 114 }, { 100, 118 },
+ { 101, 105 }, { 101, 111 }, { 101, 115 }, { 101, 117 }, { 102, 106 },
+ { 102, 112 }, { 102, 116 }, { 102, 117 }, { 103, 105 }, { 103, 113 },
+ { 103, 115 }, { 103, 118 }, { 104, 106 }, { 104, 114 }, { 104, 116 },
+ { 104, 118 }, { 105, 106 }, { 105, 115 }, { 105, 117 }, { 105, 118 },
+ { 106, 116 }, { 106, 117 }, { 106, 118 }, { 107, 108 }, { 107, 109 },
+ { 107, 110 }, { 107, 111 }, { 107, 112 }, { 107, 119 }, { 108, 109 },
+ { 108, 110 }, { 108, 113 }, { 108, 114 }, { 108, 119 }, { 109, 111 },
+ { 109, 113 }, { 109, 115 }, { 109, 119 }, { 110, 112 }, { 110, 114 },
+ { 110, 116 }, { 110, 119 }, { 111, 112 }, { 111, 115 }, { 111, 117 },
+ { 111, 119 }, { 112, 116 }, { 112, 117 }, { 112, 119 }, { 113, 114 },
+ { 113, 115 }, { 113, 118 }, { 113, 119 }, { 114, 116 }, { 114, 118 },
+ { 114, 119 }, { 115, 117 }, { 115, 118 }, { 115, 119 }, { 116, 117 },
+ { 116, 118 }, { 116, 119 }, { 117, 118 }, { 117, 119 }, { 118, 119 }
+};
+
+static int face_600[NUM_FACE_600][VERT_PER_FACE_600] = {
+ { 0, 1, 2 }, { 0, 1, 3 }, { 0, 1, 4 }, { 0, 1, 5 },
+ { 0, 1, 6 }, { 0, 2, 3 }, { 0, 2, 4 }, { 0, 2, 7 },
+ { 0, 2, 8 }, { 0, 3, 5 }, { 0, 3, 7 }, { 0, 3, 9 },
+ { 0, 4, 6 }, { 0, 4, 8 }, { 0, 4, 10 }, { 0, 5, 6 },
+ { 0, 5, 9 }, { 0, 5, 11 }, { 0, 6, 10 }, { 0, 6, 11 },
+ { 0, 7, 8 }, { 0, 7, 9 }, { 0, 7, 12 }, { 0, 8, 10 },
+ { 0, 8, 12 }, { 0, 9, 11 }, { 0, 9, 12 }, { 0, 10, 11 },
+ { 0, 10, 12 }, { 0, 11, 12 }, { 1, 2, 3 }, { 1, 2, 4 },
+ { 1, 2, 13 }, { 1, 2, 14 }, { 1, 3, 5 }, { 1, 3, 13 },
+ { 1, 3, 15 }, { 1, 4, 6 }, { 1, 4, 14 }, { 1, 4, 16 },
+ { 1, 5, 6 }, { 1, 5, 15 }, { 1, 5, 19 }, { 1, 6, 16 },
+ { 1, 6, 19 }, { 1, 13, 14 }, { 1, 13, 15 }, { 1, 13, 33 },
+ { 1, 14, 16 }, { 1, 14, 33 }, { 1, 15, 19 }, { 1, 15, 33 },
+ { 1, 16, 19 }, { 1, 16, 33 }, { 1, 19, 33 }, { 2, 3, 7 },
+ { 2, 3, 13 }, { 2, 3, 17 }, { 2, 4, 8 }, { 2, 4, 14 },
+ { 2, 4, 18 }, { 2, 7, 8 }, { 2, 7, 17 }, { 2, 7, 20 },
+ { 2, 8, 18 }, { 2, 8, 20 }, { 2, 13, 14 }, { 2, 13, 17 },
+ { 2, 13, 34 }, { 2, 14, 18 }, { 2, 14, 34 }, { 2, 17, 20 },
+ { 2, 17, 34 }, { 2, 18, 20 }, { 2, 18, 34 }, { 2, 20, 34 },
+ { 3, 5, 9 }, { 3, 5, 15 }, { 3, 5, 21 }, { 3, 7, 9 },
+ { 3, 7, 17 }, { 3, 7, 23 }, { 3, 9, 21 }, { 3, 9, 23 },
+ { 3, 13, 15 }, { 3, 13, 17 }, { 3, 13, 35 }, { 3, 15, 21 },
+ { 3, 15, 35 }, { 3, 17, 23 }, { 3, 17, 35 }, { 3, 21, 23 },
+ { 3, 21, 35 }, { 3, 23, 35 }, { 4, 6, 10 }, { 4, 6, 16 },
+ { 4, 6, 22 }, { 4, 8, 10 }, { 4, 8, 18 }, { 4, 8, 24 },
+ { 4, 10, 22 }, { 4, 10, 24 }, { 4, 14, 16 }, { 4, 14, 18 },
+ { 4, 14, 36 }, { 4, 16, 22 }, { 4, 16, 36 }, { 4, 18, 24 },
+ { 4, 18, 36 }, { 4, 22, 24 }, { 4, 22, 36 }, { 4, 24, 36 },
+ { 5, 6, 11 }, { 5, 6, 19 }, { 5, 6, 25 }, { 5, 9, 11 },
+ { 5, 9, 21 }, { 5, 9, 27 }, { 5, 11, 25 }, { 5, 11, 27 },
+ { 5, 15, 19 }, { 5, 15, 21 }, { 5, 15, 37 }, { 5, 19, 25 },
+ { 5, 19, 37 }, { 5, 21, 27 }, { 5, 21, 37 }, { 5, 25, 27 },
+ { 5, 25, 37 }, { 5, 27, 37 }, { 6, 10, 11 }, { 6, 10, 22 },
+ { 6, 10, 28 }, { 6, 11, 25 }, { 6, 11, 28 }, { 6, 16, 19 },
+ { 6, 16, 22 }, { 6, 16, 38 }, { 6, 19, 25 }, { 6, 19, 38 },
+ { 6, 22, 28 }, { 6, 22, 38 }, { 6, 25, 28 }, { 6, 25, 38 },
+ { 6, 28, 38 }, { 7, 8, 12 }, { 7, 8, 20 }, { 7, 8, 26 },
+ { 7, 9, 12 }, { 7, 9, 23 }, { 7, 9, 29 }, { 7, 12, 26 },
+ { 7, 12, 29 }, { 7, 17, 20 }, { 7, 17, 23 }, { 7, 17, 39 },
+ { 7, 20, 26 }, { 7, 20, 39 }, { 7, 23, 29 }, { 7, 23, 39 },
+ { 7, 26, 29 }, { 7, 26, 39 }, { 7, 29, 39 }, { 8, 10, 12 },
+ { 8, 10, 24 }, { 8, 10, 30 }, { 8, 12, 26 }, { 8, 12, 30 },
+ { 8, 18, 20 }, { 8, 18, 24 }, { 8, 18, 40 }, { 8, 20, 26 },
+ { 8, 20, 40 }, { 8, 24, 30 }, { 8, 24, 40 }, { 8, 26, 30 },
+ { 8, 26, 40 }, { 8, 30, 40 }, { 9, 11, 12 }, { 9, 11, 27 },
+ { 9, 11, 31 }, { 9, 12, 29 }, { 9, 12, 31 }, { 9, 21, 23 },
+ { 9, 21, 27 }, { 9, 21, 41 }, { 9, 23, 29 }, { 9, 23, 41 },
+ { 9, 27, 31 }, { 9, 27, 41 }, { 9, 29, 31 }, { 9, 29, 41 },
+ { 9, 31, 41 }, { 10, 11, 12 }, { 10, 11, 28 }, { 10, 11, 32 },
+ { 10, 12, 30 }, { 10, 12, 32 }, { 10, 22, 24 }, { 10, 22, 28 },
+ { 10, 22, 42 }, { 10, 24, 30 }, { 10, 24, 42 }, { 10, 28, 32 },
+ { 10, 28, 42 }, { 10, 30, 32 }, { 10, 30, 42 }, { 10, 32, 42 },
+ { 11, 12, 31 }, { 11, 12, 32 }, { 11, 25, 27 }, { 11, 25, 28 },
+ { 11, 25, 43 }, { 11, 27, 31 }, { 11, 27, 43 }, { 11, 28, 32 },
+ { 11, 28, 43 }, { 11, 31, 32 }, { 11, 31, 43 }, { 11, 32, 43 },
+ { 12, 26, 29 }, { 12, 26, 30 }, { 12, 26, 44 }, { 12, 29, 31 },
+ { 12, 29, 44 }, { 12, 30, 32 }, { 12, 30, 44 }, { 12, 31, 32 },
+ { 12, 31, 44 }, { 12, 32, 44 }, { 13, 14, 33 }, { 13, 14, 34 },
+ { 13, 14, 45 }, { 13, 15, 33 }, { 13, 15, 35 }, { 13, 15, 46 },
+ { 13, 17, 34 }, { 13, 17, 35 }, { 13, 17, 48 }, { 13, 33, 45 },
+ { 13, 33, 46 }, { 13, 34, 45 }, { 13, 34, 48 }, { 13, 35, 46 },
+ { 13, 35, 48 }, { 13, 45, 46 }, { 13, 45, 48 }, { 13, 46, 48 },
+ { 14, 16, 33 }, { 14, 16, 36 }, { 14, 16, 47 }, { 14, 18, 34 },
+ { 14, 18, 36 }, { 14, 18, 49 }, { 14, 33, 45 }, { 14, 33, 47 },
+ { 14, 34, 45 }, { 14, 34, 49 }, { 14, 36, 47 }, { 14, 36, 49 },
+ { 14, 45, 47 }, { 14, 45, 49 }, { 14, 47, 49 }, { 15, 19, 33 },
+ { 15, 19, 37 }, { 15, 19, 50 }, { 15, 21, 35 }, { 15, 21, 37 },
+ { 15, 21, 54 }, { 15, 33, 46 }, { 15, 33, 50 }, { 15, 35, 46 },
+ { 15, 35, 54 }, { 15, 37, 50 }, { 15, 37, 54 }, { 15, 46, 50 },
+ { 15, 46, 54 }, { 15, 50, 54 }, { 16, 19, 33 }, { 16, 19, 38 },
+ { 16, 19, 51 }, { 16, 22, 36 }, { 16, 22, 38 }, { 16, 22, 55 },
+ { 16, 33, 47 }, { 16, 33, 51 }, { 16, 36, 47 }, { 16, 36, 55 },
+ { 16, 38, 51 }, { 16, 38, 55 }, { 16, 47, 51 }, { 16, 47, 55 },
+ { 16, 51, 55 }, { 17, 20, 34 }, { 17, 20, 39 }, { 17, 20, 52 },
+ { 17, 23, 35 }, { 17, 23, 39 }, { 17, 23, 56 }, { 17, 34, 48 },
+ { 17, 34, 52 }, { 17, 35, 48 }, { 17, 35, 56 }, { 17, 39, 52 },
+ { 17, 39, 56 }, { 17, 48, 52 }, { 17, 48, 56 }, { 17, 52, 56 },
+ { 18, 20, 34 }, { 18, 20, 40 }, { 18, 20, 53 }, { 18, 24, 36 },
+ { 18, 24, 40 }, { 18, 24, 57 }, { 18, 34, 49 }, { 18, 34, 53 },
+ { 18, 36, 49 }, { 18, 36, 57 }, { 18, 40, 53 }, { 18, 40, 57 },
+ { 18, 49, 53 }, { 18, 49, 57 }, { 18, 53, 57 }, { 19, 25, 37 },
+ { 19, 25, 38 }, { 19, 25, 58 }, { 19, 33, 50 }, { 19, 33, 51 },
+ { 19, 37, 50 }, { 19, 37, 58 }, { 19, 38, 51 }, { 19, 38, 58 },
+ { 19, 50, 51 }, { 19, 50, 58 }, { 19, 51, 58 }, { 20, 26, 39 },
+ { 20, 26, 40 }, { 20, 26, 61 }, { 20, 34, 52 }, { 20, 34, 53 },
+ { 20, 39, 52 }, { 20, 39, 61 }, { 20, 40, 53 }, { 20, 40, 61 },
+ { 20, 52, 53 }, { 20, 52, 61 }, { 20, 53, 61 }, { 21, 23, 35 },
+ { 21, 23, 41 }, { 21, 23, 59 }, { 21, 27, 37 }, { 21, 27, 41 },
+ { 21, 27, 62 }, { 21, 35, 54 }, { 21, 35, 59 }, { 21, 37, 54 },
+ { 21, 37, 62 }, { 21, 41, 59 }, { 21, 41, 62 }, { 21, 54, 59 },
+ { 21, 54, 62 }, { 21, 59, 62 }, { 22, 24, 36 }, { 22, 24, 42 },
+ { 22, 24, 60 }, { 22, 28, 38 }, { 22, 28, 42 }, { 22, 28, 63 },
+ { 22, 36, 55 }, { 22, 36, 60 }, { 22, 38, 55 }, { 22, 38, 63 },
+ { 22, 42, 60 }, { 22, 42, 63 }, { 22, 55, 60 }, { 22, 55, 63 },
+ { 22, 60, 63 }, { 23, 29, 39 }, { 23, 29, 41 }, { 23, 29, 64 },
+ { 23, 35, 56 }, { 23, 35, 59 }, { 23, 39, 56 }, { 23, 39, 64 },
+ { 23, 41, 59 }, { 23, 41, 64 }, { 23, 56, 59 }, { 23, 56, 64 },
+ { 23, 59, 64 }, { 24, 30, 40 }, { 24, 30, 42 }, { 24, 30, 65 },
+ { 24, 36, 57 }, { 24, 36, 60 }, { 24, 40, 57 }, { 24, 40, 65 },
+ { 24, 42, 60 }, { 24, 42, 65 }, { 24, 57, 60 }, { 24, 57, 65 },
+ { 24, 60, 65 }, { 25, 27, 37 }, { 25, 27, 43 }, { 25, 27, 66 },
+ { 25, 28, 38 }, { 25, 28, 43 }, { 25, 28, 67 }, { 25, 37, 58 },
+ { 25, 37, 66 }, { 25, 38, 58 }, { 25, 38, 67 }, { 25, 43, 66 },
+ { 25, 43, 67 }, { 25, 58, 66 }, { 25, 58, 67 }, { 25, 66, 67 },
+ { 26, 29, 39 }, { 26, 29, 44 }, { 26, 29, 68 }, { 26, 30, 40 },
+ { 26, 30, 44 }, { 26, 30, 69 }, { 26, 39, 61 }, { 26, 39, 68 },
+ { 26, 40, 61 }, { 26, 40, 69 }, { 26, 44, 68 }, { 26, 44, 69 },
+ { 26, 61, 68 }, { 26, 61, 69 }, { 26, 68, 69 }, { 27, 31, 41 },
+ { 27, 31, 43 }, { 27, 31, 70 }, { 27, 37, 62 }, { 27, 37, 66 },
+ { 27, 41, 62 }, { 27, 41, 70 }, { 27, 43, 66 }, { 27, 43, 70 },
+ { 27, 62, 66 }, { 27, 62, 70 }, { 27, 66, 70 }, { 28, 32, 42 },
+ { 28, 32, 43 }, { 28, 32, 71 }, { 28, 38, 63 }, { 28, 38, 67 },
+ { 28, 42, 63 }, { 28, 42, 71 }, { 28, 43, 67 }, { 28, 43, 71 },
+ { 28, 63, 67 }, { 28, 63, 71 }, { 28, 67, 71 }, { 29, 31, 41 },
+ { 29, 31, 44 }, { 29, 31, 72 }, { 29, 39, 64 }, { 29, 39, 68 },
+ { 29, 41, 64 }, { 29, 41, 72 }, { 29, 44, 68 }, { 29, 44, 72 },
+ { 29, 64, 68 }, { 29, 64, 72 }, { 29, 68, 72 }, { 30, 32, 42 },
+ { 30, 32, 44 }, { 30, 32, 73 }, { 30, 40, 65 }, { 30, 40, 69 },
+ { 30, 42, 65 }, { 30, 42, 73 }, { 30, 44, 69 }, { 30, 44, 73 },
+ { 30, 65, 69 }, { 30, 65, 73 }, { 30, 69, 73 }, { 31, 32, 43 },
+ { 31, 32, 44 }, { 31, 32, 74 }, { 31, 41, 70 }, { 31, 41, 72 },
+ { 31, 43, 70 }, { 31, 43, 74 }, { 31, 44, 72 }, { 31, 44, 74 },
+ { 31, 70, 72 }, { 31, 70, 74 }, { 31, 72, 74 }, { 32, 42, 71 },
+ { 32, 42, 73 }, { 32, 43, 71 }, { 32, 43, 74 }, { 32, 44, 73 },
+ { 32, 44, 74 }, { 32, 71, 73 }, { 32, 71, 74 }, { 32, 73, 74 },
+ { 33, 45, 46 }, { 33, 45, 47 }, { 33, 45, 75 }, { 33, 46, 50 },
+ { 33, 46, 75 }, { 33, 47, 51 }, { 33, 47, 75 }, { 33, 50, 51 },
+ { 33, 50, 75 }, { 33, 51, 75 }, { 34, 45, 48 }, { 34, 45, 49 },
+ { 34, 45, 76 }, { 34, 48, 52 }, { 34, 48, 76 }, { 34, 49, 53 },
+ { 34, 49, 76 }, { 34, 52, 53 }, { 34, 52, 76 }, { 34, 53, 76 },
+ { 35, 46, 48 }, { 35, 46, 54 }, { 35, 46, 77 }, { 35, 48, 56 },
+ { 35, 48, 77 }, { 35, 54, 59 }, { 35, 54, 77 }, { 35, 56, 59 },
+ { 35, 56, 77 }, { 35, 59, 77 }, { 36, 47, 49 }, { 36, 47, 55 },
+ { 36, 47, 78 }, { 36, 49, 57 }, { 36, 49, 78 }, { 36, 55, 60 },
+ { 36, 55, 78 }, { 36, 57, 60 }, { 36, 57, 78 }, { 36, 60, 78 },
+ { 37, 50, 54 }, { 37, 50, 58 }, { 37, 50, 79 }, { 37, 54, 62 },
+ { 37, 54, 79 }, { 37, 58, 66 }, { 37, 58, 79 }, { 37, 62, 66 },
+ { 37, 62, 79 }, { 37, 66, 79 }, { 38, 51, 55 }, { 38, 51, 58 },
+ { 38, 51, 80 }, { 38, 55, 63 }, { 38, 55, 80 }, { 38, 58, 67 },
+ { 38, 58, 80 }, { 38, 63, 67 }, { 38, 63, 80 }, { 38, 67, 80 },
+ { 39, 52, 56 }, { 39, 52, 61 }, { 39, 52, 81 }, { 39, 56, 64 },
+ { 39, 56, 81 }, { 39, 61, 68 }, { 39, 61, 81 }, { 39, 64, 68 },
+ { 39, 64, 81 }, { 39, 68, 81 }, { 40, 53, 57 }, { 40, 53, 61 },
+ { 40, 53, 82 }, { 40, 57, 65 }, { 40, 57, 82 }, { 40, 61, 69 },
+ { 40, 61, 82 }, { 40, 65, 69 }, { 40, 65, 82 }, { 40, 69, 82 },
+ { 41, 59, 62 }, { 41, 59, 64 }, { 41, 59, 83 }, { 41, 62, 70 },
+ { 41, 62, 83 }, { 41, 64, 72 }, { 41, 64, 83 }, { 41, 70, 72 },
+ { 41, 70, 83 }, { 41, 72, 83 }, { 42, 60, 63 }, { 42, 60, 65 },
+ { 42, 60, 84 }, { 42, 63, 71 }, { 42, 63, 84 }, { 42, 65, 73 },
+ { 42, 65, 84 }, { 42, 71, 73 }, { 42, 71, 84 }, { 42, 73, 84 },
+ { 43, 66, 67 }, { 43, 66, 70 }, { 43, 66, 85 }, { 43, 67, 71 },
+ { 43, 67, 85 }, { 43, 70, 74 }, { 43, 70, 85 }, { 43, 71, 74 },
+ { 43, 71, 85 }, { 43, 74, 85 }, { 44, 68, 69 }, { 44, 68, 72 },
+ { 44, 68, 86 }, { 44, 69, 73 }, { 44, 69, 86 }, { 44, 72, 74 },
+ { 44, 72, 86 }, { 44, 73, 74 }, { 44, 73, 86 }, { 44, 74, 86 },
+ { 45, 46, 48 }, { 45, 46, 75 }, { 45, 46, 87 }, { 45, 47, 49 },
+ { 45, 47, 75 }, { 45, 47, 88 }, { 45, 48, 76 }, { 45, 48, 87 },
+ { 45, 49, 76 }, { 45, 49, 88 }, { 45, 75, 87 }, { 45, 75, 88 },
+ { 45, 76, 87 }, { 45, 76, 88 }, { 45, 87, 88 }, { 46, 48, 77 },
+ { 46, 48, 87 }, { 46, 50, 54 }, { 46, 50, 75 }, { 46, 50, 89 },
+ { 46, 54, 77 }, { 46, 54, 89 }, { 46, 75, 87 }, { 46, 75, 89 },
+ { 46, 77, 87 }, { 46, 77, 89 }, { 46, 87, 89 }, { 47, 49, 78 },
+ { 47, 49, 88 }, { 47, 51, 55 }, { 47, 51, 75 }, { 47, 51, 90 },
+ { 47, 55, 78 }, { 47, 55, 90 }, { 47, 75, 88 }, { 47, 75, 90 },
+ { 47, 78, 88 }, { 47, 78, 90 }, { 47, 88, 90 }, { 48, 52, 56 },
+ { 48, 52, 76 }, { 48, 52, 91 }, { 48, 56, 77 }, { 48, 56, 91 },
+ { 48, 76, 87 }, { 48, 76, 91 }, { 48, 77, 87 }, { 48, 77, 91 },
+ { 48, 87, 91 }, { 49, 53, 57 }, { 49, 53, 76 }, { 49, 53, 92 },
+ { 49, 57, 78 }, { 49, 57, 92 }, { 49, 76, 88 }, { 49, 76, 92 },
+ { 49, 78, 88 }, { 49, 78, 92 }, { 49, 88, 92 }, { 50, 51, 58 },
+ { 50, 51, 75 }, { 50, 51, 93 }, { 50, 54, 79 }, { 50, 54, 89 },
+ { 50, 58, 79 }, { 50, 58, 93 }, { 50, 75, 89 }, { 50, 75, 93 },
+ { 50, 79, 89 }, { 50, 79, 93 }, { 50, 89, 93 }, { 51, 55, 80 },
+ { 51, 55, 90 }, { 51, 58, 80 }, { 51, 58, 93 }, { 51, 75, 90 },
+ { 51, 75, 93 }, { 51, 80, 90 }, { 51, 80, 93 }, { 51, 90, 93 },
+ { 52, 53, 61 }, { 52, 53, 76 }, { 52, 53, 94 }, { 52, 56, 81 },
+ { 52, 56, 91 }, { 52, 61, 81 }, { 52, 61, 94 }, { 52, 76, 91 },
+ { 52, 76, 94 }, { 52, 81, 91 }, { 52, 81, 94 }, { 52, 91, 94 },
+ { 53, 57, 82 }, { 53, 57, 92 }, { 53, 61, 82 }, { 53, 61, 94 },
+ { 53, 76, 92 }, { 53, 76, 94 }, { 53, 82, 92 }, { 53, 82, 94 },
+ { 53, 92, 94 }, { 54, 59, 62 }, { 54, 59, 77 }, { 54, 59, 95 },
+ { 54, 62, 79 }, { 54, 62, 95 }, { 54, 77, 89 }, { 54, 77, 95 },
+ { 54, 79, 89 }, { 54, 79, 95 }, { 54, 89, 95 }, { 55, 60, 63 },
+ { 55, 60, 78 }, { 55, 60, 96 }, { 55, 63, 80 }, { 55, 63, 96 },
+ { 55, 78, 90 }, { 55, 78, 96 }, { 55, 80, 90 }, { 55, 80, 96 },
+ { 55, 90, 96 }, { 56, 59, 64 }, { 56, 59, 77 }, { 56, 59, 97 },
+ { 56, 64, 81 }, { 56, 64, 97 }, { 56, 77, 91 }, { 56, 77, 97 },
+ { 56, 81, 91 }, { 56, 81, 97 }, { 56, 91, 97 }, { 57, 60, 65 },
+ { 57, 60, 78 }, { 57, 60, 98 }, { 57, 65, 82 }, { 57, 65, 98 },
+ { 57, 78, 92 }, { 57, 78, 98 }, { 57, 82, 92 }, { 57, 82, 98 },
+ { 57, 92, 98 }, { 58, 66, 67 }, { 58, 66, 79 }, { 58, 66, 99 },
+ { 58, 67, 80 }, { 58, 67, 99 }, { 58, 79, 93 }, { 58, 79, 99 },
+ { 58, 80, 93 }, { 58, 80, 99 }, { 58, 93, 99 }, { 59, 62, 83 },
+ { 59, 62, 95 }, { 59, 64, 83 }, { 59, 64, 97 }, { 59, 77, 95 },
+ { 59, 77, 97 }, { 59, 83, 95 }, { 59, 83, 97 }, { 59, 95, 97 },
+ { 60, 63, 84 }, { 60, 63, 96 }, { 60, 65, 84 }, { 60, 65, 98 },
+ { 60, 78, 96 }, { 60, 78, 98 }, { 60, 84, 96 }, { 60, 84, 98 },
+ { 60, 96, 98 }, { 61, 68, 69 }, { 61, 68, 81 }, { 61, 68, 100 },
+ { 61, 69, 82 }, { 61, 69, 100 }, { 61, 81, 94 }, { 61, 81, 100 },
+ { 61, 82, 94 }, { 61, 82, 100 }, { 61, 94, 100 }, { 62, 66, 70 },
+ { 62, 66, 79 }, { 62, 66, 101 }, { 62, 70, 83 }, { 62, 70, 101 },
+ { 62, 79, 95 }, { 62, 79, 101 }, { 62, 83, 95 }, { 62, 83, 101 },
+ { 62, 95, 101 }, { 63, 67, 71 }, { 63, 67, 80 }, { 63, 67, 102 },
+ { 63, 71, 84 }, { 63, 71, 102 }, { 63, 80, 96 }, { 63, 80, 102 },
+ { 63, 84, 96 }, { 63, 84, 102 }, { 63, 96, 102 }, { 64, 68, 72 },
+ { 64, 68, 81 }, { 64, 68, 103 }, { 64, 72, 83 }, { 64, 72, 103 },
+ { 64, 81, 97 }, { 64, 81, 103 }, { 64, 83, 97 }, { 64, 83, 103 },
+ { 64, 97, 103 }, { 65, 69, 73 }, { 65, 69, 82 }, { 65, 69, 104 },
+ { 65, 73, 84 }, { 65, 73, 104 }, { 65, 82, 98 }, { 65, 82, 104 },
+ { 65, 84, 98 }, { 65, 84, 104 }, { 65, 98, 104 }, { 66, 67, 85 },
+ { 66, 67, 99 }, { 66, 70, 85 }, { 66, 70, 101 }, { 66, 79, 99 },
+ { 66, 79, 101 }, { 66, 85, 99 }, { 66, 85, 101 }, { 66, 99, 101 },
+ { 67, 71, 85 }, { 67, 71, 102 }, { 67, 80, 99 }, { 67, 80, 102 },
+ { 67, 85, 99 }, { 67, 85, 102 }, { 67, 99, 102 }, { 68, 69, 86 },
+ { 68, 69, 100 }, { 68, 72, 86 }, { 68, 72, 103 }, { 68, 81, 100 },
+ { 68, 81, 103 }, { 68, 86, 100 }, { 68, 86, 103 }, { 68, 100, 103 },
+ { 69, 73, 86 }, { 69, 73, 104 }, { 69, 82, 100 }, { 69, 82, 104 },
+ { 69, 86, 100 }, { 69, 86, 104 }, { 69, 100, 104 }, { 70, 72, 74 },
+ { 70, 72, 83 }, { 70, 72, 105 }, { 70, 74, 85 }, { 70, 74, 105 },
+ { 70, 83, 101 }, { 70, 83, 105 }, { 70, 85, 101 }, { 70, 85, 105 },
+ { 70, 101, 105 }, { 71, 73, 74 }, { 71, 73, 84 }, { 71, 73, 106 },
+ { 71, 74, 85 }, { 71, 74, 106 }, { 71, 84, 102 }, { 71, 84, 106 },
+ { 71, 85, 102 }, { 71, 85, 106 }, { 71, 102, 106 }, { 72, 74, 86 },
+ { 72, 74, 105 }, { 72, 83, 103 }, { 72, 83, 105 }, { 72, 86, 103 },
+ { 72, 86, 105 }, { 72, 103, 105 }, { 73, 74, 86 }, { 73, 74, 106 },
+ { 73, 84, 104 }, { 73, 84, 106 }, { 73, 86, 104 }, { 73, 86, 106 },
+ { 73, 104, 106 }, { 74, 85, 105 }, { 74, 85, 106 }, { 74, 86, 105 },
+ { 74, 86, 106 }, { 74, 105, 106 }, { 75, 87, 88 }, { 75, 87, 89 },
+ { 75, 87, 107 }, { 75, 88, 90 }, { 75, 88, 107 }, { 75, 89, 93 },
+ { 75, 89, 107 }, { 75, 90, 93 }, { 75, 90, 107 }, { 75, 93, 107 },
+ { 76, 87, 88 }, { 76, 87, 91 }, { 76, 87, 108 }, { 76, 88, 92 },
+ { 76, 88, 108 }, { 76, 91, 94 }, { 76, 91, 108 }, { 76, 92, 94 },
+ { 76, 92, 108 }, { 76, 94, 108 }, { 77, 87, 89 }, { 77, 87, 91 },
+ { 77, 87, 109 }, { 77, 89, 95 }, { 77, 89, 109 }, { 77, 91, 97 },
+ { 77, 91, 109 }, { 77, 95, 97 }, { 77, 95, 109 }, { 77, 97, 109 },
+ { 78, 88, 90 }, { 78, 88, 92 }, { 78, 88, 110 }, { 78, 90, 96 },
+ { 78, 90, 110 }, { 78, 92, 98 }, { 78, 92, 110 }, { 78, 96, 98 },
+ { 78, 96, 110 }, { 78, 98, 110 }, { 79, 89, 93 }, { 79, 89, 95 },
+ { 79, 89, 111 }, { 79, 93, 99 }, { 79, 93, 111 }, { 79, 95, 101 },
+ { 79, 95, 111 }, { 79, 99, 101 }, { 79, 99, 111 }, { 79, 101, 111 },
+ { 80, 90, 93 }, { 80, 90, 96 }, { 80, 90, 112 }, { 80, 93, 99 },
+ { 80, 93, 112 }, { 80, 96, 102 }, { 80, 96, 112 }, { 80, 99, 102 },
+ { 80, 99, 112 }, { 80, 102, 112 }, { 81, 91, 94 }, { 81, 91, 97 },
+ { 81, 91, 113 }, { 81, 94, 100 }, { 81, 94, 113 }, { 81, 97, 103 },
+ { 81, 97, 113 }, { 81, 100, 103 }, { 81, 100, 113 }, { 81, 103, 113 },
+ { 82, 92, 94 }, { 82, 92, 98 }, { 82, 92, 114 }, { 82, 94, 100 },
+ { 82, 94, 114 }, { 82, 98, 104 }, { 82, 98, 114 }, { 82, 100, 104 },
+ { 82, 100, 114 }, { 82, 104, 114 }, { 83, 95, 97 }, { 83, 95, 101 },
+ { 83, 95, 115 }, { 83, 97, 103 }, { 83, 97, 115 }, { 83, 101, 105 },
+ { 83, 101, 115 }, { 83, 103, 105 }, { 83, 103, 115 }, { 83, 105, 115 },
+ { 84, 96, 98 }, { 84, 96, 102 }, { 84, 96, 116 }, { 84, 98, 104 },
+ { 84, 98, 116 }, { 84, 102, 106 }, { 84, 102, 116 }, { 84, 104, 106 },
+ { 84, 104, 116 }, { 84, 106, 116 }, { 85, 99, 101 }, { 85, 99, 102 },
+ { 85, 99, 117 }, { 85, 101, 105 }, { 85, 101, 117 }, { 85, 102, 106 },
+ { 85, 102, 117 }, { 85, 105, 106 }, { 85, 105, 117 }, { 85, 106, 117 },
+ { 86, 100, 103 }, { 86, 100, 104 }, { 86, 100, 118 }, { 86, 103, 105 },
+ { 86, 103, 118 }, { 86, 104, 106 }, { 86, 104, 118 }, { 86, 105, 106 },
+ { 86, 105, 118 }, { 86, 106, 118 }, { 87, 88, 107 }, { 87, 88, 108 },
+ { 87, 89, 107 }, { 87, 89, 109 }, { 87, 91, 108 }, { 87, 91, 109 },
+ { 87, 107, 108 }, { 87, 107, 109 }, { 87, 108, 109 }, { 88, 90, 107 },
+ { 88, 90, 110 }, { 88, 92, 108 }, { 88, 92, 110 }, { 88, 107, 108 },
+ { 88, 107, 110 }, { 88, 108, 110 }, { 89, 93, 107 }, { 89, 93, 111 },
+ { 89, 95, 109 }, { 89, 95, 111 }, { 89, 107, 109 }, { 89, 107, 111 },
+ { 89, 109, 111 }, { 90, 93, 107 }, { 90, 93, 112 }, { 90, 96, 110 },
+ { 90, 96, 112 }, { 90, 107, 110 }, { 90, 107, 112 }, { 90, 110, 112 },
+ { 91, 94, 108 }, { 91, 94, 113 }, { 91, 97, 109 }, { 91, 97, 113 },
+ { 91, 108, 109 }, { 91, 108, 113 }, { 91, 109, 113 }, { 92, 94, 108 },
+ { 92, 94, 114 }, { 92, 98, 110 }, { 92, 98, 114 }, { 92, 108, 110 },
+ { 92, 108, 114 }, { 92, 110, 114 }, { 93, 99, 111 }, { 93, 99, 112 },
+ { 93, 107, 111 }, { 93, 107, 112 }, { 93, 111, 112 }, { 94, 100, 113 },
+ { 94, 100, 114 }, { 94, 108, 113 }, { 94, 108, 114 }, { 94, 113, 114 },
+ { 95, 97, 109 }, { 95, 97, 115 }, { 95, 101, 111 }, { 95, 101, 115 },
+ { 95, 109, 111 }, { 95, 109, 115 }, { 95, 111, 115 }, { 96, 98, 110 },
+ { 96, 98, 116 }, { 96, 102, 112 }, { 96, 102, 116 }, { 96, 110, 112 },
+ { 96, 110, 116 }, { 96, 112, 116 }, { 97, 103, 113 }, { 97, 103, 115 },
+ { 97, 109, 113 }, { 97, 109, 115 }, { 97, 113, 115 }, { 98, 104, 114 },
+ { 98, 104, 116 }, { 98, 110, 114 }, { 98, 110, 116 }, { 98, 114, 116 },
+ { 99, 101, 111 }, { 99, 101, 117 }, { 99, 102, 112 }, { 99, 102, 117 },
+ { 99, 111, 112 }, { 99, 111, 117 }, { 99, 112, 117 }, { 100, 103, 113 },
+ { 100, 103, 118 }, { 100, 104, 114 }, { 100, 104, 118 }, { 100, 113, 114 },
+ { 100, 113, 118 }, { 100, 114, 118 }, { 101, 105, 115 }, { 101, 105, 117 },
+ { 101, 111, 115 }, { 101, 111, 117 }, { 101, 115, 117 }, { 102, 106, 116 },
+ { 102, 106, 117 }, { 102, 112, 116 }, { 102, 112, 117 }, { 102, 116, 117 },
+ { 103, 105, 115 }, { 103, 105, 118 }, { 103, 113, 115 }, { 103, 113, 118 },
+ { 103, 115, 118 }, { 104, 106, 116 }, { 104, 106, 118 }, { 104, 114, 116 },
+ { 104, 114, 118 }, { 104, 116, 118 }, { 105, 106, 117 }, { 105, 106, 118 },
+ { 105, 115, 117 }, { 105, 115, 118 }, { 105, 117, 118 }, { 106, 116, 117 },
+ { 106, 116, 118 }, { 106, 117, 118 }, { 107, 108, 109 }, { 107, 108, 110 },
+ { 107, 108, 119 }, { 107, 109, 111 }, { 107, 109, 119 }, { 107, 110, 112 },
+ { 107, 110, 119 }, { 107, 111, 112 }, { 107, 111, 119 }, { 107, 112, 119 },
+ { 108, 109, 113 }, { 108, 109, 119 }, { 108, 110, 114 }, { 108, 110, 119 },
+ { 108, 113, 114 }, { 108, 113, 119 }, { 108, 114, 119 }, { 109, 111, 115 },
+ { 109, 111, 119 }, { 109, 113, 115 }, { 109, 113, 119 }, { 109, 115, 119 },
+ { 110, 112, 116 }, { 110, 112, 119 }, { 110, 114, 116 }, { 110, 114, 119 },
+ { 110, 116, 119 }, { 111, 112, 117 }, { 111, 112, 119 }, { 111, 115, 117 },
+ { 111, 115, 119 }, { 111, 117, 119 }, { 112, 116, 117 }, { 112, 116, 119 },
+ { 112, 117, 119 }, { 113, 114, 118 }, { 113, 114, 119 }, { 113, 115, 118 },
+ { 113, 115, 119 }, { 113, 118, 119 }, { 114, 116, 118 }, { 114, 116, 119 },
+ { 114, 118, 119 }, { 115, 117, 118 }, { 115, 117, 119 }, { 115, 118, 119 },
+ { 116, 117, 118 }, { 116, 117, 119 }, { 116, 118, 119 }, { 117, 118, 119 }
+};
+
+static float edge_color_600[NUM_EDGE_600][4];
+static float face_color_600[NUM_FACE_600][4];
+static float face_color_trans_600[NUM_FACE_600][4];
+
+
+/* Add a rotation around the wx-plane to the matrix m. */
+static void rotatewx(float m[4][4], float phi)
+{
+ float c, s, u, v;
+ int i;
+
+ phi *= M_PI/180.0;
+ c = cos(phi);
+ s = sin(phi);
+ for (i=0; i<4; i++)
+ {
+ u = m[i][1];
+ v = m[i][2];
+ m[i][1] = c*u+s*v;
+ m[i][2] = -s*u+c*v;
+ }
+}
+
+
+/* Add a rotation around the wy-plane to the matrix m. */
+static void rotatewy(float m[4][4], float phi)
+{
+ float c, s, u, v;
+ int i;
+
+ phi *= M_PI/180.0;
+ c = cos(phi);
+ s = sin(phi);
+ for (i=0; i<4; i++)
+ {
+ u = m[i][0];
+ v = m[i][2];
+ m[i][0] = c*u-s*v;
+ m[i][2] = s*u+c*v;
+ }
+}
+
+
+/* Add a rotation around the wz-plane to the matrix m. */
+static void rotatewz(float m[4][4], float phi)
+{
+ float c, s, u, v;
+ int i;
+
+ phi *= M_PI/180.0;
+ c = cos(phi);
+ s = sin(phi);
+ for (i=0; i<4; i++)
+ {
+ u = m[i][0];
+ v = m[i][1];
+ m[i][0] = c*u+s*v;
+ m[i][1] = -s*u+c*v;
+ }
+}
+
+
+/* Add a rotation around the xy-plane to the matrix m. */
+static void rotatexy(float m[4][4], float phi)
+{
+ float c, s, u, v;
+ int i;
+
+ phi *= M_PI/180.0;
+ c = cos(phi);
+ s = sin(phi);
+ for (i=0; i<4; i++)
+ {
+ u = m[i][2];
+ v = m[i][3];
+ m[i][2] = c*u+s*v;
+ m[i][3] = -s*u+c*v;
+ }
+}
+
+
+/* Add a rotation around the xz-plane to the matrix m. */
+static void rotatexz(float m[4][4], float phi)
+{
+ float c, s, u, v;
+ int i;
+
+ phi *= M_PI/180.0;
+ c = cos(phi);
+ s = sin(phi);
+ for (i=0; i<4; i++)
+ {
+ u = m[i][1];
+ v = m[i][3];
+ m[i][1] = c*u-s*v;
+ m[i][3] = s*u+c*v;
+ }
+}
+
+
+/* Add a rotation around the yz-plane to the matrix m. */
+static void rotateyz(float m[4][4], float phi)
+{
+ float c, s, u, v;
+ int i;
+
+ phi *= M_PI/180.0;
+ c = cos(phi);
+ s = sin(phi);
+ for (i=0; i<4; i++)
+ {
+ u = m[i][0];
+ v = m[i][3];
+ m[i][0] = c*u-s*v;
+ m[i][3] = s*u+c*v;
+ }
+}
+
+
+/* Compute the rotation matrix m from the rotation angles. */
+static void rotateall(float m[4][4])
+{
+ int i, j;
+
+ for (i=0; i<4; i++)
+ for (j=0; j<4; j++)
+ m[i][j] = (i==j);
+ rotatewx(m,alpha);
+ rotatewy(m,beta);
+ rotatewz(m,delta);
+ rotatexy(m,zeta);
+ rotatexz(m,eta);
+ rotateyz(m,theta);
+}
+
+
+/* Compute the normal vector of a plane based on three points in the plane. */
+static void normal(float *p, float *q, float *r, float *n)
+{
+ float u[3], v[3], t;
+
+ u[0] = q[0]-p[0];
+ u[1] = q[1]-p[1];
+ u[2] = q[2]-p[2];
+ v[0] = r[0]-p[0];
+ v[1] = r[1]-p[1];
+ v[2] = r[2]-p[2];
+ n[0] = u[1]*v[2]-u[2]*v[1];
+ n[1] = u[2]*v[0]-u[0]*v[2];
+ n[2] = u[0]*v[1]-u[1]*v[0];
+ t = sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);
+ n[0] /= t;
+ n[1] /= t;
+ n[2] /= t;
+}
+
+
+/* Project an array of vertices from 4d to 3d. */
+static void project(float vert[][4], float v[][4], int num)
+{
+ float m[4][4], s;
+ int i, j, k;
+
+ rotateall(m);
+
+ /* Project the vertices from 4d to 3d. */
+ for (i=0; i<num; i++)
+ {
+ for (j=0; j<4; j++)
+ {
+ s = 0.0;
+ for (k=0; k<4; k++)
+ s += m[j][k]*vert[i][k];
+ v[i][j] = s+offset4d[j];
+ }
+ if (projection_4d == DISP_4D_ORTHOGRAPHIC)
+ {
+ for (j=0; j<3; j++)
+ v[i][j] /= 2.0;
+ v[i][3] = 1.0;
+ }
+ else
+ {
+ for (j=0; j<4; j++)
+ v[i][j] /= v[i][3];
+ }
+ }
+
+ /* Move the projected vertices along the z-axis so that they become visible
+ in the viewport. */
+ for (i=0; i<num; i++)
+ {
+ for (j=0; j<4; j++)
+ v[i][j] += offset3d[j];
+ }
+}
+
+
+/* Draw a single polytope. */
+static void draw(ModeInfo *mi,
+ float v[][4], int edge[][2], int num_edge, int face[],
+ int num_face, int vert_per_face, float edge_color[][4],
+ float face_color[][4], float face_color_trans[][4])
+{
+ int i, j;
+ float n[3];
+ static float red[4] = { 1.0, 0.0, 0.0, 1.0 };
+ static float red_trans[4] = { 1.0, 0.0, 0.0, 1.0 };
+
+ mi->polygon_count = 0;
+ if (display_mode == DISP_WIREFRAME)
+ {
+ if (color_mode == COLORS_SINGLE)
+ glColor4fv(red);
+ glBegin(GL_LINES);
+ for (i=0; i<num_edge; i++)
+ {
+ if (color_mode == COLORS_DEPTH)
+ glColor4fv(edge_color[i]);
+ glVertex4fv(v[edge[i][0]]);
+ glVertex4fv(v[edge[i][1]]);
+ }
+ glEnd();
+ mi->polygon_count = num_edge;
+ }
+ else
+ {
+ if (color_mode == COLORS_SINGLE)
+ {
+ red_trans[3] = face_color_trans[0][3]/2.0;
+ if (display_mode == DISP_TRANSPARENT)
+ glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT_AND_DIFFUSE,red_trans);
+ else
+ glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT_AND_DIFFUSE,red);
+ }
+ for (i=0; i<num_face; i++)
+ {
+ glBegin(GL_POLYGON);
+ if (color_mode == COLORS_DEPTH)
+ {
+ if (display_mode == DISP_TRANSPARENT)
+ glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT_AND_DIFFUSE,
+ face_color_trans[i]);
+ else
+ glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT_AND_DIFFUSE,
+ face_color[i]);
+ }
+ normal(v[face[i*vert_per_face]],v[face[i*vert_per_face+1]],
+ v[face[i*vert_per_face+2]],n);
+ glNormal3fv(n);
+ for (j=0; j<vert_per_face; j++)
+ glVertex4fv(v[face[i*vert_per_face+j]]);
+ glEnd();
+ }
+ mi->polygon_count = num_face;
+ }
+}
+
+
+/* Draw a 5-cell {3,3,3} projected into 3d. */
+static void cell_5(ModeInfo *mi)
+{
+ float v[NUM_VERT_5][4];
+
+ project(vert_5,v,NUM_VERT_5);
+ draw(mi, v,edge_5,NUM_EDGE_5,(int *)face_5,NUM_FACE_5,VERT_PER_FACE_5,
+ edge_color_5,face_color_5,face_color_trans_5);
+}
+
+
+/* Draw a 8-cell {4,3,3} projected into 3d. */
+static void cell_8(ModeInfo *mi)
+{
+ float v[NUM_VERT_8][4];
+
+ project(vert_8,v,NUM_VERT_8);
+ draw(mi,v,edge_8,NUM_EDGE_8,(int *)face_8,NUM_FACE_8,VERT_PER_FACE_8,
+ edge_color_8,face_color_8,face_color_trans_8);
+}
+
+
+/* Draw a 16-cell {3,3,4} projected into 3d. */
+static void cell_16(ModeInfo *mi)
+{
+ float v[NUM_VERT_16][4];
+
+ project(vert_16,v,NUM_VERT_16);
+ draw(mi,v,edge_16,NUM_EDGE_16,(int *)face_16,NUM_FACE_16,VERT_PER_FACE_16,
+ edge_color_16,face_color_16,face_color_trans_16);
+}
+
+
+/* Draw a 24-cell {3,4,3} projected into 3d. */
+static void cell_24(ModeInfo *mi)
+{
+ float v[NUM_VERT_24][4];
+
+ project(vert_24,v,NUM_VERT_24);
+ draw(mi,v,edge_24,NUM_EDGE_24,(int *)face_24,NUM_FACE_24,VERT_PER_FACE_24,
+ edge_color_24,face_color_24,face_color_trans_24);
+}
+
+
+/* Draw a 120-cell {5,3,3} projected into 3d. */
+static void cell_120(ModeInfo *mi)
+{
+ float v[NUM_VERT_120][4];
+
+ project(vert_120,v,NUM_VERT_120);
+ draw(mi,
+ v,edge_120,NUM_EDGE_120,(int *)face_120,NUM_FACE_120,VERT_PER_FACE_120,
+ edge_color_120,face_color_120,face_color_trans_120);
+}
+
+
+/* Draw a 600-cell {3,3,5} projected into 3d. */
+static void cell_600(ModeInfo *mi)
+{
+ float v[NUM_VERT_600][4];
+
+ project(vert_600,v,NUM_VERT_600);
+ draw(mi,
+ v,edge_600,NUM_EDGE_600,(int *)face_600,NUM_FACE_600,VERT_PER_FACE_600,
+ edge_color_600,face_color_600,face_color_trans_600);
+}
+
+
+/* Compute a color based on the w-depth of a point. */
+static void color(float depth, float alpha, float min, float max,
+ float color[4])
+{
+ double d, t;
+ int s;
+
+ d = (depth-min)/(max-min);
+ s = floor(d*4.0);
+ t = d*4.0-s;
+ if (s < 0)
+ s += 6;
+ if (s >= 6)
+ s -= 6;
+ switch (s)
+ {
+ case 0:
+ color[0] = 1.0;
+ color[1] = t;
+ color[2] = 0.0;
+ break;
+ case 1:
+ color[0] = 1.0-t;
+ color[1] = 1.0;
+ color[2] = 0.0;
+ break;
+ case 2:
+ color[0] = 0.0;
+ color[1] = 1.0;
+ color[2] = t;
+ break;
+ case 3:
+ color[0] = 0.0;
+ color[1] = 1.0-t;
+ color[2] = 1.0;
+ break;
+ case 4:
+ color[0] = t;
+ color[1] = 0.0;
+ color[2] = 1.0;
+ break;
+ case 5:
+ color[0] = 1.0;
+ color[1] = 0.0;
+ color[2] = 1.0-t;
+ break;
+ }
+ color[3] = alpha;
+}
+
+
+/* Set the colors of a single polytope's edges and faces. */
+static void colors(float vert[][4], int edge[][2], int num_edge, int face[],
+ int num_face, int vert_per_face, float edge_color[][4],
+ float face_color[][4], float face_color_trans[][4],
+ float alpha, float min_edge_depth, float max_edge_depth,
+ float min_face_depth, float max_face_depth)
+{
+ int i, j;
+ float depth;
+
+ for (i=0; i<num_edge; i++)
+ {
+ depth = (vert[edge[i][0]][3]+vert[edge[i][1]][3])/2.0;
+ color(depth,1.0,min_edge_depth,max_edge_depth,edge_color[i]);
+ }
+ for (i=0; i<num_face; i++)
+ {
+ depth = 0.0;
+ for (j=0; j<vert_per_face; j++)
+ depth += vert[face[i*vert_per_face+j]][3];
+ depth /= vert_per_face;
+ color(depth,1.0,min_face_depth,max_face_depth,face_color[i]);
+ color(depth,alpha,min_face_depth,max_face_depth,face_color_trans[i]);
+ }
+}
+
+
+/* Set the colors of the polytopes' edges and faces. */
+static void set_colors(void)
+{
+ /* 5-cell. */
+ colors(vert_5,edge_5,NUM_EDGE_5,(int *)face_5,NUM_FACE_5,
+ VERT_PER_FACE_5,edge_color_5,face_color_5,face_color_trans_5,
+ 0.5,MIN_EDGE_DEPTH_5,MAX_EDGE_DEPTH_5,MIN_FACE_DEPTH_5,
+ MAX_FACE_DEPTH_5);
+
+ /* 8-cell. */
+ colors(vert_8,edge_8,NUM_EDGE_8,(int *)face_8,NUM_FACE_8,
+ VERT_PER_FACE_8,edge_color_8,face_color_8,face_color_trans_8,
+ 0.4,MIN_EDGE_DEPTH_8,MAX_EDGE_DEPTH_8,MIN_FACE_DEPTH_8,
+ MAX_FACE_DEPTH_8);
+
+ /* 16-cell. */
+ colors(vert_16,edge_16,NUM_EDGE_16,(int *)face_16,NUM_FACE_16,
+ VERT_PER_FACE_16,edge_color_16,face_color_16,face_color_trans_16,
+ 0.25,MIN_EDGE_DEPTH_16,MAX_EDGE_DEPTH_16,MIN_FACE_DEPTH_16,
+ MAX_FACE_DEPTH_16);
+
+ /* 24-cell. */
+ colors(vert_24,edge_24,NUM_EDGE_24,(int *)face_24,NUM_FACE_24,
+ VERT_PER_FACE_24,edge_color_24,face_color_24,face_color_trans_24,
+ 0.25,MIN_EDGE_DEPTH_24,MAX_EDGE_DEPTH_24,MIN_FACE_DEPTH_24,
+ MAX_FACE_DEPTH_24);
+
+ /* 120-cell. */
+ colors(vert_120,edge_120,NUM_EDGE_120,(int *)face_120,NUM_FACE_120,
+ VERT_PER_FACE_120,edge_color_120,face_color_120,face_color_trans_120,
+ 0.15,MIN_EDGE_DEPTH_120,MAX_EDGE_DEPTH_120,MIN_FACE_DEPTH_120,
+ MAX_FACE_DEPTH_120);
+
+ /* 600-cell. */
+ colors(vert_600,edge_600,NUM_EDGE_600,(int *)face_600,NUM_FACE_600,
+ VERT_PER_FACE_600,edge_color_600,face_color_600,face_color_trans_600,
+ 0.06,MIN_EDGE_DEPTH_600,MAX_EDGE_DEPTH_600,MIN_FACE_DEPTH_600,
+ MAX_FACE_DEPTH_600);
+}
+
+
+static void init(ModeInfo *mi)
+{
+ static float light_ambient[] = { 0.0, 0.0, 0.0, 1.0 };
+ static float light_diffuse[] = { 1.0, 1.0, 1.0, 1.0 };
+ static float light_specular[] = { 0.0, 0.0, 0.0, 1.0 };
+ static float light_position[] = { 0.0, 0.0, 1.0, 0.0 };
+ static float mat_specular[] = { 1.0, 1.0, 1.0, 1.0 };
+
+ set_colors();
+
+ alpha = 0.0;
+ beta = 0.0;
+ delta = 0.0;
+ zeta = 0.0;
+ eta = 0.0;
+ theta = 0.0;
+
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ if (projection_3d == DISP_3D_PERSPECTIVE)
+ gluPerspective(60.0,1.0,0.1,100.0);
+ else
+ glOrtho(-1.0,1.0,-1.0,1.0,0.1,100.0);;
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+
+ if (display_mode == DISP_WIREFRAME)
+ {
+ glDisable(GL_DEPTH_TEST);
+ glDisable(GL_LIGHTING);
+ glDisable(GL_LIGHT0);
+ glDisable(GL_BLEND);
+ }
+ else if (display_mode == DISP_SURFACE)
+ {
+ glEnable(GL_DEPTH_TEST);
+ glDepthFunc(GL_LESS);
+ glLightModeli(GL_LIGHT_MODEL_TWO_SIDE,GL_TRUE);
+ glEnable(GL_LIGHTING);
+ glEnable(GL_LIGHT0);
+ glLightfv(GL_LIGHT0,GL_AMBIENT,light_ambient);
+ glLightfv(GL_LIGHT0,GL_DIFFUSE,light_diffuse);
+ glLightfv(GL_LIGHT0,GL_SPECULAR,light_specular);
+ glLightfv(GL_LIGHT0,GL_POSITION,light_position);
+ glMaterialfv(GL_FRONT_AND_BACK,GL_SPECULAR,mat_specular);
+ glMaterialf(GL_FRONT_AND_BACK,GL_SHININESS,0.0);
+ glDepthMask(GL_TRUE);
+ glDisable(GL_BLEND);
+ }
+ else if (display_mode == DISP_TRANSPARENT)
+ {
+ glDisable(GL_DEPTH_TEST);
+ glLightModeli(GL_LIGHT_MODEL_TWO_SIDE,GL_TRUE);
+ glEnable(GL_LIGHTING);
+ glEnable(GL_LIGHT0);
+ glLightfv(GL_LIGHT0,GL_AMBIENT,light_ambient);
+ glLightfv(GL_LIGHT0,GL_DIFFUSE,light_diffuse);
+ glLightfv(GL_LIGHT0,GL_SPECULAR,light_specular);
+ glLightfv(GL_LIGHT0,GL_POSITION,light_position);
+ glMaterialfv(GL_FRONT_AND_BACK,GL_SPECULAR,mat_specular);
+ glMaterialf(GL_FRONT_AND_BACK,GL_SHININESS,0.0);
+ glDepthMask(GL_FALSE);
+ glEnable(GL_BLEND);
+ glBlendFunc(GL_SRC_ALPHA,GL_ONE);
+ }
+ else
+ {
+ glDisable(GL_DEPTH_TEST);
+ glDisable(GL_LIGHTING);
+ glDisable(GL_LIGHT0);
+ glDisable(GL_BLEND);
+ }
+}
+
+
+/* Redisplay the polytopes. */
+static void display_polytopes(ModeInfo *mi)
+{
+ alpha += speed_wx;
+ if (alpha >= 360.0)
+ alpha -= 360.0;
+ beta += speed_wy;
+ if (beta >= 360.0)
+ beta -= 360.0;
+ delta += speed_wz;
+ if (delta >= 360.0)
+ delta -= 360.0;
+ zeta += speed_xy;
+ if (zeta >= 360.0)
+ zeta -= 360.0;
+ eta += speed_xz;
+ if (eta >= 360.0)
+ eta -= 360.0;
+ theta += speed_yz;
+ if (theta >= 360.0)
+ theta -= 360.0;
+
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ if (projection_3d == DISP_3D_ORTHOGRAPHIC)
+ {
+ if (aspect >= 1.0)
+ glOrtho(-aspect,aspect,-1.0,1.0,0.1,100.0);
+ else
+ glOrtho(-1.0,1.0,-1.0/aspect,1.0/aspect,0.1,100.0);
+ }
+ else
+ {
+ gluPerspective(60.0,aspect,0.1,100.0);
+ }
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+
+ {
+ static int tick = 0;
+ static int p;
+
+ if (tick == 0)
+ {
+ if (polytope == POLYTOPE_RANDOM)
+ p = random() % (POLYTOPE_LAST_CELL+1);
+ else
+ p = polytope;
+ }
+ if (++tick > 1000) tick = 0;
+
+ if (p == POLYTOPE_5_CELL)
+ cell_5(mi);
+ else if (p == POLYTOPE_8_CELL)
+ cell_8(mi);
+ else if (p == POLYTOPE_16_CELL)
+ cell_16(mi);
+ else if (p == POLYTOPE_24_CELL)
+ cell_24(mi);
+ else if (p == POLYTOPE_120_CELL)
+ cell_120(mi);
+ else if (p == POLYTOPE_600_CELL)
+ cell_600(mi);
+ else
+ abort();
+ }
+}
+
+
+void reshape_polytopes(ModeInfo * mi, int width, int height)
+{
+ polytopesstruct *hp = &poly[MI_SCREEN(mi)];
+
+ hp->WindW = (GLint)width;
+ hp->WindH = (GLint)height;
+ glViewport(0,0,width,height);
+ aspect = (GLfloat)width/(GLfloat)height;
+}
+
+
+/*
+ *-----------------------------------------------------------------------------
+ *-----------------------------------------------------------------------------
+ * Xlock hooks.
+ *-----------------------------------------------------------------------------
+ *-----------------------------------------------------------------------------
+ */
+
+/*
+ *-----------------------------------------------------------------------------
+ * Initialize polytopes. Called each time the window changes.
+ *-----------------------------------------------------------------------------
+ */
+
+void init_polytopes(ModeInfo * mi)
+{
+ polytopesstruct *hp;
+
+ if (poly == NULL)
+ {
+ poly = (polytopesstruct *)calloc(MI_NUM_SCREENS(mi),
+ sizeof(polytopesstruct));
+ if (poly == NULL)
+ return;
+ }
+ hp = &poly[MI_SCREEN(mi)];
+
+ if ((hp->glx_context = init_GL(mi)) != NULL)
+ {
+ reshape_polytopes(mi,MI_WIDTH(mi),MI_HEIGHT(mi));
+ glDrawBuffer(GL_BACK);
+ init(mi);
+ }
+ else
+ {
+ MI_CLEARWINDOW(mi);
+ }
+}
+
+/*
+ *-----------------------------------------------------------------------------
+ * Called by the mainline code periodically to update the display.
+ *-----------------------------------------------------------------------------
+ */
+void draw_polytopes(ModeInfo * mi)
+{
+ Display *display = MI_DISPLAY(mi);
+ Window window = MI_WINDOW(mi);
+ polytopesstruct *hp;
+
+ if (poly == NULL)
+ return;
+ hp = &poly[MI_SCREEN(mi)];
+
+ MI_IS_DRAWN(mi) = True;
+ if (!hp->glx_context)
+ return;
+
+ glXMakeCurrent(display,window,*(hp->glx_context));
+
+ glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
+ glLoadIdentity();
+
+ display_polytopes(mi);
+
+ if (MI_IS_FPS(mi))
+ do_fps (mi);
+
+ glFlush();
+
+ glXSwapBuffers(display,window);
+}
+
+
+/*
+ *-----------------------------------------------------------------------------
+ * The display is being taken away from us. Free up malloc'ed
+ * memory and X resources that we've alloc'ed. Only called
+ * once, we must zap everything for every screen.
+ *-----------------------------------------------------------------------------
+ */
+
+void release_polytopes(ModeInfo * mi)
+{
+ if (poly != NULL)
+ {
+ int screen;
+
+ for (screen = 0; screen < MI_NUM_SCREENS(mi); screen++)
+ {
+ polytopesstruct *hp = &poly[screen];
+
+ if (hp->glx_context)
+ hp->glx_context = (GLXContext *)NULL;
+ }
+ (void) free((void *)poly);
+ poly = (polytopesstruct *)NULL;
+ }
+ FreeAllGL(mi);
+}
+
+void change_polytopes(ModeInfo * mi)
+{
+ polytopesstruct *hp = &poly[MI_SCREEN(mi)];
+
+ if (!hp->glx_context)
+ return;
+
+ glXMakeCurrent(MI_DISPLAY(mi),MI_WINDOW(mi),*(hp->glx_context));
+ init(mi);
+}
+
+#endif /* USE_GL */
# Copyright (C) 2002 Free Software Foundation, Inc.
# maintainer: Christophe Merlet (RedFox) <christophe@merlet.net>, 2002.
# Sun G11n <gnome_int_l10n@ireland.sun.com>, 2002.
+# Eric Lassauge <lassauge@mail.dotcom.fr>, 2003.
#
msgid ""
msgstr ""
-"Project-Id-Version: xscreensaver 4.01\n"
+"Project-Id-Version: xscreensaver 4.11\n"
"POT-Creation-Date: 2002-06-18 21:56+0200\n"
"PO-Revision-Date: 2002-07-28 01:03+0200\n"
-"Last-Translator: Christophe Merlet (RedFox) <christophe@merlet.net>\n"
+"Last-Translator: Eric Lassauge <lassauge@mail.dotcom.fr>\n"
"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
#: driver/demo-Gtk-conf.c:729
#: driver/demo-Gtk-conf.c:1021
msgid "Select file."
-msgstr "Sélectionnez un fichier."
+msgstr "Sélectionnez un fichier."
#: driver/demo-Gtk-support.c:121
#, c-format
msgid "Couldn't find pixmap file: %s"
-msgstr "Impossible de trouver le fichier d'image : %s"
+msgstr "Impossible de trouver le fichier d'image : %s"
#: driver/demo-Gtk-support.c:130
#, c-format
msgid "Error loading pixmap file: %s"
-msgstr "Erreur lors du chargement du fichier d'image : %s"
+msgstr "Erreur lors du chargement du fichier d'image : %s"
#: driver/demo-Gtk-widgets.c:155 driver/xscreensaver-demo.glade.h:89
#: driver/xscreensaver-demo.glade2.h:43
#: driver/demo-Gtk-widgets.c:196 driver/xscreensaver-demo.glade.h:93
#: driver/xscreensaver-demo.glade2.h:48
msgid "_Blank Screen Now"
-msgstr "_Économiser l'écran maintenant"
+msgstr "_Economiser l'écran maintenant"
#: driver/demo-Gtk-widgets.c:205 driver/xscreensaver-demo.glade.h:2
msgid ""
"Activate the XScreenSaver daemon now (locking the screen if so configured.)"
-msgstr ""
+msgstr "Activer le démon XScreenSaver (blocage de l'écran si c'est configuré)."
#: driver/demo-Gtk-widgets.c:209 driver/xscreensaver-demo.glade.h:97
#: driver/xscreensaver-demo.glade2.h:58
msgid "_Lock Screen Now"
-msgstr "_Verrouiller l'écran maintenant"
+msgstr "_Verrouiller l'écran maintenant"
#: driver/demo-Gtk-widgets.c:218 driver/xscreensaver-demo.glade.h:51
msgid "Lock the screen now (even if \"Lock Screen\" is unchecked.)"
msgstr ""
+"Verrouille l'écran maintenant (même si \"Verrouiller l'écran\" n'est pas "
+"validé)."
#: driver/demo-Gtk-widgets.c:222 driver/xscreensaver-demo.glade.h:96
#: driver/xscreensaver-demo.glade2.h:56
msgid "_Kill Daemon"
-msgstr "_Tuer le demon"
+msgstr "_Tuer le démon"
#: driver/demo-Gtk-widgets.c:231 driver/xscreensaver-demo.glade.h:71
msgid "Tell the running XScreenSaver daemon to exit."
-msgstr ""
+msgstr "Demande au démon courant de XScreenSaver de se terminer."
#: driver/demo-Gtk-widgets.c:235 driver/xscreensaver-demo.glade.h:98
#: driver/xscreensaver-demo.glade2.h:64
msgid "_Restart Daemon"
-msgstr "_Redemarrer le demon"
+msgstr "_Redémarrer le démon"
#: driver/demo-Gtk-widgets.c:244 driver/xscreensaver-demo.glade.h:49
msgid "Kill and re-launch the XScreenSaver daemon."
-msgstr ""
+msgstr "Tue et re-lance le démon XScreenSaver."
#: driver/demo-Gtk-widgets.c:257 driver/xscreensaver-demo.glade.h:95
msgid "_Exit"
"Exit the xscreensaver-demo program (but leave the XScreenSaver daemon "
"running in the background.)"
msgstr ""
+"Sort du programme xscreensaver-demo (mais laisse le démon XScreenSaver actif "
+"en arrière-plan)."
#: driver/demo-Gtk-widgets.c:270 driver/xscreensaver-demo.glade2.h:55
msgid "_Help"
#: driver/demo-Gtk-widgets.c:290 driver/xscreensaver-demo.glade.h:92
#: driver/xscreensaver-demo.glade2.h:44
msgid "_About..."
-msgstr "À _propos..."
+msgstr "A _propos..."
#: driver/demo-Gtk-widgets.c:299 driver/xscreensaver-demo.glade.h:30
msgid "Display version information."
-msgstr ""
+msgstr "Affiche les informations de version"
#: driver/demo-Gtk-widgets.c:303 driver/xscreensaver-demo.glade.h:94
#: driver/xscreensaver-demo.glade2.h:53
#: driver/demo-Gtk-widgets.c:312 driver/xscreensaver-demo.glade.h:38
msgid "Go to the documentation on the XScreenSaver web page."
-msgstr ""
+msgstr "Visite la page web de documentation de XScreenSaver."
#: driver/demo-Gtk-widgets.c:342 driver/xscreensaver-demo.glade.h:18
-#, fuzzy
msgid "Cycle After"
-msgstr "Eau claire"
+msgstr "Changement au bout de"
#: driver/demo-Gtk-widgets.c:364 driver/xscreensaver-demo.glade.h:78
#: driver/xscreensaver-demo.glade2.h:42
msgid "Whether a password should be required to un-blank the screen."
-msgstr ""
+msgstr "Un mot de passe est-il requis pour débloquer l'écran."
#: driver/demo-Gtk-widgets.c:366 driver/xscreensaver-demo.glade.h:50
msgid "Lock Screen After"
-msgstr ""
+msgstr "Verrouiller l'écran après"
#: driver/demo-Gtk-widgets.c:374 driver/xscreensaver-demo.glade.h:8
-#, fuzzy
msgid "Blank After"
-msgstr "Explosion"
+msgstr "Économiser l'écran après"
#: driver/demo-Gtk-widgets.c:397 driver/demo-Gtk-widgets.c:447
#: driver/demo-Gtk-widgets.c:461 driver/demo-Gtk-widgets.c:1010
#: driver/xscreensaver-demo.glade.h:43 driver/xscreensaver-demo.glade2.h:26
msgid "How long before the monitor goes completely black."
-msgstr ""
+msgstr "Durée avant que le moniteur passe complètement au noir."
#: driver/demo-Gtk-widgets.c:401 driver/demo-Gtk-widgets.c:413
#: driver/demo-Gtk-widgets.c:425 driver/demo-Gtk-widgets.c:1014
#: driver/demo-Gtk-widgets.c:476 driver/demo-Gtk.c:2661
#: driver/xscreensaver-demo.glade.h:58
msgid "Preview"
-msgstr ""
+msgstr "Aperçu"
#: driver/demo-Gtk-widgets.c:484 driver/xscreensaver-demo.glade.h:21
msgid ""
"Demo the selected screen saver in full-screen mode (click the mouse to "
"return.)"
msgstr ""
+"Démo de l'économiseur d'écran sélectionné en mode plein-écran (cliquer avec "
+"la souris pour en sortir.)"
#: driver/demo-Gtk-widgets.c:486 driver/xscreensaver-demo.glade.h:65
msgid "Settings..."
-msgstr "Reglages..."
+msgstr "Réglages..."
#: driver/demo-Gtk-widgets.c:494 driver/xscreensaver-demo.glade.h:17
msgid "Customization and explanation of the selected screen saver."
-msgstr ""
+msgstr "Configuration et explications pour l'économiseur d'écran sélectionné."
#: driver/demo-Gtk-widgets.c:515 driver/xscreensaver-demo.glade.h:52
msgid "Mode:"
-msgstr "Mode :"
+msgstr "Mode :"
#: driver/demo-Gtk-widgets.c:533 driver/xscreensaver-demo.glade.h:25
#: driver/xscreensaver-demo.glade2.h:14
msgid "Disable Screen Saver"
-msgstr "Désactiver l'économiseur d'acran"
+msgstr "Désactiver l'économiseur d'écran"
#: driver/demo-Gtk-widgets.c:536 driver/xscreensaver-demo.glade.h:9
#: driver/xscreensaver-demo.glade2.h:5
msgid "Blank Screen Only"
-msgstr ""
+msgstr "Économiser l'écran uniquement"
#: driver/demo-Gtk-widgets.c:539 driver/xscreensaver-demo.glade.h:56
#: driver/xscreensaver-demo.glade2.h:32
msgid "Only One Screen Saver"
-msgstr "Seulement un économiseur d'écran"
+msgstr "Seulement un économiseur d'écran"
#: driver/demo-Gtk-widgets.c:542 driver/xscreensaver-demo.glade.h:60
#: driver/xscreensaver-demo.glade2.h:35
msgid "Random Screen Saver"
-msgstr "Économiseur d'écran aléatoire"
+msgstr "Économiseur d'écran aléatoire"
#: driver/demo-Gtk-widgets.c:565 driver/demo-Gtk.c:2034
#: driver/xscreensaver-demo.glade.h:75
msgid "Use"
-msgstr ""
+msgstr "Choisis"
#: driver/demo-Gtk-widgets.c:585 driver/demo-Gtk.c:2044
#: driver/xscreensaver-demo.glade.h:63
msgid "Screen Saver"
-msgstr "Économiseur d'écran"
+msgstr "Économiseur d'écran"
#: driver/demo-Gtk-widgets.c:638 driver/xscreensaver-demo.glade.h:91
msgid "\\/"
"Run the next screen saver in the list in full-screen mode (click the mouse "
"to return.)"
msgstr ""
+"Lance l'économiseur d'écran suivant dans la liste en mode plein-écran "
+"(cliquer la souris pour revenir.)"
#: driver/demo-Gtk-widgets.c:648
msgid "/\\"
"Run the previous screen saver in the list in full-screen mode (click the "
"mouse to return.)"
msgstr ""
+"Lance l'économiseur d'écran précédent dans la liste en mode plein-écran "
+"(cliquer la souris pour revenir.)"
#: driver/demo-Gtk-widgets.c:658 driver/demo-Gtk-widgets.c:1601
#: driver/xscreensaver-demo.glade.h:22 driver/xscreensaver-demo.glade2.h:11
#: driver/demo-Gtk-widgets.c:701 driver/xscreensaver-demo.glade.h:23
#: driver/xscreensaver-demo.glade2.h:12
msgid "Diagnostics"
-msgstr "Diagnostics"
+msgstr "Diagnostiques"
#: driver/demo-Gtk-widgets.c:745 driver/xscreensaver-demo.glade.h:80
msgid "Whether the daemon should print lots of debugging information."
-msgstr ""
+msgstr "Le démon doit-il afficher beaucoup d'informations de mise au point."
#: driver/demo-Gtk-widgets.c:747 driver/xscreensaver-demo.glade.h:76
msgid "Verbose Diagnostics"
-msgstr ""
+msgstr "Diagnostiques verbeux"
#: driver/demo-Gtk-widgets.c:762 driver/xscreensaver-demo.glade.h:79
msgid ""
"Whether any error output of the display modes should be redirected to the "
"screen."
msgstr ""
+"Les messages d'erreur des modes d'affichages doivent-ils être redirigés vers "
+"l'écran."
#: driver/demo-Gtk-widgets.c:764 driver/xscreensaver-demo.glade.h:29
-#, fuzzy
msgid "Display Subprocess Errors"
-msgstr "Afficher le viseur"
+msgstr "Afficher les erreurs des sous-processus"
#: driver/demo-Gtk-widgets.c:779 driver/xscreensaver-demo.glade.h:87
msgid ""
"Whether the splash screen (with the version number and `Help' button) should "
"be momentarily displayed when the daemon first starts up."
msgstr ""
+"L'écran de démarrage (avec le numéro de version et le bouton 'Aide') doit-il "
+"être affiché momentanément au premier démarrage du démon."
#: driver/demo-Gtk-widgets.c:781 driver/xscreensaver-demo.glade.h:28
msgid "Display Splash Screen at Startup"
-msgstr ""
+msgstr "Afficher l'écran de démarrage"
#: driver/demo-Gtk-widgets.c:790 driver/xscreensaver-demo.glade.h:15
#: driver/xscreensaver-demo.glade2.h:8
msgid "Colormaps"
-msgstr "Palette de couleurs"
+msgstr "Palettes de couleurs"
#: driver/demo-Gtk-widgets.c:834 driver/xscreensaver-demo.glade.h:88
msgid ""
"Whether to install a private colormap when running in 8-bit mode on the "
"default Visual."
msgstr ""
+"Faut-il installer une palette de couleurs privée en mode 8-bits pour le "
+"visuel par défaut"
#: driver/demo-Gtk-widgets.c:836 driver/xscreensaver-demo.glade.h:48
msgid "Install Colormap"
-msgstr ""
+msgstr "Installer une palette de couleur"
#: driver/demo-Gtk-widgets.c:859 driver/xscreensaver-demo.glade.h:86
msgid ""
"Whether the screen should slowly fade to black when the screen saver "
"activates."
msgstr ""
+"L'écran doit-il fondre lentement au noir quand l'économiseur d'écran s'active"
#: driver/demo-Gtk-widgets.c:861 driver/xscreensaver-demo.glade.h:36
msgid "Fade To Black When Blanking"
-msgstr ""
+msgstr "Fondu au noir lors du verrouillage"
#: driver/demo-Gtk-widgets.c:876 driver/xscreensaver-demo.glade.h:85
msgid ""
"Whether the screen should slowly fade in from black when the screen saver "
"deactivates."
msgstr ""
+"L'écran doit-il fondre lentement depuis le noir quand l'économiseur d'écran "
+"se désactive"
#: driver/demo-Gtk-widgets.c:878 driver/xscreensaver-demo.glade.h:35
msgid "Fade From Black When Unblanking"
-msgstr ""
+msgstr "Fondu depuis le noir lors du dé-verrouillage"
#: driver/demo-Gtk-widgets.c:904 driver/xscreensaver-demo.glade.h:34
msgid "Fade Duration"
-msgstr "Durée du fondu"
+msgstr "Durée du fondu"
#: driver/demo-Gtk-widgets.c:922 driver/xscreensaver-demo.glade.h:44
msgid "How long it should take for the screen to fade in and out."
-msgstr ""
+msgstr "Combien de temps doivent durer les fondus avec le noir."
#: driver/demo-Gtk-widgets.c:926 driver/xscreensaver-demo.glade.h:100
#: driver/xscreensaver-demo.glade2.h:73
#: driver/demo-Gtk-widgets.c:936 driver/xscreensaver-demo.glade.h:27
#: driver/xscreensaver-demo.glade2.h:15
msgid "Display Power Management"
-msgstr ""
+msgstr "Gestion d'alimentation de l'écran"
#: driver/demo-Gtk-widgets.c:980 driver/xscreensaver-demo.glade.h:84
msgid "Whether the monitor should be powered down after a while."
-msgstr ""
+msgstr "Le moniteur doit-il passer en économie d'énergie au bout d'un moment."
#: driver/demo-Gtk-widgets.c:982 driver/xscreensaver-demo.glade.h:57
msgid "Power Management Enabled"
-msgstr ""
+msgstr "Gestion d'alimentation de l'écran autorisée"
#: driver/demo-Gtk-widgets.c:1050 driver/xscreensaver-demo.glade.h:55
msgid "Off After"
-msgstr ""
+msgstr "Extinction après"
#: driver/demo-Gtk-widgets.c:1063 driver/xscreensaver-demo.glade.h:70
msgid "Suspend After"
-msgstr ""
+msgstr "Suspension après"
#: driver/demo-Gtk-widgets.c:1076 driver/xscreensaver-demo.glade.h:68
msgid "Standby After"
-msgstr ""
+msgstr "En attente après"
#: driver/demo-Gtk-widgets.c:1099 driver/xscreensaver-demo.glade.h:45
msgid "How long until the monitor goes into power-saving mode."
-msgstr ""
+msgstr "Durée avant que le moniteur passe en mode d'économie d'énergie."
#: driver/demo-Gtk-widgets.c:1113 driver/xscreensaver-demo.glade.h:46
msgid "How long until the monitor powers down."
-msgstr ""
+msgstr "Durée avant que le moniteur coupe l'alimentation."
#: driver/demo-Gtk-widgets.c:1117 driver/xscreensaver-demo.glade.h:47
#: driver/xscreensaver-demo.glade2.h:27
msgid "Image Manipulation"
-msgstr ""
+msgstr "Manipulation d'images"
#: driver/demo-Gtk-widgets.c:1161 driver/xscreensaver-demo.glade.h:81
msgid ""
"Whether the image-manipulating modes should be allowed to operate on an "
"image of your desktop."
msgstr ""
+"Les modes qui manipulent des images sont-ils autorisé à utiliser une image "
+"de votre bureau."
#: driver/demo-Gtk-widgets.c:1163 driver/xscreensaver-demo.glade.h:39
-#, fuzzy
msgid "Grab Desktop Images"
-msgstr "Capturer l'écran"
+msgstr "Capturer l'image du bureau"
#: driver/demo-Gtk-widgets.c:1178 driver/xscreensaver-demo.glade.h:82
msgid ""
"Whether the image-manipulating modes should operate on images captured from "
"the system's video input (if there is one)."
msgstr ""
+"Les modes qui manipulent des images sont-ils autorisé à utiliser des images "
+"capturées par l'entrée vidéo du système (si il y en a une)."
#: driver/demo-Gtk-widgets.c:1180 driver/xscreensaver-demo.glade.h:40
msgid "Grab Video Frames"
-msgstr ""
+msgstr "Capturer des trames vidéo"
#: driver/demo-Gtk-widgets.c:1195 driver/xscreensaver-demo.glade.h:83
msgid ""
"Whether the image-manipulating modes should operate on random images loaded "
"from disk."
msgstr ""
+"Les modes qui manipulent des images sont-ils autorisé à utiliser des images "
+"chargées aléatoirement depuis le disque."
#: driver/demo-Gtk-widgets.c:1197 driver/xscreensaver-demo.glade.h:12
msgid "Choose Random Image:"
-msgstr ""
+msgstr "Choisir une image aléatoire :"
#: driver/demo-Gtk-widgets.c:1230 driver/xscreensaver-demo.glade.h:73
msgid "The directory from which images will be randomly chosen."
-msgstr ""
+msgstr "Répertoire source des images aléatoires."
#: driver/demo-Gtk-widgets.c:1232 driver/xscreensaver-demo.glade.h:10
msgid "Browse"
#: driver/demo-Gtk-widgets.c:1240 driver/demo-Gtk-widgets.c:1593
#: driver/xscreensaver-demo.glade.h:3 driver/xscreensaver-demo.glade2.h:2
msgid "Advanced"
-msgstr "Avancée"
+msgstr "Avancé"
#: driver/demo-Gtk-widgets.c:1438 driver/xscreensaver-demo.glade.h:90
msgid "XScreenSaver: Mode-Specific Settings"
-msgstr ""
+msgstr "XScreenSaver: réglages spécifiques au mode"
#: driver/demo-Gtk-widgets.c:1460 driver/xscreensaver-demo.glade.h:64
#: driver/xscreensaver-demo.glade2.h:36
msgid "Settings"
-msgstr "Réglages"
+msgstr "Réglages"
#: driver/demo-Gtk-widgets.c:1489 driver/xscreensaver-demo.glade.h:66
#: driver/xscreensaver-demo.glade2.h:38
#: driver/demo-Gtk-widgets.c:1526 driver/xscreensaver-demo.glade.h:77
msgid "Visual:"
-msgstr "Visuel :"
+msgstr "Visuel :"
#: driver/demo-Gtk-widgets.c:1544 driver/demo-Gtk-widgets.c:1567
#: driver/demo-Gtk.c:1479 driver/demo-Gtk.c:2680
#: driver/xscreensaver-demo.glade.h:5 driver/xscreensaver-demo.glade2.h:3
-#, fuzzy
msgid "Any"
-msgstr "Fourmis"
+msgstr "Tous"
#: driver/demo-Gtk-widgets.c:1545 driver/xscreensaver-demo.glade.h:7
#: driver/xscreensaver-demo.glade2.h:4
msgid "Best"
-msgstr ""
+msgstr "Le meilleur"
#: driver/demo-Gtk-widgets.c:1546 driver/xscreensaver-demo.glade.h:19
#: driver/xscreensaver-demo.glade2.h:9
msgid "Default"
-msgstr ""
+msgstr "Par défaut"
#: driver/demo-Gtk-widgets.c:1547 driver/xscreensaver-demo.glade.h:20
#: driver/xscreensaver-demo.glade2.h:10
msgid "Default-N"
-msgstr ""
+msgstr "Défault-N"
#: driver/demo-Gtk-widgets.c:1548 driver/xscreensaver-demo.glade.h:37
#: driver/xscreensaver-demo.glade2.h:21
msgid "GL"
-msgstr ""
+msgstr "OpenGL"
#: driver/demo-Gtk-widgets.c:1549 driver/xscreensaver-demo.glade.h:74
#: driver/xscreensaver-demo.glade2.h:41
msgid "TrueColor"
-msgstr "Couleurs réelles"
+msgstr "Couleurs vraies"
#: driver/demo-Gtk-widgets.c:1550 driver/xscreensaver-demo.glade.h:59
#: driver/xscreensaver-demo.glade2.h:34
#: driver/demo-Gtk-widgets.c:1551 driver/xscreensaver-demo.glade.h:69
#: driver/xscreensaver-demo.glade2.h:39
-#, fuzzy
msgid "StaticGray"
-msgstr "Escaliers"
+msgstr "StaticGray"
#: driver/demo-Gtk-widgets.c:1552 driver/xscreensaver-demo.glade.h:42
#: driver/xscreensaver-demo.glade2.h:25
#: driver/demo-Gtk-widgets.c:1553 driver/xscreensaver-demo.glade.h:24
#: driver/xscreensaver-demo.glade2.h:13
-#, fuzzy
msgid "DirectColor"
-msgstr "Répertoire d'images"
+msgstr "Couleurs directes"
#: driver/demo-Gtk-widgets.c:1554 driver/xscreensaver-demo.glade.h:14
#: driver/xscreensaver-demo.glade2.h:7
#: driver/demo-Gtk-widgets.c:1556 driver/xscreensaver-demo.glade.h:53
#: driver/xscreensaver-demo.glade2.h:29
msgid "Mono"
-msgstr ""
+msgstr "Monochrome"
#: driver/demo-Gtk-widgets.c:1566 driver/xscreensaver-demo.glade.h:72
msgid ""
"The X visual type that this demo will require. If that visual is available "
"it will be used, otherwise, this demo will not be run."
msgstr ""
+"Le visuel X11 nécessaire pour cette démo. S'il est disponible il sera "
+"utilisé, sinon cette démo ne fonctionnera pas."
#: driver/demo-Gtk-widgets.c:1569 driver/xscreensaver-demo.glade.h:16
msgid "Command Line:"
-msgstr ""
+msgstr "Ligne de commande :"
#: driver/demo-Gtk-widgets.c:1641 driver/xscreensaver-demo.glade.h:31
msgid "Documentation..."
-msgstr ""
+msgstr "Documentation..."
#: driver/demo-Gtk-widgets.c:1649 driver/xscreensaver-demo.glade.h:13
msgid "Click here to read the manual for this display mode, if it has one."
msgstr ""
+"Cliquer ici pour lire le manuel de ce mode d'affichage, s'il en possède un."
#: driver/demo-Gtk-widgets.c:1674 driver/xscreensaver-demo.glade.h:4
msgid "Advanced >>"
-msgstr ""
+msgstr "Avancé >>"
#: driver/demo-Gtk-widgets.c:1682 driver/xscreensaver-demo.glade.h:32
msgid "Edit the command line directly."
-msgstr ""
+msgstr "Editer directement la ligne de commande."
#: driver/demo-Gtk-widgets.c:1684 driver/xscreensaver-demo.glade.h:67
msgid "Standard <<"
-msgstr ""
+msgstr "Standard <<"
#: driver/demo-Gtk-widgets.c:1692 driver/xscreensaver-demo.glade.h:6
msgid "Back to the graphical configuration options."
-msgstr ""
+msgstr "Retour aux options de configuration graphique."
#: driver/demo-Gtk-widgets.c:1703 driver/demo-Gtk.c:688
#: driver/xscreensaver-demo.glade.h:54
#: driver/demo-Gtk.c:601
msgid "For updates, check http://www.jwz.org/xscreensaver/"
msgstr ""
+"Pour les mises à jour, voir «http://www.jwz.org/xscreensaver/»\n"
+"Traductions par Eric Lassauge «http://lassauge.free.fr/xscreensaver/»"
#: driver/demo-Gtk.c:608
#, c-format
#: driver/demo-Gtk.c:610
#, c-format
-msgid "Copyright 1991-2002 %s"
+msgid "Copyright © 1991-2002 %s"
msgstr ""
#: driver/demo-Gtk.c:726
"\n"
"No Help URL has been specified.\n"
msgstr ""
+"Erreur :\n"
+"\n"
+"Aucune URL d'aide spécifiée.\n"
#: driver/demo-Gtk.c:812
msgid ""
"The xscreensaver daemon did not start up properly.\n"
"\n"
msgstr ""
+"Erreur :\n"
+"\n"
+"Le démon xscreensaver ne démarre pas correctement.\n"
#: driver/demo-Gtk.c:818
msgid ""
"You shouldn't run X as root. Instead, you should log in as a\n"
"normal user, and `su' as necessary."
msgstr ""
+"Vous lancez ce programme en temps qu'administrateur. Ceci signifie\n"
+"que xscreensaver est incapable de contacter le serveur X car le\n"
+"contrôle d'accès est actif. Essayez de lancer cette commande :\n"
+"\n"
+" xhost +localhost\n"
+"\n"
+"puis sélectionnez 'Fichier / Relancer le démon'.\n"
+"\n"
+"Notez bien que inactiver le contrôle d'accès permettra à quiconque\n"
+"connecté à cette machine d'accéder à votre écran, ce qui peut être\n"
+"considéré comme un problème de sécurité. Lisez le manuel et la FAQ\n"
+"de xscreensaver pour plus d'information.\n"
+"\n"
+"Vous ne devriez pas lancer X en tant qu'administrateur. En lieu et\n"
+"place il faut se connecter en tant qu'utilisateur normal et utiliser\n"
+"'su' si nécessaire."
#: driver/demo-Gtk.c:834
msgid "Please check your $PATH and permissions."
-msgstr ""
+msgstr "Vérifiez votre $PATH et les permissions."
#: driver/demo-Gtk.c:869
msgid ""
"\n"
"Couldn't determine init file name!\n"
msgstr ""
+"Erreur :\n"
+"\n"
+"Impossible de déterminer le nom du fichier d'init !\n"
#: driver/demo-Gtk.c:874
#, c-format
"\n"
"Couldn't write %s\n"
msgstr ""
+"Erreur :\n"
+"\n"
+"Impossible d'écrire dans %s.\n"
#: driver/demo-Gtk.c:933
msgid ""
"\n"
"no `manualCommand' resource set."
msgstr ""
+"Erreur :\n"
+"\n"
+"La ressource «manualCommand» n'est pas renseignée."
#: driver/demo-Gtk.c:1114
#, c-format
"\n"
"Unparsable time format: \"%s\"\n"
msgstr ""
+"Erreur :\n"
+"\n"
+"Le format «%s» pour l'heure n'est pas exploitable.\n"
#: driver/demo-Gtk.c:1779
#, c-format
"\n"
"Directory does not exist: \"%s\"\n"
msgstr ""
+"Erreur :\n"
+"\n"
+"Répertoire «%s» inexistant.\n"
#: driver/demo-Gtk.c:2376
msgid "Descriptions not available: no XML support compiled in."
-msgstr ""
+msgstr "Descriptions indisponibles: pas de support XML compilé."
#: driver/demo-Gtk.c:2381
msgid "No description available."
msgstr "Aucune description disponible."
#: driver/demo-Gtk.c:2632
-#, fuzzy
msgid "Blank Screen"
-msgstr "Capturer l'écran"
+msgstr "Verrouiller l'écran"
#: driver/demo-Gtk.c:2638
msgid "Screen Saver Disabled"
-msgstr "Économiseur d'écran désactivé"
+msgstr "Économiseur d'écran inhibé"
#: driver/demo-Gtk.c:2798
#, c-format
"\n"
"file \"%s\" has changed, reloading.\n"
msgstr ""
+"Attention :\n"
+"\n"
+"Le fichier \"%s\" a changé, rechargement.\n"
#: driver/demo-Gtk.c:2875
msgid "No Preview"
-msgstr ""
+msgstr "Pas d'aperçu"
#: driver/demo-Gtk.c:2875
msgid "Available"
-msgstr ""
+msgstr "Disponible"
#: driver/demo-Gtk.c:3543
#, c-format
"The XScreenSaver daemon doesn't seem to be running\n"
"on display \"%s\". Launch it now?"
msgstr ""
+"Attention :\n"
+"\n"
+"Le démon XScreenSaver n'est pas actif pour l'écran \"%s\". Lancement "
+"maintenant ?"
#: driver/demo-Gtk.c:3553
#, c-format
#: driver/demo-Gtk.c:3999
#, c-format
msgid "%s: unknown option: %s\n"
-msgstr ""
+msgstr "%s: option inconnue: «%s»\n"
#: driver/screensaver-properties.desktop.in.h:1
msgid "Configure the settings of the screensaver."
-msgstr "Configurer l'économiseur d'écran"
+msgstr "Configurer les paramètres de l'économiseur d'écran"
#: driver/screensaver-properties.desktop.in.h:2
msgid "Screensaver"
-msgstr "Économiseur d'écran"
+msgstr "Économiseur d'écran"
#: driver/xscreensaver-demo.glade.h:1
msgid "/\");"
#: driver/xscreensaver-demo.glade2.h:6
msgid "Choose _Random Image:"
-msgstr ""
+msgstr "Choisir une image _Aléatoire :"
#: driver/xscreensaver-demo.glade2.h:16
-#, fuzzy
msgid "Display Subprocess _Errors"
-msgstr "Afficher le viseur"
+msgstr "Afficher les erreurs des sous-process"
#: driver/xscreensaver-demo.glade2.h:17
msgid "Display _Splash Screen at Startup"
-msgstr ""
+msgstr "Afficher l'écran de _Démarrage"
#: driver/xscreensaver-demo.glade2.h:18
msgid "F_ade Duration"
-msgstr "_Durée du fondu"
+msgstr "Durée du _fondu"
#: driver/xscreensaver-demo.glade2.h:19
msgid "Fade from Black When _Unblanking"
-msgstr ""
+msgstr "Fondu depuis le noir lors du dé-verrouillage"
#: driver/xscreensaver-demo.glade2.h:20
msgid "Fade to Black when _Blanking"
-msgstr ""
+msgstr "Fondu au noir lors du _verrouillage"
#: driver/xscreensaver-demo.glade2.h:22
-#, fuzzy
msgid "Grab Desktop _Images"
-msgstr "Capturer l'écran"
+msgstr "Capturer des _images du bureau"
#: driver/xscreensaver-demo.glade2.h:23
msgid "Grab _Video Frames"
-msgstr ""
+msgstr "Captures des trames _vidéo"
#: driver/xscreensaver-demo.glade2.h:28
msgid "Install _Colormap"
-msgstr ""
+msgstr "Installer la palette de _couleurs"
#: driver/xscreensaver-demo.glade2.h:30
msgid ""
"No Preview\n"
"Available"
msgstr ""
+"Pas d'aperçu\n"
+"Disponible"
#: driver/xscreensaver-demo.glade2.h:33
msgid "Preview of screen saver"
-msgstr ""
+msgstr "Aperçu de l'économiseur d'écran"
#: driver/xscreensaver-demo.glade2.h:37
msgid "Stand_by After"
-msgstr ""
+msgstr "Blo_cage après"
#: driver/xscreensaver-demo.glade2.h:40
msgid "Sus_pend After"
-msgstr ""
+msgstr "Sus_pend après"
#: driver/xscreensaver-demo.glade2.h:45
msgid "_Advanced"
-msgstr "_Avancée"
+msgstr "_Avancé"
#: driver/xscreensaver-demo.glade2.h:46
msgid "_Advanced >>"
-msgstr "_Avancée >>"
+msgstr "_Avancé >>"
#: driver/xscreensaver-demo.glade2.h:47
-#, fuzzy
msgid "_Blank After"
-msgstr "Explosion"
+msgstr "_Verrouillage après"
#: driver/xscreensaver-demo.glade2.h:49
msgid "_Browse"
#: driver/xscreensaver-demo.glade2.h:50
msgid "_Command Line:"
-msgstr "_Ligne de commande :"
+msgstr "_Ligne de commande :"
#: driver/xscreensaver-demo.glade2.h:51
-#, fuzzy
msgid "_Cycle After"
-msgstr "Eau claire"
+msgstr "_Changement au bout de"
#: driver/xscreensaver-demo.glade2.h:52
msgid "_Display Modes"
#: driver/xscreensaver-demo.glade2.h:57
msgid "_Lock Screen After"
-msgstr ""
+msgstr "_Verrouillage de l'écran après"
#: driver/xscreensaver-demo.glade2.h:59
msgid "_Mode:"
-msgstr ""
+msgstr "_Mode :"
#: driver/xscreensaver-demo.glade2.h:60
msgid "_Off After"
-msgstr ""
+msgstr "Coup_ure après"
#: driver/xscreensaver-demo.glade2.h:61
msgid "_Power Management Enabled"
-msgstr ""
+msgstr "_Gestion d'alimentation de l'écran"
#: driver/xscreensaver-demo.glade2.h:62
msgid "_Preview"
-msgstr ""
+msgstr "_Aperçu"
#: driver/xscreensaver-demo.glade2.h:63
msgid "_Quit"
-msgstr ""
+msgstr "_Quitte"
#: driver/xscreensaver-demo.glade2.h:65
msgid "_Settings..."
-msgstr ""
+msgstr "_Paramètres..."
#: driver/xscreensaver-demo.glade2.h:66
msgid "_Standard <<"
-msgstr ""
+msgstr "_Standard <<"
#: driver/xscreensaver-demo.glade2.h:67
+#, fuzzy
msgid "_Verbose Dialognostics"
-msgstr ""
+msgstr "Diagnostiques _verbeux"
#: driver/xscreensaver-demo.glade2.h:68
msgid "_Visual:"
-msgstr ""
+msgstr "_Visuels :"
#: driver/xscreensaver-demo.glade2.h:69
msgid "dialog1"
#: driver/xscreensaver-demo.glade2.h:71
msgid "no preview"
-msgstr "pas d'aperçu"
+msgstr "pas d'aperçu"
#: driver/xscreensaver-demo.glade2.h:72
msgid "preview"
-msgstr "aperçu"
+msgstr "aperçu"
#: hacks/config/anemone.xml.h:1
-#, fuzzy
msgid "Anemone"
-msgstr "Démon"
+msgstr "Anémone"
#: hacks/config/anemone.xml.h:2
msgid "Arms"
-msgstr ""
+msgstr "Bras"
#: hacks/config/anemone.xml.h:3 hacks/config/ant.xml.h:5
#: hacks/config/apollonian.xml.h:5 hacks/config/atlantis.xml.h:4
#: hacks/config/xmatrix.xml.h:14 hacks/config/xmountains.xml.h:4
#: hacks/config/xrayswarm.xml.h:3 hacks/config/zoom.xml.h:6
msgid "Slow"
-msgstr "Lente"
+msgstr "Lent(e)"
#: hacks/config/anemone.xml.h:8 hacks/config/ant.xml.h:16
#: hacks/config/apollonian.xml.h:12 hacks/config/attraction.xml.h:28
#: hacks/config/anemone.xml.h:9
msgid "Tentacles"
-msgstr ""
+msgstr "Tentacules"
#: hacks/config/anemone.xml.h:10 hacks/config/deluxe.xml.h:10
#: hacks/config/lmorph.xml.h:13 hacks/config/starfish.xml.h:11
#: hacks/config/thornbird.xml.h:9
msgid "Thick"
-msgstr "Épais"
+msgstr "Épais"
#: hacks/config/anemone.xml.h:11 hacks/config/moire2.xml.h:8
#: hacks/config/thornbird.xml.h:10
msgid "Thickness"
-msgstr "Épaisseur"
+msgstr "Épaisseur"
#: hacks/config/anemone.xml.h:12 hacks/config/deluxe.xml.h:11
#: hacks/config/lmorph.xml.h:14 hacks/config/starfish.xml.h:12
"Written by David Bagley."
msgstr ""
"Un automate cellulaire qui est en fait une machine de Turing "
-"bidimensionnelle : à mesure que les têtes (''fourmis'') marchent le long de "
-"l'écran, elles changent la valeur des pixels sur leur chemin. Ensuite, leur "
-"comportement est influencé lorsqu'elles passent sur les pixels modifiés. "
-"Écrit par David Bagley."
+"bidimensionnelle: à mesure que les têtes («fourmis») marchent le long de "
+"l'écran, elles changent la valeur des pixels sur leur chemin. Ensuite, leur "
+"comportement est influencé lorsqu'elles passent sur les pixels modifié. àrit "
+"par David Bagley."
#: hacks/config/ant.xml.h:2
msgid "Ant"
#: hacks/config/ant.xml.h:6
msgid "Four Sided Cells"
-msgstr "Cellules à 4 côtés"
+msgstr "Cellules à 4 côtés"
#: hacks/config/ant.xml.h:7 hacks/config/attraction.xml.h:13
#: hacks/config/cubenetic.xml.h:11 hacks/config/demon.xml.h:5
#: hacks/config/rubik.xml.h:4 hacks/config/sierpinski.xml.h:3
#: hacks/config/slip.xml.h:3
msgid "Large"
-msgstr "Importante"
+msgstr "Important(e)"
#: hacks/config/ant.xml.h:9
msgid "Nine Sided Cells"
-msgstr "Cellules à 9 côtés"
+msgstr "Cellules à 8 côtés"
#: hacks/config/ant.xml.h:11
msgid "Random Cell Shape"
-msgstr "Forme de cellule aléatoire"
+msgstr "Forme de cellule aléatoire"
#: hacks/config/ant.xml.h:12 hacks/config/speedmine.xml.h:11
msgid "Sharp Turns"
-msgstr "Virages serrés"
+msgstr "Virages serrés"
#: hacks/config/ant.xml.h:13
msgid "Six Sided Cells"
-msgstr "Cellules à 6 côtés"
+msgstr "Cellules à 6 côtés"
#: hacks/config/ant.xml.h:15 hacks/config/attraction.xml.h:27
#: hacks/config/cubenetic.xml.h:23 hacks/config/demon.xml.h:9
#: hacks/config/ant.xml.h:17
msgid "Three Sided Cells"
-msgstr "Cellules à 3 côtés"
+msgstr "Cellules à 3 côtés"
#: hacks/config/ant.xml.h:18 hacks/config/demon.xml.h:12
#: hacks/config/discrete.xml.h:10 hacks/config/fadeplot.xml.h:11
#: hacks/config/rubik.xml.h:12 hacks/config/sierpinski.xml.h:11
#: hacks/config/slip.xml.h:11
msgid "Timeout"
-msgstr "Délai"
+msgstr "Délai"
#: hacks/config/ant.xml.h:19
msgid "Truchet Lines"
#: hacks/config/ant.xml.h:20
msgid "Twelve Sided Cells"
-msgstr "Cellules à 12 côtés"
+msgstr "Cellules à 12 côtés"
#: hacks/config/apollonian.xml.h:1
msgid "Apollonian"
#: hacks/config/apollonian.xml.h:4
msgid "Draw Labels"
-msgstr "Dessiner des étiquettes"
+msgstr "Afficher les étiquettes"
#: hacks/config/apollonian.xml.h:6
msgid "Include Alternate Geometries"
-msgstr "Inclure les géométries alternatives"
+msgstr "Inclure les géométries alternatives"
#: hacks/config/apollonian.xml.h:9
msgid ""
"Packs a large circle with smaller circles, demonstrating the Descartes "
"Circle Theorem. Written by Allan R. Wilks and David Bagley."
msgstr ""
-"Remplit un grand cercle de cercles plus petits et démontre ainsi le théorème "
-"des cercles de Descartes. Écrit par Allan R. Wilks et David Bagley."
+"Remplit un grand cercle de cercles plus petits et démontre ainsi le théoràme "
+"des cercles de Descartes. Écrit par Allan R. Wilks et David Bagley."
#: hacks/config/apollonian.xml.h:10
-#, fuzzy
msgid "Shallow"
msgstr "Creux"
#: hacks/config/atlantis.xml.h:5
msgid "Flat Background"
-msgstr "Arrière-plan plat"
+msgstr "Arrière-plan uni"
#: hacks/config/atlantis.xml.h:6
msgid "Gradient Background"
-msgstr "Arrière-plan dégradé"
+msgstr "Arrière-plan dégradé"
#: hacks/config/atlantis.xml.h:7
msgid "Number of Sharks"
#: hacks/config/atlantis.xml.h:8
msgid "Shark Proximity"
-msgstr "Proximité des requins"
+msgstr "Comportement des requins"
#: hacks/config/atlantis.xml.h:9
msgid "Shark Speed"
#: hacks/config/sproingies.xml.h:4 hacks/config/stairs.xml.h:2
#: hacks/config/starwars.xml.h:11 hacks/config/superquadrics.xml.h:6
msgid "Show Frames-per-Second"
-msgstr "Afficher images par seconde"
+msgstr "Afficher images par seconde (FPS)"
#: hacks/config/atlantis.xml.h:12
msgid "Shy"
"dolphins, and whales. The swimming motions are great. Originally written by "
"Mark Kilgard."
msgstr ""
-"Voici un aquarium grand format : une animation GL avec des requins, des "
+"Voici un aquarium grand format: une animation GL avec des requins, des "
"dauphins et des baleines. Les mouvements de nage sont magnifiques. "
-"Initialement écrit par Mark Kilgard."
+"Initialement écrit par Mark Kilgard."
#: hacks/config/atlantis.xml.h:16
msgid "Whale Speed"
#: hacks/config/attraction.xml.h:3
msgid "Ball Mass"
-msgstr "Masse de balles"
+msgstr "Masse des balles"
#: hacks/config/attraction.xml.h:4 hacks/config/fluidballs.xml.h:2
msgid "Balls"
#: hacks/config/attraction.xml.h:7
msgid "Environmental Viscosity"
-msgstr "Viscosité environnementale"
+msgstr "Viscosité environnementale"
#: hacks/config/attraction.xml.h:9
msgid "Filled Splines"
#: hacks/config/t3d.xml.h:7 hacks/config/twang.xml.h:5
#: hacks/config/wander.xml.h:8
msgid "High"
-msgstr "Haute"
+msgstr "Haut(e)"
#: hacks/config/attraction.xml.h:11
msgid "Ignore Screen Edges"
-msgstr "Ignorer les bords de l'écran"
+msgstr "Ignorer les bords de l'écran"
#: hacks/config/attraction.xml.h:12
msgid "Inward"
-msgstr "Intérieur"
+msgstr "Intérieur"
#: hacks/config/attraction.xml.h:14
msgid ""
"edge of the screen. It looks quite chaotic. Written by Jamie Zawinski, based "
"on Lisp code by John Pezaris."
msgstr ""
-"Comme qix, il utilise un modèle de mouvement simple pour générer de nombreux "
-"modes d'affichage différents. Les points de contrôle s'attirent jusqu'à une "
-"certaine distance, puis commencent à se repousser. Le rapport d'attraction/"
-"répulsion est proportionnel à la distance entre deux particules, à l'instar "
-"des forces nucléaires fortes et faibles. Il est particulièrement intéressant "
+"Comme qix, il utilise un modèle de mouvement simple pour générer de nombreux "
+"modes d'affichage différents. Les points de contrôle s'attirent jusqu'à une "
+"certaine distance, puis commencent à se repousser. Le rapport d'attraction/"
+"répulsion est proportionnel à la distance entre deux particules, à l'instar "
+"des forces nucléaires fortes et faibles. Il est particulièrement intéressant "
"de regarder ce hack simplement sous la forme de balles qui rebondissent, car "
-"leurs mouvements et leurs interactions sont très étranges. Il arrive parfois "
-"que deux balles entrent en orbite l'une avec l'autre, avant d'être "
-"interrompues par une troisième ou par le bord de l'écran. L'ensemble est "
-"assez chaotique. Écrit par Jamie Zawinski, sur la base d'un code Lisp de "
+"leurs mouvements et leurs interactions sont très étranges. Il arrive parfois "
+"que deux balles entrent en orbite l'une avec l'autre, avant d'être "
+"interrompues par une troisième ou par le bord de l'écran. L'ensemble est "
+"assez chaotique. Écrit par Jamie Zawinski, sur la base d'un code Lisp de "
"John Pezaris."
#: hacks/config/attraction.xml.h:15 hacks/config/deluxe.xml.h:5
#: hacks/config/spheremonics.xml.h:7 hacks/config/wander.xml.h:10
#: hacks/config/whirlwindwarp.xml.h:3
msgid "Long"
-msgstr "Long"
+msgstr "Long(ue)"
#: hacks/config/attraction.xml.h:17 hacks/config/ccurve.xml.h:10
#: hacks/config/cubenetic.xml.h:12 hacks/config/euler2d.xml.h:7
#: hacks/config/t3d.xml.h:8 hacks/config/twang.xml.h:7
#: hacks/config/wander.xml.h:11
msgid "Low"
-msgstr "Bas"
+msgstr "Bas(se)"
#: hacks/config/attraction.xml.h:20
msgid "Orbital Mode"
#: hacks/config/attraction.xml.h:21
msgid "Outward"
-msgstr "Extérieur"
+msgstr "Extérieur"
#: hacks/config/attraction.xml.h:22
msgid "Polygons"
#: hacks/config/attraction.xml.h:24
msgid "Repulsion Threshold"
-msgstr "Seuil de répulsion"
+msgstr "Seuil de répulsion"
#: hacks/config/attraction.xml.h:25 hacks/config/braid.xml.h:10
#: hacks/config/cynosure.xml.h:8 hacks/config/drift.xml.h:11
#: hacks/config/sierpinski3d.xml.h:5 hacks/config/spheremonics.xml.h:17
#: hacks/config/wander.xml.h:12 hacks/config/whirlwindwarp.xml.h:6
msgid "Short"
-msgstr "Court"
+msgstr "Court(e)"
#: hacks/config/attraction.xml.h:29
-#, fuzzy
msgid "Splines"
msgstr "Rayons"
#: hacks/config/attraction.xml.h:30
-#, fuzzy
msgid "Tails"
msgstr "Queues"
#: hacks/config/attraction.xml.h:31 hacks/config/euler2d.xml.h:16
#: hacks/config/juggle.xml.h:9
msgid "Trail Length"
-msgstr "Longueur de la traînée"
+msgstr "Longueur de la traînée"
#: hacks/config/blaster.xml.h:1
msgid "Blaster"
"colored circles) doing battle in front of a moving star field. Written by "
"Jonathan Lin."
msgstr ""
-"Dessine une simulation de robots de combat volants (ingénieusement déguisés "
-"en cercles colorés) en guerre sur un fond de champ stellaire animé. Écrit "
+"Dessine une simulation de robots de combat volants (ingénieusement déguisés "
+"en cercles colorés) en guerre sur un fond de champ stellaire animé. Écrit "
"par Jonathan Lin."
#: hacks/config/blaster.xml.h:5 hacks/config/penetrate.xml.h:4
#: hacks/config/blaster.xml.h:10
msgid "Stars"
-msgstr "Étoiles"
+msgstr "Étoiles"
#: hacks/config/blitspin.xml.h:1
-#, fuzzy
msgid "90 deg Rotation Speed"
-msgstr "Rotation"
+msgstr "Vitesse de rotation à 90°"
#: hacks/config/blitspin.xml.h:2
msgid "Bitmap to rotate"
-msgstr "Bitmap à pivoter"
+msgstr "Image à pivoter"
#: hacks/config/blitspin.xml.h:3
-#, fuzzy
msgid "BlitSpin"
msgstr "RotationBitmap"
#: hacks/config/blitspin.xml.h:6
msgid "Grab Screen"
-msgstr "Capturer l'écran"
+msgstr "Capturer l'écran"
#: hacks/config/blitspin.xml.h:8
msgid ""
"provide the image to use, as an XBM or XPM file, or tell it to grab a screen "
"image and rotate that."
msgstr ""
-"Le ''hack'' RotationBitmap fait pivoter à plusieurs reprises un bitmap de "
-"90° à l'aide d'opérations logiques : le bitmap est divisé en quadrants, qui "
-"pivotent dans le sens horaire. La même opération est répétée avec des "
-"quadrants progressivement plus petits, à ceci près que tous les sous-"
-"quadrants d'une certaine taille pivotent parallèlement. Écrit par Jamie "
-"Zawinski sur la base d'un super code SmallTalk trouvé dans Byte Magazine en "
+"Le mode RotationBitmap fait pivoter à plusieurs reprises un bitmap de 90° à "
+"l'aide d'opérations logiques: le bitmap est divisé en quadrants, qui "
+"pivotent dans le sens horaire. La même opération est répétée avec des "
+"quadrants progressivement plus petits, à ceci près que tous les sous-"
+"quadrants d'une certaine taille pivotent parallèlement. Écrit par Jamie "
+"Zawinski sur la base d'un super code SmallTalk trouvé dans Byte Magazine en "
"1981. Lorsque vous la regardez, l'image semble se dissoudre en parasites "
-"puis se reconstituer avec une rotation. Vous pouvez fournir l'image à "
-"utiliser, au format XBM ou XPM, ou effectuer une capture d'écran et la faire "
+"puis se reconstituer avec une rotation. Vous pouvez fournir l'image à "
+"utiliser, au format XBM ou XPM, ou effectuer une capture d'écran et la faire "
"pivoter."
#: hacks/config/bouboule.xml.h:1
#: hacks/config/bouboule.xml.h:2 hacks/config/rocks.xml.h:3
msgid "Do Red/Blue 3D seperation"
-msgstr "Séparation rouge/bleu 3D"
+msgstr "Séparation rouge/bleu 3D"
#: hacks/config/bouboule.xml.h:7
msgid "Number of Spots"
"This draws what looks like a spinning, deforming baloon with varying-sized "
"spots painted on its invisible surface. Written by Jeremie Petit."
msgstr ""
-"Dessine une sorte de ballon qui tournoie et se déforme. Des taches de taille "
-"variable sont peintes sur sa surface invisible. Écrit par Jeremie Petit."
+"Dessine une sorte de ballon qui tournoie et se déforme. Des taches de taille "
+"variable sont peintes sur sa surface invisible. Écrit par Jeremie Petit."
#: hacks/config/boxed.xml.h:1 hacks/config/gears.xml.h:1
#: hacks/config/gflux.xml.h:1 hacks/config/pyro.xml.h:1
#: hacks/config/boxed.xml.h:2
msgid "Boxed"
-msgstr "En boîte"
+msgstr "En boîte"
#: hacks/config/boxed.xml.h:3
msgid ""
"Draws a box full of 3D bouncing balls that explode. Written by Sander van "
"Grieken."
msgstr ""
-"Dessine une boîte remplie de balles 3D qui explosent. Écrit par Sander van "
+"Dessine une boîte remplie de balles 3D qui explosent. Écrit par Sander van "
"Grieken."
#: hacks/config/braid.xml.h:1
"Draws random color-cycling inter-braided concentric circles. Written by John "
"Neil."
msgstr ""
-"Dessine des cercles concentriques aléatoires entrelacés, avec des cycles de "
-"couleurs. Écrit par John Neil."
+"Dessine des cercles concentriques aléatoires entrelacés, avec des cycles de "
+"couleurs. Écrit par John Neil."
#: hacks/config/braid.xml.h:3 hacks/config/bsod.xml.h:8
#: hacks/config/ccurve.xml.h:7 hacks/config/coral.xml.h:6
#: hacks/config/vidwhacker.xml.h:3 hacks/config/wander.xml.h:7
#: hacks/config/xspirograph.xml.h:3
msgid "Duration"
-msgstr "Durée"
+msgstr "Durée"
#: hacks/config/braid.xml.h:5 hacks/config/epicycle.xml.h:7
#: hacks/config/nerverot.xml.h:12
msgid "Line Thickness"
-msgstr "Épaisseur de ligne"
+msgstr "Épaisseur de ligne"
#: hacks/config/braid.xml.h:8
msgid "Max Rings"
"emulation, this hack simulates popular screen savers from a number of less "
"robust operating systems. Written by Jamie Zawinski."
msgstr ""
-"BSOD signifie ''Blue Screen of Death'' (écran bleu de la mort). Fine fleur "
-"de l'émulation PC, ce hack simule des économiseurs d'écran de plusieurs "
-"systèmes d'exploitation moins puissants. Écrit par Jamie Zawinski."
+"BSOD signifie «Blue Screen of Deaths» (écran bleu de la mort). Fine fleur de "
+"l'émulation PC, ce hack simule des économiseurs d'écran de plusieurs "
+"systèmes d'exploitation moins puissants. Écrit par Jamie Zawinski."
#: hacks/config/bsod.xml.h:9
msgid "Mac Bomb"
-msgstr ""
+msgstr "Bombe Mac"
#: hacks/config/bsod.xml.h:10
msgid "MacsBug"
#: hacks/config/bsod.xml.h:13
msgid "Sad Mac"
-msgstr ""
+msgstr "Mac Triste"
#: hacks/config/bsod.xml.h:14
msgid "Solaris"
msgstr "Sparc Linux"
#: hacks/config/bsod.xml.h:16
+#, fuzzy
msgid "Windows"
-msgstr "Windows"
+msgstr "Windows NT"
#: hacks/config/bsod.xml.h:17
msgid "Windows 2000"
"the screen, with nice specular reflections. Written by Richard Jones."
msgstr ""
"Dessine un flux de bulles 3D ondulantes, qui montent vers le haut de "
-"l'écran, avec de belles réflexions spéculaires. Écrit par Richard Jones."
+"l'écran, avec de belles réflexions spéculaires. Écrit par Richard Jones."
#: hacks/config/bubbles.xml.h:1 hacks/config/xfishtank.xml.h:2
msgid "Bubbles"
#: hacks/config/bubbles.xml.h:6
msgid "Don't hide bubbles when they pop"
-msgstr "Ne pas masquer les bulles lorsqu'elles éclatent"
+msgstr "Ne pas masquer les bulles lorsqu'elles éclatent"
#: hacks/config/bubbles.xml.h:7
msgid "Draw circles instead of pixmap bubbles"
#: hacks/config/bubbles.xml.h:9
msgid "Leave Trails"
-msgstr "Laisser des traînées"
+msgstr "Laisser des traînées"
#: hacks/config/bubbles.xml.h:12
msgid ""
"form larger bubbles, which eventually pop. Written by James Macnicol."
msgstr ""
"Simule le type de formation de bulles qui se produit lorsque de l'eau entre "
-"en ébullition :de petites bulles apparaissent et, lorsqu'elles se "
+"en ébullition: de petites bulles apparaissent et, lorsqu'elles se "
"rapprochent, elles se combinent pour former de plus grandes bulles, qui "
-"finissent par éclater. Écrit par James Macnicol."
+"finissent par éclater. Écrit par James Macnicol."
#: hacks/config/bumps.xml.h:1
msgid ""
"desktop, it creates a bump map from it. Basically, it 3D-izes a roaming "
"section of your desktop, based on color intensity. Written by Shane Smit."
msgstr ""
-"Un peu comme 'Faisceau lumineux', à ceci près qu'au lieu d'exposer "
-"simplement une partie du bureau, il en crée un placage de relief. En fait, "
+"Un peu comme «Faisceau lumineux», à ceci près qu'au lieu d'exposer "
+"simplement une partie du bureau, il en crée un placage de relief. En fait, "
"il met en 3 dimensions une section variable du bureau, en fonction de "
-"l'intensité des couleurs. Écrit par Shane Smit."
+"l'intensité des couleurs. Écrit par Shane Smit."
#: hacks/config/bumps.xml.h:2
msgid "Bumps"
"This draws Escher's ``Impossible Cage,'' a 3d analog of a moebius strip, and "
"rotates it in three dimensions. Written by Marcelo Vianna."
msgstr ""
-"Dessine la ''Cage impossible'' d'Escher, une analogie en 3D d'un ruban de "
-"Moebius, et la fait pivoter en 3 dimensions. Écrit par Marcelo Vianna."
+"Dessine la «Cage impossible» d'Escher, une analogie en 3D d'un ruban de "
+"Moebius, et la fait pivoter en 3 dimensions. Écrit par Marcelo Vianna."
#: hacks/config/ccurve.xml.h:1
msgid "0 seconds"
#: hacks/config/ccurve.xml.h:5
msgid "Delay"
-msgstr "Délai"
+msgstr "Délai"
#: hacks/config/ccurve.xml.h:6 hacks/config/coral.xml.h:5
#: hacks/config/imsmap.xml.h:5 hacks/config/kumppa.xml.h:1
#: hacks/config/qix.xml.h:6 hacks/config/squiral.xml.h:2
#: hacks/config/wander.xml.h:4 hacks/config/xmatrix.xml.h:3
msgid "Density"
-msgstr "Densité"
+msgstr "Densité"
#: hacks/config/ccurve.xml.h:8
msgid ""
"Generates self-similar linear fractals, including the classic ``C Curve.'' "
"Written by Rick Campbell."
msgstr ""
-"Génère des fractales linéaires auto-similaires, notamment la fameuse "
-"''courbe C''. Écrit par Rick Campbell."
+"Génère des fractales linéaires auto-similaires, notamment la fameuse «courbe "
+"C». Écrit par Rick Campbell."
#: hacks/config/circuit.xml.h:1
msgid "Animates a number of 3D electronic components. Written by Ben Buxton."
-msgstr "Anime plusieurs composants électroniques 3D. Écrit par Ben Buxton."
+msgstr "Anime plusieurs composants électroniques 3D. Écrit par Ben Buxton."
#: hacks/config/circuit.xml.h:2
msgid "Circuit"
#: hacks/config/circuit.xml.h:3 hacks/config/gflux.xml.h:4
#: hacks/config/pulsar.xml.h:2
msgid "Directional Lighting"
-msgstr "Éclairage directionnel"
+msgstr "Éclairage directionnel"
#: hacks/config/circuit.xml.h:5
msgid "Flat Coloring"
#: hacks/config/circuit.xml.h:7 hacks/config/flipscreen3d.xml.h:4
msgid "Rotate"
-msgstr "Rotation"
+msgstr "Rotation globale"
#: hacks/config/circuit.xml.h:8
msgid "Rotation Speed"
#: hacks/config/circuit.xml.h:12 hacks/config/dangerball.xml.h:9
#: hacks/config/engine.xml.h:7
msgid "Spin"
-msgstr "Vrille"
+msgstr "Rotation des objets"
#: hacks/config/compass.xml.h:1
msgid "Compass"
"This draws a compass, with all elements spinning about randomly, for that "
"``lost and nauseous'' feeling. Written by Jamie Zawinski."
msgstr ""
-"Dessine une boussole, dont tous les éléments tournent de manière aléatoire, "
-"pour obtenir ce sentiment de ''mal de mer''. Écrit par Jamie Zawinski."
+"Dessine une boussole, dont tous les éléments tournent de manière aléatoire, "
+"pour obtenir ce sentiment de «mal de mer». Écrit par Jamie Zawinski."
#: hacks/config/coral.xml.h:1 hacks/config/deco.xml.h:1
#: hacks/config/helix.xml.h:1 hacks/config/imsmap.xml.h:1
"Draws a system of self-organizing lines. It starts out as random squiggles, "
"but after a few iterations, order begins to appear. Written by Martin Pool."
msgstr ""
-"Dessine un système de lignes auto-organisées. Elles commencent sous la forme "
-"de gribouillis aléatoires, mais, après quelques itérations, l'ordre commence "
-"à apparaître. Écrit par Martin Pool."
+"Dessine un système de lignes auto-organisées. Elles commencent sous la forme "
+"de gribouillis aléatoires, mais, après quelques itérations, l'ordre commence "
+"à apparaître. Écrit par Martin Pool."
#: hacks/config/crystal.xml.h:1
msgid "Center on Screen"
-msgstr "Centré sur l'écran"
+msgstr "Centré sur l'écran"
#: hacks/config/crystal.xml.h:2 hacks/config/deluxe.xml.h:1
#: hacks/config/fadeplot.xml.h:1 hacks/config/flow.xml.h:3
#: hacks/config/crystal.xml.h:7
msgid "Horizontal Symmetries"
-msgstr "Symétries horizontales"
+msgstr "Symétries horizontales"
#: hacks/config/crystal.xml.h:9
msgid ""
"Moving polygons, similar to a kaleidescope (more like a kaleidescope than "
"the hack called `kaleid,' actually.) This one by Jouk Jansen."
msgstr ""
-"Polygones animés, semblables à un kaléidoscope (plus semblables que le hack "
-"'kaleid', en fait.) Par Jouk Jansen."
+"Polygones animés, semblables à un kaléidoscope (plus semblables à un "
+"kaléïdoscope que le hack «kaleid», en fait.) Par Jouk Jansen."
#: hacks/config/crystal.xml.h:14
msgid "Vertical Symmetries"
-msgstr "Symétries verticales"
+msgstr "Symétries verticales"
#: hacks/config/cubenetic.xml.h:1
msgid "Boxes"
-msgstr "Boîtes"
+msgstr "Boîtes"
#: hacks/config/cubenetic.xml.h:2
-#, fuzzy
msgid "Cubenetic"
msgstr "Rectangles de couleur"
#: hacks/config/cubenetic.xml.h:3
-#, fuzzy
msgid "Display Solid Colors"
-msgstr "Afficher les secondes"
+msgstr "Afficher des couleurs unies"
#: hacks/config/cubenetic.xml.h:4
-#, fuzzy
msgid "Display Surface Patterns"
-msgstr "Afficher les étoiles"
+msgstr "Afficher les modèles de surface"
#: hacks/config/cubenetic.xml.h:5
-#, fuzzy
msgid "Display Wireframe"
msgstr "Fil de fer"
#: hacks/config/gltext.xml.h:17 hacks/config/lavalite.xml.h:30
#: hacks/config/menger.xml.h:20 hacks/config/molecule.xml.h:25
#: hacks/config/spheremonics.xml.h:25 hacks/config/wander.xml.h:15
-#, fuzzy
msgid "Wander"
-msgstr "Errance"
+msgstr "Déplacement"
#: hacks/config/cynosure.xml.h:1
msgid ""
"clone. That clone was discovered by Jamie Zawinski, and ported to C for "
"inclusion here."
msgstr ""
-"Un hack similaire à 'greynetic', en moins frénétique. La première mise en "
-"oeuvre était par Stephen Linhart ; ensuite, Ozymandias G. Desiderata a écrit "
-"un clone de l'applet Java. Il a été découvert par Jamie Zawinski et porté "
-"sur C pour être inclus ici."
+"Un hack similaire à «greynetic», en moins frénétique. La première mise en "
+"oeuvre était par Stephen Linhart; ensuite, Ozymandias G. Desiderata a écrit "
+"un clone de l'applet Java. Il a été découvert par Jamie Zawinski et porté "
+"sur C pour être inclus ici."
#: hacks/config/cynosure.xml.h:2
msgid "Cynosure"
"Draws a ball that periodically extrudes many random spikes. Ouch! Written by "
"Jamie Zawinski."
msgstr ""
-"Dessine une balle qui se hérisse régulièrement de nombreux picots "
-"aléatoires. Ouille ! Écrit par Jamie Zawinski."
+"Dessine une balle qui se hérisse régulièrement de nombreux picots "
+"aléatoires. Ouille ! Écrit par Jamie Zawinski."
#: hacks/config/dangerball.xml.h:7
-#, fuzzy
msgid "Spike Count"
msgstr "Nombre de picots"
msgstr "Croissance des picots"
#: hacks/config/decayscreen.xml.h:1
-#, fuzzy
msgid "DecayScreen"
-msgstr "Écran fondu"
+msgstr "Écran fondu"
#: hacks/config/decayscreen.xml.h:3
msgid "Fuzzy Melt"
-msgstr "Fondu brouillé"
+msgstr "Fondu brouillé"
#: hacks/config/decayscreen.xml.h:4
msgid "Melt Away From Center"
msgstr "Fondu vers le bas et la droite"
#: hacks/config/decayscreen.xml.h:8
-#, fuzzy
msgid "Melt Left"
msgstr "Fondu vers la gauche"
#: hacks/config/decayscreen.xml.h:9
-#, fuzzy
msgid "Melt Right"
msgstr "Fondu vers la droite"
msgstr "Fondu fondu"
#: hacks/config/decayscreen.xml.h:15
-#, fuzzy
msgid "Random Melt Style"
-msgstr "Fondu aléatoire"
+msgstr "Fondu aléatoire"
#: hacks/config/decayscreen.xml.h:16
msgid "Shuffle Melt"
-msgstr "Fondu mélangé"
+msgstr "Fondu mélangé"
#: hacks/config/decayscreen.xml.h:19
msgid "Stretchy Melt"
-msgstr "Fondu étendu"
+msgstr "Fondu étendu"
#: hacks/config/decayscreen.xml.h:20
+#, fuzzy
msgid ""
"This takes an image and makes it melt. You've no doubt seen this effect "
"before, but no screensaver would really be complete without it. It works "
"after the screen saver is off, seek medical attention. Written by David Wald "
"and Vivek Khera."
msgstr ""
-"Fait fondre une image. Vous avez certainement déjà vu cet effet, mais aucun "
-"programme d'économiseurs d'écran ne pourrait s'en passer. Il fonctionne "
-"particulièrement bien si l'image est colorée. Attention, si l'effet se "
-"poursuit après désactivation de l'économiseur, cherchez de l'aide. Écrit par "
+"Fait fondre une image. Vous avez certainement déjà vu cet effet, mais aucun "
+"programme d'économiseurs d'écran ne pourrait s'en passer. Il fonctionne "
+"particulièrement bien si l'image est colorée. Attention, si l'effet se "
+"poursuit après désactivation de l'économiseur, cherchez de l'aide. Écrit par "
"David Wald et Vivek Khera."
#: hacks/config/deco.xml.h:3
msgid "Deco"
-msgstr "Déco"
+msgstr "Déco"
#: hacks/config/deco.xml.h:6 hacks/config/menger.xml.h:5
#: hacks/config/sierpinski3d.xml.h:4
"ugly enough to peel paint.'') Written by Jamie Zawinski, inspired by Java "
"code by Michael Bayne."
msgstr ""
-"Subdivise et colore des rectangles de manière aléatoire. Ça ressemble à une "
-"sorte de papier peint seventies. (Raven a dit : ''Cet économiseur d'écran "
-"est tellement moche qu'il fait craqueler la peinture.'') Écrit par Jamie "
-"Zawinski, inspiré par un code Java de Michael Bayne."
+"Subdivise et colore des rectangles de manière aléatoire. Ca ressemble à une "
+"sorte de papier peint seventies. (Raven a dit : «Cet économiseur d'écran est "
+"tellement moche qu'il fait craqueler la peinture.») Écrit par Jamie "
+"Zawinski, inspiré par un code Java de Michael Bayne."
#: hacks/config/deco.xml.h:11 hacks/config/rd-bomb.xml.h:23
#: hacks/config/whirlygig.xml.h:7 hacks/config/xearth.xml.h:33
"this be both: fast, and flicker-free. Yet another reason X sucks. Written by "
"Jamie Zawinski."
msgstr ""
-"Dessine une séquence pulsatile d'étoiles, de cercles et de lignes. Il serait "
-"plus beau s'il était plus rapide, mais à ma connaissance, il est impossible "
+"Dessine une séquence pulsatile d'étoiles, de cercles et de lignes. Il serait "
+"plus beau s'il était plus rapide, mais à ma connaissance, il est impossible "
"de le rendre rapide sans scintillement. Encore un mauvais point pour X. "
-"Écrit par Jamie Zawinski."
+"Écrit par Jamie Zawinski."
#: hacks/config/deluxe.xml.h:13
msgid "Transparency"
msgstr "Transparence"
#: hacks/config/demon.xml.h:1
-#, fuzzy
msgid ""
"A cellular automaton that starts with a random field, and organizes it into "
"stripes and spirals. Written by David Bagley."
msgstr ""
-"Automate cellulaire qui commence par un champ aléatoire et s'organise en "
-"bandes et spirales. Écrit par David Bagley."
+"Automate cellulaire qui commence par un champ aléatoire et s'organise en "
+"bandes et spirales. Écrit par David Bagley."
#: hacks/config/demon.xml.h:2 hacks/config/petri.xml.h:1
msgid "Cell Size"
#: hacks/config/demon.xml.h:3
msgid "Demon"
-msgstr "Démon"
+msgstr "Démon"
#: hacks/config/demon.xml.h:11
msgid "States"
-msgstr "États"
+msgstr "États"
#: hacks/config/discrete.xml.h:1
msgid "Discrete"
"More ``discrete map'' systems, including new variants of Hopalong and Julia, "
"and a few others. Written by Tim Auckland."
msgstr ""
-"Autres systèmes de ''cartes discrètes'', comprenant de nouvelles variantes "
-"de Hopalong et Julia, ainsi que quelques autres. Écrit par Tim Auckland."
+"Autres systèmes de «cartes discrètes», comprenant de nouvelles variantes de "
+"Hopalong et Julia, ainsi que quelques autres. Écrit par Tim Auckland."
#: hacks/config/distort.xml.h:1
msgid "Black Hole"
#: hacks/config/distort.xml.h:10
msgid "Reflect"
-msgstr "Réfléchir"
+msgstr "Réfléchir"
#: hacks/config/distort.xml.h:14
msgid "Swamp Thing"
"wander around the screen, magnifying whatever is underneath. Written by "
"Jonas Munsin."
msgstr ""
-"Ce hack capture une image de l'écran et laisse une lentille transparente s'y "
-"promener en agrandissant ce qu'elle réfléchit. Écrit par Jonas Munsin."
+"Ce hack capture une image de l'écran et laisse une lentille transparente s'y "
+"promener en agrandissant ce qu'elle réfléchit. Écrit par Jonas Munsin."
#: hacks/config/distort.xml.h:16 hacks/config/moire.xml.h:12
#: hacks/config/rd-bomb.xml.h:21 hacks/config/ripples.xml.h:15
#: hacks/config/rotzoomer.xml.h:10 hacks/config/swirl.xml.h:10
#: hacks/config/twang.xml.h:15 hacks/config/xflame.xml.h:7
msgid "Use Shared Memory"
-msgstr "Utiliser une mémoire partagée"
+msgstr "Utiliser une mémoire partagée"
#: hacks/config/distort.xml.h:17
msgid "Vortex"
#: hacks/config/drift.xml.h:1
msgid "Drift"
-msgstr "Dérive"
+msgstr "Dérive"
#: hacks/config/drift.xml.h:4
-#, fuzzy
msgid "Fractal Growth"
msgstr "Croissance fractale"
#: hacks/config/drift.xml.h:5
msgid "High Dimensional Sphere"
-msgstr "Sphère dimensionnelle"
+msgstr "Sphère dimensionnelle"
#: hacks/config/drift.xml.h:6
msgid ""
"cosmic flames?'' Another fine hack from the Scott Draves collection of fine "
"hacks."
msgstr ""
-"Comment décrire ceci sinon comme des ''flammes cosmiques fractales "
-"récursives à la dérive ?'' Un nouveau chouette hack de la collection de "
-"Scott Draves ."
+"Comment décrire ceci sinon comme des «flammes cosmiques fractales récursives "
+"à la dérive ?» Un nouveau chouette hack de la collection de Scott Draves."
#: hacks/config/drift.xml.h:7
msgid "Lissojous Figures"
#: hacks/config/electricsheep.xml.h:1
msgid "ElectricSheep"
-msgstr "Mouton électrique"
+msgstr "Mouton électrique"
#: hacks/config/electricsheep.xml.h:2
msgid ""
msgstr ""
#: hacks/config/endgame.xml.h:2
-#, fuzzy
msgid "Endgame"
-msgstr "Moteur"
+msgstr "Fin de jeux"
#: hacks/config/engine.xml.h:1
+#, fuzzy
msgid ""
"Draws a simple four-stroke engine that floats around the screen. Written by "
"Ben Buxton."
msgstr ""
-"Dessine un simple moteur à quatre temps qui flotte sur l'écran. Écrit par "
-"Ben Buxton."
+"Dessine un simple moteur à quatre temps qui flotte sur l'écran. Écrit par "
+"Ben Buxton et Ed Beroset."
#: hacks/config/engine.xml.h:2
msgid "Engine"
#: hacks/config/epicycle.xml.h:4
msgid "Epicycle"
-msgstr "Épicycle"
+msgstr "Épicycle"
#: hacks/config/epicycle.xml.h:6
msgid "Harmonics"
msgstr "Harmoniques"
#: hacks/config/epicycle.xml.h:12
-#, fuzzy
msgid ""
"This program draws the path traced out by a point on the edge of a circle. "
"That circle rotates around a point on the rim of another circle, and so on, "
"several times. These were the basis for the pre-heliocentric model of "
"planetary motion. Written by James Youngman."
msgstr ""
-"Ce programme dessine le chemin tracé par un point sur le bord d'un cercle. "
+"Ce programme dessine le chemin tracé par un point sur le bord d'un cercle. "
"Ce cercle pivote autour d'un point sur le pourtour d'un autre cercle, et "
-"ainsi de suite, plusieurs fois. Il s'agit de la base du modèle pré-"
-"héliocentrique de révolution planétaire. Écrit par James Youngman."
+"ainsi de suite, plusieurs fois. Il s'agit de la base du modèle pré-"
+"héliocentrique de révolution planétaire. Écrit par James Youngman."
#: hacks/config/euler2d.xml.h:2
msgid "Euler2d"
"Simulates two dimensional Incompressible Inviscid Fluid Flow. Written by "
"Stephen Montgomery-Smith."
msgstr ""
-"Simule un flux fluide non-visqueux incompressible bidimensionnel. Écrit par "
+"Simule un flux fluide non-visqueux incompressible bidimensionnel. Écrit par "
"Stephen Montgomery-Smith."
#: hacks/config/extrusion.xml.h:1
"inside out. Created by David Konerding from the samples that come with the "
"GL Extrusion library by Linas Vepstas."
msgstr ""
-"Dessine diverses formes extrudées en rotation qui se tournent, s'allongent "
-"et se retournent. Créé par David Konerding à partir des exemples fournis "
-"avec la bibliothèque GL Extrusion de Linas Vepstas."
+"Dessine diverses formes extrudées en rotation qui se tournent, s'allongent "
+"et se retournent. Créé par David Konerding à partir des exemples fournis "
+"avec la bibliothèque GL Extrusion de Linas Vepstas."
#: hacks/config/extrusion.xml.h:2
msgid "Extrusion"
#: hacks/config/extrusion.xml.h:4
msgid "Helix 2"
-msgstr "Hélice 2"
+msgstr "Hélice 2"
#: hacks/config/extrusion.xml.h:5
msgid "Helix 3"
-msgstr "Hélice 3"
+msgstr "Hélice 3"
#: hacks/config/extrusion.xml.h:6
msgid "Helix 4"
-msgstr "Hélice 4"
+msgstr "Hélice 4"
#: hacks/config/extrusion.xml.h:7
-#, fuzzy
msgid "Join Offset"
-msgstr "Joindre décalage"
+msgstr "Décalage de jointure"
#: hacks/config/extrusion.xml.h:8
msgid "Random Object"
-msgstr "Objet aléatoire"
+msgstr "Objet aléatoire"
#: hacks/config/extrusion.xml.h:9
-#, fuzzy
msgid "Screw"
-msgstr "Visser"
+msgstr "Vis"
#: hacks/config/extrusion.xml.h:14
msgid "Taper"
-msgstr "Effiler"
+msgstr "Pic"
#: hacks/config/extrusion.xml.h:15
-#, fuzzy
msgid "Texture Image"
-msgstr "Texture"
+msgstr "Image de texture"
#: hacks/config/extrusion.xml.h:16
-#, fuzzy
msgid "Twistoid"
-msgstr "Torsion"
+msgstr "Twistoïd"
#: hacks/config/extrusion.xml.h:17 hacks/config/glplanet.xml.h:9
#: hacks/config/pulsar.xml.h:19
#: hacks/config/extrusion.xml.h:18 hacks/config/glplanet.xml.h:10
msgid "Use Lighting"
-msgstr "Utiliser l'éclairage"
+msgstr "Utiliser l'éclairage"
#: hacks/config/fadeplot.xml.h:2
-#, fuzzy
msgid ""
"Draws what looks like a waving ribbon following a sinusoidal path. Written "
"by Bas van Gaalen and Charles Vidal."
msgstr ""
-"Dessine une sorte de ruban ondulant suivant un chemin sinusoïdal. Écrit par "
+"Dessine une sorte de ruban ondulant suivant un chemin sinusoïdal. Écrit par "
"Bas van Gaalen et Charles Vidal."
#: hacks/config/fadeplot.xml.h:3
-#, fuzzy
msgid "FadePlot"
msgstr "FadePlot"
"``Bob,'' but you can replace the text or the image with a command-line "
"option. Written by Charles Vidal and Jamie Zawinski."
msgstr ""
-"Dessine un drapeau coloré qui ondule sur l'écran. Il peut contenir un texte "
-"et des images arbitraires. Par défaut, il affiche le nom système et le type "
-"de système d'exploitation en cours ou une photo de ''Bob'', mais vous pouvez "
-"remplacer le texte ou l'image à l'aide d'une option de ligne de commande. "
-"Écrit par Charles Vidal et Jamie Zawinski."
+"Dessine un drapeau coloré qui ondule sur l'écran. Il peut contenir un texte "
+"et des images arbitraires. Par défaut, il affiche le nom système et le type "
+"de système d'exploitation en cours ou une photo de «Bob», mais vous pouvez "
+"remplacer le texte ou l'image à l'aide d'une option de ligne de commande. "
+"Écrit par Charles Vidal et Jamie Zawinski."
#: hacks/config/flame.xml.h:1 hacks/config/jigsaw.xml.h:1
#: hacks/config/maze.xml.h:1 hacks/config/rotzoomer.xml.h:1
#: hacks/config/flame.xml.h:3
msgid "Another iterative fractal generator. Written by Scott Draves."
-msgstr "Un autre générateur fractal itératif. Écrit par Scott Draves."
+msgstr "Un autre générateur fractal itératif. Écrit par Scott Draves."
#: hacks/config/flame.xml.h:4
msgid "Complexity"
-msgstr "Complexité"
+msgstr "Complexité"
#: hacks/config/flame.xml.h:8
msgid "Flame"
msgstr "Nombre de fractales"
#: hacks/config/flipscreen3d.xml.h:2
-#, fuzzy
msgid "Flipscreen3d"
-msgstr "Écran retourné 3D"
+msgstr "Écran retourné 3D"
#: hacks/config/flipscreen3d.xml.h:3
msgid ""
"Another series of strange attractors: a flowing series of points, making "
"strange rotational shapes. Written by Jeff Butterworth."
msgstr ""
-"Une autre série d'attracteurs étranges : une série flottante de points, "
-"constituant d'étranges formes rotatives. Écrit par Jeff Butterworth."
+"Une autre série d'attracteurs étranges : une série flottante de points, "
+"constituant d'étranges formes rotatives. Écrit par Jeff Butterworth."
#: hacks/config/flow.xml.h:5
msgid "Flow"
#: hacks/config/flow.xml.h:10
msgid "Ride a Trained Bee"
-msgstr "Utiliser une abeille dressée"
+msgstr "Utiliser une abeille dressée"
#: hacks/config/flow.xml.h:11
msgid "Rotate Around Attractor"
#: hacks/config/flow.xml.h:12
msgid "Show Bounding Box"
-msgstr "Afficher une boîte bondissante"
+msgstr "Afficher une boîte bondissante"
#: hacks/config/flow.xml.h:14
msgid "Slow Bees with Antifreeze"
#: hacks/config/flow.xml.h:19
msgid "Zoom In and Out"
-msgstr "Zoom avant et arrière"
+msgstr "Zoom avant et arrière"
#: hacks/config/fluidballs.xml.h:1
msgid "Ball Size"
msgstr "Taille des balles"
#: hacks/config/fluidballs.xml.h:5
-#, fuzzy
msgid "FluidBalls"
-msgstr "Balles"
+msgstr "Balles fluides"
#: hacks/config/fluidballs.xml.h:6
+#, fuzzy
msgid "Freefall"
-msgstr ""
+msgstr "Chute libre"
#: hacks/config/fluidballs.xml.h:7 hacks/config/twang.xml.h:4
msgid "Friction"
msgstr "Friction"
#: hacks/config/fluidballs.xml.h:8
+#, fuzzy
msgid "Glass"
-msgstr ""
+msgstr "Classique"
#: hacks/config/fluidballs.xml.h:9 hacks/config/qix.xml.h:9
#: hacks/config/speedmine.xml.h:4
msgid "Gravity"
-msgstr "Gravité"
+msgstr "Gravité"
#: hacks/config/fluidballs.xml.h:10
msgid "Hurricane"
-msgstr ""
+msgstr "Ouragan"
#: hacks/config/fluidballs.xml.h:11
msgid "Jupiter"
-msgstr ""
+msgstr "Jupiter"
#: hacks/config/fluidballs.xml.h:14
msgid ""
msgstr ""
#: hacks/config/fluidballs.xml.h:15
-#, fuzzy
msgid "Sandpaper"
-msgstr "Errance"
+msgstr "Papier abrasif"
#: hacks/config/fluidballs.xml.h:16
-#, fuzzy
msgid "Shake Box"
-msgstr "ShadeBobs"
+msgstr "Remuer la boîte"
#: hacks/config/fluidballs.xml.h:21 hacks/config/glforestfire.xml.h:16
msgid "Still"
#: hacks/config/fluidballs.xml.h:22
msgid "Various Ball Sizes"
-msgstr ""
+msgstr "Taille des balles variée"
#: hacks/config/fluidballs.xml.h:23
msgid "Wind"
#: hacks/config/forest.xml.h:2 hacks/config/glforestfire.xml.h:6
msgid "Forest"
-msgstr "Forêt"
+msgstr "Forêt"
#: hacks/config/forest.xml.h:7
msgid ""
"This draws fractal trees. Written by Peter Baumung. Everybody loves "
"fractals, right?"
msgstr ""
-"Dessine des arbres fractals. Écrit par Peter Baumung. Tout le monde aime les "
-"fractales, n'est-ce pas ?"
+"Dessine des arbres fractals. Écrit par Peter Baumung. Tout le monde aime les "
+"fractales, n'est-ce pas ?"
#: hacks/config/galaxy.xml.h:4
msgid "Galaxy"
"Siegmund."
msgstr ""
"Dessine des galaxies tournoyantes, qui entrent en collision et dispersent "
-"leurs étoiles aux quatre vents (en quelque sorte). Initialement un programme "
+"leurs étoiles aux quatre vents (en quelque sorte). Initialement un programme "
"Amiga d'Uli Siegmund."
#: hacks/config/gears.xml.h:3
#: hacks/config/gears.xml.h:4
msgid "Planetary Gear System"
-msgstr "Train d'engrenages planétaires"
+msgstr "Train d'engrenages planétaires"
#: hacks/config/gears.xml.h:5 hacks/config/goop.xml.h:9
msgid "Rotational Speed"
-msgstr "Vitesse drotationnel"
+msgstr "Vitesse de rotation"
#: hacks/config/gears.xml.h:9
msgid ""
"dimensions. Another GL hack, by Danny Sung, Brian Paul, Ed Mackey, and Jamie "
"Zawinski."
msgstr ""
-"Dessine des engrenages qui s'emboîtent et pivotent en trois dimensions. Un "
+"Dessine des engrenages qui s'emboîtent et pivotent en trois dimensions. Un "
"autre hack GL de Danny Sung, Brian Paul, Ed Mackey et Jamie Zawinski."
#: hacks/config/gears.xml.h:10
msgid "Three Gear System"
-msgstr "Système à trois engrenages"
+msgstr "Système à trois engrenages"
#: hacks/config/gflux.xml.h:2
msgid "Checkerboard"
-msgstr "Échiquier"
+msgstr "Échiquier"
#: hacks/config/gflux.xml.h:5
msgid ""
"Josiah Pease."
msgstr ""
"Dessine des vagues ondulantes sur une grille en rotation en utilisant GL. "
-"Écrit par Josiah Pease."
+"Écrit par Josiah Pease."
#: hacks/config/gflux.xml.h:7
msgid "Flat Lighting"
-msgstr "Éclairage plat"
+msgstr "Éclairage plat"
#: hacks/config/gflux.xml.h:8
msgid "GFlux"
msgstr "GFlux"
#: hacks/config/gflux.xml.h:9
-#, fuzzy
msgid "Mesh Density"
-msgstr "Densité de maille"
+msgstr "Densité de maille"
#: hacks/config/gflux.xml.h:10
-#, fuzzy
msgid "Screen Image"
-msgstr "Image écran"
+msgstr "Image écran"
#: hacks/config/gflux.xml.h:14 hacks/config/interference.xml.h:18
msgid "Wave Speed"
#: hacks/config/glforestfire.xml.h:2
msgid "Desert"
-msgstr "Désert"
+msgstr "Désert"
#: hacks/config/glforestfire.xml.h:3
msgid ""
msgstr "Brouillard"
#: hacks/config/glforestfire.xml.h:7
-#, fuzzy
msgid "GLForestFire"
-msgstr "Feu de forêt GL"
+msgstr "Feu de forêt GL"
#: hacks/config/glforestfire.xml.h:8
-#, fuzzy
msgid "Huge Fire"
msgstr "Grand incendie"
"wrap any texture around the sphere, e.g., the planetary textures that come "
"with `ssystem'."
msgstr ""
-"Dessine une planète qui rebondit dans l'espace. Écrit par David Konerding. "
-"L'image intégrée est un planisphère (extrait de 'xearth'), mais vous pouvez "
-"entourer la sphère d'une texture quelconque, p. ex., les textures "
-"planétaires fournies avec 'ssystem'."
+"Dessine une planète qui rebondit dans l'espace. Écrit par David Konerding. "
+"L'image intégrée est un planisphère (extrait de «xearth»), mais vous pouvez "
+"entourer la sphère d'une texture quelconque, p. ex., les textures "
+"planétaires fournies avec «ssystem»."
#: hacks/config/glplanet.xml.h:3
msgid "GLPlanet"
-msgstr "Planète GL"
+msgstr "Planète GL"
#: hacks/config/glplanet.xml.h:4
msgid "Image File"
"Draws a simulation of the Rubik's Snake puzzle. Written by Jamie Wilkinson, "
"Andrew Bennetts, and Peter Aylett."
msgstr ""
-"Dessine une simulation du serpent Rubik. Écrit par Jamie Wilkinson, Andrew "
+"Dessine une simulation du serpent Rubik. Écrit par Jamie Wilkinson, Andrew "
"Bennetts et Peter Aylett."
#: hacks/config/glsnake.xml.h:6
msgstr "Serpent GL"
#: hacks/config/glsnake.xml.h:7
-#, fuzzy
msgid "Loose"
-msgstr "Étendu"
+msgstr "Étendu"
#: hacks/config/glsnake.xml.h:8
-#, fuzzy
msgid "Packing"
msgstr "En boule"
#: hacks/config/glsnake.xml.h:9
-#, fuzzy
msgid "Scary Colors"
msgstr "Couleurs effrayantes"
#: hacks/config/glsnake.xml.h:11
msgid "Show Labels"
-msgstr "Afficher les étiquettes"
+msgstr "Afficher les étiquettes"
#: hacks/config/glsnake.xml.h:14
-#, fuzzy
msgid "Tight"
-msgstr "Serré"
+msgstr "Serré"
#: hacks/config/glsnake.xml.h:15 hacks/config/rocks.xml.h:13
msgid "Velocity"
-msgstr "Vélocité"
+msgstr "Vélocité"
#: hacks/config/glsnake.xml.h:17
msgid "Y Rotation"
"Jamie Zawinski."
msgstr ""
"Affiche quelques lignes de texte qui tournoient dans une police 3D unie. "
-"Écrit par Jamie Zawinski."
+"Écrit par Jamie Zawinski."
#: hacks/config/gltext.xml.h:4
msgid "GLText"
#: hacks/config/goop.xml.h:1
msgid "Additive Colors (reflected light)"
-msgstr "Couleurs additives (lumière réfléchie)"
+msgstr "Couleurs additives (lumière réfléchie)"
#: hacks/config/goop.xml.h:2
-#, fuzzy
msgid "Blob Count"
msgstr "Nombre de taches"
#: hacks/config/goop.xml.h:3
msgid "Elasticity"
-msgstr "Élasticité"
+msgstr "Élasticité"
#: hacks/config/goop.xml.h:5
msgid "Goop"
#: hacks/config/goop.xml.h:13
msgid "Subtractive Colors (transmitted light)"
-msgstr "Couleurs soustractives (lumière transmise)"
+msgstr "Couleurs soustractives (lumière transmise)"
#: hacks/config/goop.xml.h:14
msgid ""
"effect in real life by having several layers plastic with colored oil "
"between them. Written by Jamie Zawinski."
msgstr ""
-"Dessine un ensemble de taches transparentes, animées, semblables à des "
-"amibes. Les taches changent de forme en se déplaçant sur l'écran et sont "
-"translucides, ce qui permet de voir les taches d'arrière-plan à travers "
+"Dessine un ensemble de taches transparentes, animées, semblables à des "
+"amibes. Les taches changent de forme en se déplaçant sur l'écran et sont "
+"translucides, ce qui permet de voir les taches d'arrière-plan à travers "
"celles d'avant-plan. Lorsqu'une tache passe au-dessus d'une autre, leurs "
-"couleurs fusionnent. Écrit par Jamie Zawinski. C'est un super tapis de "
-"souris qui m'en a donné l'idée. Il obtient le même type d'effet en étant "
-"composé de plusieurs couches de plastique séparées par de l'huile colorée. "
-"Écrit par Jamie Zawinski."
+"couleurs fusionnent. Écrit par Jamie Zawinski. C'est un super tapis de "
+"souris qui m'en a donné l'idée. Il obtient le même type d'effet en étant "
+"composé de plusieurs couches de plastique séparées par de l'huile colorée. "
+"Écrit par Jamie Zawinski."
#: hacks/config/goop.xml.h:15
-#, fuzzy
msgid "Transparent Blobs"
msgstr "Taches transparentes"
#: hacks/config/goop.xml.h:16
-#, fuzzy
msgid "XOR Blobs"
msgstr "Taches XOR"
#: hacks/config/grav.xml.h:3
msgid "Grav"
-msgstr "Gravité"
+msgstr "Gravité"
#: hacks/config/grav.xml.h:6
-#, fuzzy
msgid "Object Trails"
-msgstr "Traînées d'objets"
+msgstr "Traînées d'objets"
#: hacks/config/grav.xml.h:7
-#, fuzzy
msgid "Orbital Decay"
-msgstr "Désintégration orbitale"
+msgstr "Désintégration orbitale"
#: hacks/config/grav.xml.h:10
msgid ""
"This program draws a simple orbital simulation. If you turn on trails, it "
"looks kind of like a cloud-chamber photograph. Written by Greg Bowering."
msgstr ""
-"Ce programme crée une simple simulation orbitale. Si vous activez les "
-"traînées, il ressemble à une sorte de photographie de chambre à brouillard. "
-"Écrit par Greg Bowering."
+"Ce programme crée une simple simulation orbitale. Si vous activez les "
+"traînées, il ressemble à une sorte de photographie de chambre à brouillard. "
+"Écrit par Greg Bowering."
#: hacks/config/greynetic.xml.h:2
msgid "Greynetic"
msgid ""
"This draws random colored and stippled rectangles. Written by Jamie Zawinski."
msgstr ""
-"Dessine des rectangles colorés et pointillés de manière aléatoire. Écrit par "
+"Dessine des rectangles colorés et pointillés de manière aléatoire. Écrit par "
"Jamie Zawinski."
#: hacks/config/halo.xml.h:1
-#, fuzzy
msgid "Animate Circles"
-msgstr "Cercles animés"
+msgstr "Cercles animés"
#: hacks/config/halo.xml.h:3
msgid "Halo"
#: hacks/config/halo.xml.h:7 hacks/config/imsmap.xml.h:11
msgid "Random Mode"
-msgstr "Mode aléatoire"
+msgstr "Mode aléatoire"
#: hacks/config/halo.xml.h:8
msgid "Seuss Mode"
"also animate the control-points, but that takes a lot of CPU and bandwidth. "
"Written by Jamie Zawinski."
msgstr ""
-"Dessine des motifs circulaires psychédéliques qui font mal aux yeux. Il peut "
-"aussi animer les points de contrôle, mais cette option utilise beaucoup de "
-"ressources processeur et de bande passante. Écrit par Jamie Zawinski."
+"Dessine des motifs circulaires psychédéliques qui font mal aux yeux. Il peut "
+"aussi animer les points de contrôle, mais cette option utilise beaucoup de "
+"ressources processeur et de bande passante. Écrit par Jamie Zawinski."
#: hacks/config/helix.xml.h:4
msgid "Helix"
-msgstr "Hélice"
+msgstr "Hélix"
#: hacks/config/helix.xml.h:5
msgid ""
"This repeatedly generates spirally string-art-ish patterns. Written by Jamie "
"Zawinski."
-msgstr "Génère de nombreux motifs en spirale. Écrit par Jamie Zawinski."
+msgstr "Génère de nombreux motifs en spirale. Écrit par Jamie Zawinski."
#: hacks/config/hopalong.xml.h:3
msgid "EJK1"
#: hacks/config/hopalong.xml.h:11
msgid "Hopalong"
-msgstr "Cercles psychédéliques"
+msgstr "Cercles psychédéliques"
#: hacks/config/hopalong.xml.h:12
msgid "Jong"
"This draws lacy fractal patterns, based on iteration in the imaginary plane, "
"from a 1986 Scientific American article. Mostly written by Patrick Naughton."
msgstr ""
-"Dessine des motifs fractals dentelés, basés sur une itération sur le plan "
-"imaginaire, d'un article scientifique américain de 1986. Principalement "
-"écrit par Patrick Naughton."
+"Dessine des motifs fractals dentelés, basés sur une itération sur le plan "
+"imaginaire, d'un article scientifique américain de 1986. Principalement "
+"écrit par Patrick Naughton."
#: hacks/config/hyperball.xml.h:1 hacks/config/hypercube.xml.h:1
msgid "Far"
"projection of the sequence of 3D objects which are the projections of the 4D "
"analog to the dodecahedron. Written by Joe Keane."
msgstr ""
-"L'hyperballe est à l'hypercube ce que le dodécaèdre est au cube : il affiche "
-"une projection en 2D de la séquence d'objets 3D qui sont les projections de "
-"l'analogie 4D du dodécaèdre. Écrit par Joe Keane."
+"L'hyperballe est à l'hypercube ce que le dodécaèdre est au cube : il affiche "
+"une projection en 2D de la séquence d'objets 3D qui sont les projections de "
+"l'analogie 4D du dodécaèdre. Écrit par Joe Keane."
#: hacks/config/hyperball.xml.h:7 hacks/config/hypercube.xml.h:6
msgid "Near"
"color for the edges of each face. Don't think about it too long, or your "
"brain will melt. Written by Joe Keane, Fritz Mueller, and Jamie Zawinski."
msgstr ""
-"Affiche des projections 2D de la séquence d'objets 3D qui sont les "
-"projections de l'analogie 4D du cube : un carré est composé de quatre "
-"lignes, chacune touchant les deux autres ; un cube est composé de six "
-"carrés, chacun touchant les quatre autres et un hypercube est composé de "
+"Affiche des projections 2D de la séquence d'objets 3D qui sont les "
+"projections de l'analogie 4D du cube : un carré est composé de quatre "
+"lignes, chacune touchant les deux autres; un cube est composé de six "
+"carrés, chacun touchant les quatre autres et un hypercube est composé de "
"huit cubes, chacun touchant les six autres. Pour visualiser la rotation "
-"plus facilement, il utilise une couleur différente pour les bords de chaque "
-"face. N'y réfléchissez pas trop longtemps, votre cerveau pourrait fondre. "
-"Écrit par Joe Keane, Fritz Mueller et Jamie Zawinski."
+"plus facilement, il utilise une couleur différente pour les bords de chaque "
+"face. N'y réfléchissez pas trop longtemps, votre cerveau pourrait fondre. "
+"Écrit par Joe Keane, Fritz Mueller et Jamie Zawinski."
#: hacks/config/ifs.xml.h:2
msgid "IFS"
-msgstr "SFI"
+msgstr "IFS"
#: hacks/config/ifs.xml.h:7
-#, fuzzy
msgid ""
"This one draws spinning, colliding iterated-function-system images. Written "
"by Massimino Pascal."
msgstr ""
-"Dessine des images de système de fonctions itérées, qui tournent et entrent "
-"en collision. Écrit par Massimino Pascal."
+"Dessine des images de système de fonctions itérées, qui tournent et entrent "
+"en collision. Écrit par Massimino Pascal."
#: hacks/config/imsmap.xml.h:3
msgid "Brightness Gradients"
-msgstr "Dégradés de luminosité"
+msgstr "Dégradés de luminosité"
#: hacks/config/imsmap.xml.h:7
msgid "Hue Gradients"
-msgstr "Dégradés de teinte"
+msgstr "Dégradés de teinte"
#: hacks/config/imsmap.xml.h:8
msgid "IMSmap"
#: hacks/config/imsmap.xml.h:12
msgid "Saturation Gradients"
-msgstr "Dégradés de saturation"
+msgstr "Dégradés de saturation"
#: hacks/config/imsmap.xml.h:14
msgid ""
"to generate images that look like heat-maps or CAT-scans. Written by Juergen "
"Nickelsen and Jamie Zawinski."
msgstr ""
-"Génère des motifs nuageux aléatoires. Son apparence en mode monochrome et "
-"couleur est assez différente. L'idée de base consiste à prendre quatre "
-"points sur le bord de l'image et à leur attribuer une ''élévation'' "
-"aléatoire. Ensuite, il trouve le point situé entre eux et lui attribue une "
-"valeur qui correspond à la moyenne des quatre autres, plus un petit décalage "
-"aléatoire. La coloration s'effectue alors en fonction de l'élévation. La "
-"sélection de couleur est basée sur l'association de l'élévation à la teinte, "
-"la saturation ou la luminosité, des valeurs aléatoires étant attribuées aux "
-"autres paramètres. Le mode ''luminosité'' tend à produire des motifs nuageux "
-"et les autres, à générer des images qui ressemblent à des cartes thermiques "
-"ou des tomodensitogrammes. Écrit par Juergen Nickelsen et Jamie Zawinski."
+"Génère des motifs nuageux aléatoires. Son apparence en mode monochrome et "
+"couleur est assez différente. L'idée de base consiste à prendre quatre "
+"points sur le bord de l'image et à leur attribuer une 'élévation' aléatoire. "
+"Ensuite, il trouve le point situé entre eux et lui attribue une valeur qui "
+"correspond à la moyenne des quatre autres, plus un petit décalage aléatoire. "
+"La coloration s'effectue alors en fonction de l'élévation. La sélection de "
+"couleur est basée sur l'association de l'élévation à la teinte, la "
+"saturation ou la luminosité, des valeurs aléatoires étant attribuées aux "
+"autres paramètres. Le mode ''luminosité'' tend à produire des motifs nuageux "
+"et les autres, à générer des images qui ressemblent à des cartes thermiques "
+"ou des tomodensitogrammes. Écrit par Juergen Nickelsen et Jamie Zawinski."
#: hacks/config/interference.xml.h:1
msgid "Anim Speed"
"waves, and allowing them to interfere with each other as their origins move. "
"Written by Hannu Mallat."
msgstr ""
-"Un autre hack basé sur des champs de couleur, qui fonctionne en calculant "
-"des vagues sinusoïdales qui se désintègrent et en leur permettant "
-"d'interagir à mesure du déplacement de leurs origines. Écrit par Hannu "
+"Un autre hack basé sur des champs de couleur, qui fonctionne en calculant "
+"des vagues sinusoïdales qui se désintègrent et en leur permettant "
+"d'interagir à mesure du déplacement de leurs origines. Écrit par Hannu "
"Mallat."
#: hacks/config/interference.xml.h:7
msgid "Interference"
-msgstr "Interférences"
+msgstr "Interférences"
#: hacks/config/interference.xml.h:10 hacks/config/t3d.xml.h:9
#: hacks/config/xearth.xml.h:11 hacks/config/zoom.xml.h:5
#: hacks/config/jigsaw.xml.h:6
msgid "Solved Duration"
-msgstr "Durée de résolution"
+msgstr "Durée de résolution"
#: hacks/config/jigsaw.xml.h:8
msgid ""
"sometimes pretty hard to guess what the image is going to look like once the "
"puzzle is solved. Written by Jamie Zawinski."
msgstr ""
-"Capture l'écran, le découpe en pièces de puzzle, qu'il mélange, puis remet "
-"en ordre. Fonctionne particulièrement bien lorsque l'image capturée provient "
-"d'un signal vidéo externe et non de l'écran (en fait, je crois que c'est "
-"généralement le cas...). Lorsqu'il capture une image vidéo, il est parfois "
+"Capture l'écran, le découpe en pièces de puzzle, qu'il mélange, puis remet "
+"en ordre. Fonctionne particulièrement bien lorsque l'image capturée provient "
+"d'un signal vidéo externe et non de l'écran (en fait, je crois que c'est "
+"généralement le cas...). Lorsqu'il capture une image vidéo, il est parfois "
"assez difficile de deviner l'apparence de l'image une fois le puzzle "
-"résolu. Écrit par Jamie Zawinski."
+"résolu. Écrit par Jamie Zawinski."
#: hacks/config/juggle.xml.h:1
msgid "Checkered Balls"
-msgstr "Balles à damiers"
+msgstr "Balles à damiers"
#: hacks/config/juggle.xml.h:2
msgid "Draws a juggling stick-man. Written by Tim Auckland."
-msgstr "Dessine un bonhomme jongleur. Écrit par Tim Auckland."
+msgstr "Dessine un bonhomme jongleur. Écrit par Tim Auckland."
#: hacks/config/juggle.xml.h:4
msgid "Juggle"
#: hacks/config/julia.xml.h:3 hacks/config/rorschach.xml.h:4
msgid "Iterations"
-msgstr "Itérations"
+msgstr "Itérations"
#: hacks/config/julia.xml.h:4
msgid "Julia"
"the image, which indicates the control point from which the rest of the "
"image was generated. Written by Sean McCullough."
msgstr ""
-"Dessine des explorations tournoyantes et animées (distinguez-vous déjà un "
-"motif ?) de la courbe de Julia. Vous avez probablement déjà vu des images "
-"statiques de cette forme fractale, mais c'est aussi très sympa en forme "
-"animée. L'élément intéressant est un petit point animé qui passe devant "
-"l'image et qui indique le point de contrôle à partir duquel le reste de "
-"l'image a été généré. Écrit par Sean McCullough."
+"Dessine des explorations tournoyantes et animées (distinguez-vous déjà un "
+"motif ?) de la courbe de Julia. Vous avez probablement déjà vu des images "
+"statiques de cette forme fractale, mais c'est aussi très sympa en forme "
+"animée. L'élément intéressant est un petit point animé qui passe devant "
+"l'image et qui indique le point de contrôle à partir duquel le reste de "
+"l'image a été généré. Écrit par Sean McCullough."
#: hacks/config/kaleidescope.xml.h:1
msgid ""
"think it needs more solids, or perhaps just brighter colors. More variations "
"in the rotational speed might help, too."
msgstr ""
-"Un autre clone d'un ancien mème, principalement constitué de mouvements "
-"rotatifs frénétiques de lignes colorées. Par Ron Tapia. Les mouvements sont "
+"Un autre clone d'un ancien même, principalement constitué de mouvements "
+"rotatifs frénétiques de lignes colorées. Par Ron Tapia. Les mouvements sont "
"bien, mais je pense qu'il devrait comporter plus de couleurs unies ou "
"simplement des couleurs plus vives. Davantage de variations de la vitesse de "
-"rotation seraient aussi appréciables."
+"rotation seraient aussi appréciables."
#: hacks/config/kaleidescope.xml.h:4
msgid "Kaleidescope"
-msgstr "Kaleïdoscope"
+msgstr "Kaleïdoscope"
#: hacks/config/kaleidescope.xml.h:6 hacks/config/qix.xml.h:18
msgid "Segments"
#: hacks/config/kaleidescope.xml.h:9
msgid "Symmetry"
-msgstr "Symétrie"
+msgstr "Symétrie"
#: hacks/config/kaleidescope.xml.h:10
msgid "Trails"
-msgstr "Traînées"
+msgstr "Traînées"
#: hacks/config/kumppa.xml.h:5
msgid "Kumppa"
#: hacks/config/kumppa.xml.h:7
msgid "Randomize"
-msgstr "Aléatoire"
+msgstr "Aléatoire"
#: hacks/config/kumppa.xml.h:10
msgid ""
"Spiraling, spinning, and very, very fast splashes of color rush toward the "
"screen. Written by Teemu Suutari."
msgstr ""
-"Des taches de couleur très, très rapides foncent vers l'écran en tournoyant "
-"et en formant des spirales. Écrit par Teemu Suutari."
+"Des taches de couleur très, très rapides foncent vers l'écran en tournoyant "
+"et en formant des spirales. Écrit par Teemu Suutari."
#: hacks/config/lament.xml.h:1
msgid ""
"Requires OpenGL, and a machine with fast hardware support for texture maps. "
"Warning: occasionally opens doors. Written by Jamie Zawinski."
msgstr ""
-"Anime une simulation du cube de Lemarchand, qui se résout sans cesse. "
-"Nécessite OpenGL et une machine avec prise en charge matérielle rapide des "
-"mappes de texture. Attension : risque d'ouvrir des portes. Écrit par Jamie "
+"Anime une simulation du cube de Lemarchand, qui se résout sans cesse. "
+"Nécessite OpenGL et une machine avec prise en charge matérielle rapide des "
+"mappes de texture. Attension : risque d'ouvrir des portes. Écrit par Jamie "
"Zawinski."
#: hacks/config/lament.xml.h:3
"Moving radiating lines, that look vaguely like scanning laser beams. Written "
"by Pascal Pensa. (Frankie say: relax.)"
msgstr ""
-"Lignes de radiation animées, qui ressemblent vaguement à des faisceaux laser "
-"de lecture. Écrit par Pascal Pensa. (Frankie a dit : relax.)"
+"Lignes de radiation animées, qui ressemblent vaguement à des faisceaux "
+"laser . Écrit par Pascal Pensa. (Frankie a dit : relax.)"
#: hacks/config/lavalite.xml.h:2
msgid "10"
#: hacks/config/lavalite.xml.h:3
msgid "Activity"
-msgstr ""
+msgstr "Activité"
#: hacks/config/lavalite.xml.h:4
msgid "Classic Lavalite"
-msgstr ""
+msgstr "Lavalite classique"
#: hacks/config/lavalite.xml.h:5
msgid "Cone Lavalite"
-msgstr ""
+msgstr "Lavalite conique"
#: hacks/config/lavalite.xml.h:8
msgid ""
#: hacks/config/lavalite.xml.h:9
msgid "Faceted"
-msgstr ""
+msgstr "A facette"
#: hacks/config/lavalite.xml.h:11
msgid "Giant Lavalite"
-msgstr ""
+msgstr "Lavalite géante"
#: hacks/config/lavalite.xml.h:13
msgid "LavaLite"
-msgstr ""
+msgstr "LavaLite"
#: hacks/config/lavalite.xml.h:15
-#, fuzzy
msgid "Max Blobs"
-msgstr "Taches opaques"
+msgstr "Maximum de blobs"
#: hacks/config/lavalite.xml.h:16
-#, fuzzy
msgid "Random Lamp Style"
-msgstr "Fondu aléatoire"
+msgstr "Style de lampe aléatoire"
#: hacks/config/lavalite.xml.h:17 hacks/config/spheremonics.xml.h:9
msgid "Resolution"
-msgstr "Résolution"
+msgstr "Résolution"
#: hacks/config/lavalite.xml.h:18
msgid "Rocket Lavalite"
-msgstr ""
+msgstr "Lavalite roquette"
#: hacks/config/lavalite.xml.h:27
msgid "Smooth"
-msgstr ""
+msgstr "Lisse"
#: hacks/config/lightning.xml.h:2
msgid "Lightning"
-msgstr "Éclairs"
+msgstr "Éclairs"
#: hacks/config/lightning.xml.h:7
msgid ""
"This one draws crackling fractal lightning bolts. It's simple, direct, and "
"to the point. If only it had sound... Written by Keith Romberg."
msgstr ""
-"Dessine des éclairs fractals. C'est simple, direct et sans fioritures. Si "
-"seulement il avait du son... Écrit par Keith Romberg."
+"Dessine des éclairs fractals. C'est simple, direct et sans fioritures. Si "
+"seulement il avait du son... Écrit par Keith Romberg."
#: hacks/config/lisa.xml.h:4
msgid "Lisa"
#: hacks/config/lisa.xml.h:10
msgid "Steps"
-msgstr "Étapes"
+msgstr "Étapes"
#: hacks/config/lisa.xml.h:11
msgid ""
"was one of these."
msgstr ""
"Trace des boucles de Lissajous, par Caleb Cullen. Vous vous souvenez de "
-"l'appareil des prisonniers de la zone fantôme pendant leur procès dans "
-"Superman ? Je crois que c'était quelque chose comme ça."
+"l'appareil des prisonniers de la zone fantôme pendant leur procès dans "
+"Superman ? Je crois que c'était quelque chose comme ça."
#: hacks/config/lissie.xml.h:1
msgid ""
"along a path. Written by Alexander Jolk."
msgstr ""
"Une autre figure de Lissajous. Elle trace la progression de formes "
-"circulaires le long d'un chemin. Écrit par Alexander Jolk."
+"circulaires le long d'un chemin. Écrit par Alexander Jolk."
#: hacks/config/lissie.xml.h:5
msgid "Lissie"
#: hacks/config/lmorph.xml.h:1
msgid "Closed Figures"
-msgstr "Figures fermées"
+msgstr "Figures fermées"
#: hacks/config/lmorph.xml.h:2
msgid "Control Points"
-msgstr "Points de contrôle"
+msgstr "Points de contrôle"
#: hacks/config/lmorph.xml.h:4
msgid "Interpolation Steps"
-msgstr "Étapes d'interpolation"
+msgstr "Étapes d'interpolation"
#: hacks/config/lmorph.xml.h:5
msgid "LMorph"
#: hacks/config/lmorph.xml.h:10
msgid "Open and Closed Figures"
-msgstr "Figures ouvertes et fermées"
+msgstr "Figures ouvertes et fermées"
#: hacks/config/lmorph.xml.h:15
msgid ""
"This generates random spline-ish line drawings and morphs between them. "
"Written by Sverre H. Huseby and Glenn T. Lines."
msgstr ""
-"Génère des dessins en trait aléatoires et crée des morphings. Écrit par "
+"Génère des dessins en trait aléatoires et crée des morphings. Écrit par "
"Sverre H. Huseby et Glenn T. Lines."
#: hacks/config/loop.xml.h:3
"Written by David Bagley."
msgstr ""
"Produit des colonies en forme de boucles qui se reproduisent, vieillissent "
-"et meurent. Écrit par David Bagley."
+"et meurent. Écrit par David Bagley."
#: hacks/config/maze.xml.h:3
msgid "Backtracking Generator"
-msgstr "Générateur de retour en arrière"
+msgstr "Générateur de retour en arrière"
#: hacks/config/maze.xml.h:5 hacks/config/slidescreen.xml.h:3
msgid "Grid Size"
#: hacks/config/maze.xml.h:8
msgid "Joining Generator"
-msgstr "Générateur de fusion"
+msgstr "Générateur de fusion"
#: hacks/config/maze.xml.h:9
msgid "Maze"
#: hacks/config/maze.xml.h:10
msgid "Post-Solve Delay"
-msgstr "Délai post-résolution"
+msgstr "Délai post-résolution"
#: hacks/config/maze.xml.h:11
msgid "Pre-Solve Delay"
-msgstr "Délai pré-résolution"
+msgstr "Délai pré-résolution"
#: hacks/config/maze.xml.h:12
msgid "Random Generator"
-msgstr "Générateur aléatoire"
+msgstr "Générateur aléatoire"
#: hacks/config/maze.xml.h:13
msgid "Seeding Generator"
-msgstr "Générateur d'ensemencement"
+msgstr "Générateur d'ensemencement"
#: hacks/config/maze.xml.h:15
msgid "Solve Speed"
-msgstr "Vitesse de résolution"
+msgstr "Vitesse de résolution"
#: hacks/config/maze.xml.h:16
msgid ""
"generates a random maze, then solves it with visual feedback. Originally by "
"Jim Randell; modified by a cast of thousands."
msgstr ""
-"Il s'agit de l'ancienne démo du labyrinthe X, modifiée pour fonctionner avec "
-"xscreensaver. Elle génère un labyrinthe aléatoire, puis le résout avec un "
-"feedback visuel. Initialement par Jim Randell ; modifié par des milliers de "
+"Il s'agit de l'ancienne démo du labyrinthe X, modifiée pour fonctionner avec "
+"xscreensaver. Elle génère un labyrinthe aléatoire, puis le résout avec un "
+"feedback visuel. Initialement par Jim Randell; modifié par des milliers de "
"gens."
#: hacks/config/menger.xml.h:6
"cube-based fractal object analagous to the Sierpinski Tetrahedron. Written "
"by Jamie Zawinski."
msgstr ""
-"Dessine une variante tridimensionnelle du tamis récursif de Menger, un objet "
-"fractal cubique analogue au tétraèdre de Sierpinski. Écrit par Jamie "
+"Dessine une variante tridimensionnelle du tamis récursif de Menger, un objet "
+"fractal cubique analogue au tétraèdre de Sierpinski. Écrit par Jamie "
"Zawinski."
#: hacks/config/moebius.xml.h:1
"Another M. C. Escher hack by Marcelo Vianna, this one draws ``Moebius Strip "
"II,'' a GL image of ants walking along the surface of a moebius strip."
msgstr ""
-"Un autre hack de M. C. Escher par Marcelo Vianna. Trace le ''ruban de "
-"Moebius II'', une image GL de fourmis marchant sur la surface d'un ruban de "
-"Moebius."
+"Un autre hack de M. C. Escher par Marcelo Vianna. Trace le «ruban de Moebius "
+"II», une image GL de fourmis marchant sur la surface d'un ruban de Moebius."
#: hacks/config/moebius.xml.h:2
msgid "Draw Ants"
#: hacks/config/moebius.xml.h:4
msgid "Mesh Floor"
-msgstr "Sol grillagé"
+msgstr "Sol grillagé"
#: hacks/config/moebius.xml.h:5
msgid "Moebius"
#: hacks/config/moire.xml.h:8 hacks/config/rorschach.xml.h:6
msgid "Offset"
-msgstr "Décalage"
+msgstr "Décalage"
#: hacks/config/moire.xml.h:10
msgid ""
"just a pair of loops and a handful of arithmetic, giving it a high ``display "
"hack metric''."
msgstr ""
-"Trace de jolis motifs d'interférences circulaires. La plupart des cercles "
-"affichés ne sont pas rendus de manière explicite, mais s'affichent comme "
-"résultat d'interactions entre les autres pixels dessinés. Écrit par Jamie "
+"Trace de jolis motifs d'interférences circulaires. La plupart des cercles "
+"affichés ne sont pas rendus de manière explicite, mais s'affichent comme "
+"résultat d'interactions entre les autres pixels dessinés. Écrit par Jamie "
"Zawinski, sur la base d'un code Java de Michael Bayne. Comme il l'a "
-"souligné, la beauté de ce hackréside dans le fait que le coeur de "
-"l'algorithme d'affichage peut être exprimé avec quelques boucles et "
-"opérations arithmétiques, ce qui lui assure une grande valeur esthétique."
+"souligné, la beauté de ce hackréside dans le fait que le coeur de "
+"l'algorithme d'affichage peut être exprimé avec quelques boucles et "
+"opérations arithmétiques, ce qui lui assure une grande valeur esthétique."
#: hacks/config/moire2.xml.h:1
msgid ""
"another, causing the interference lines to ``spray.'' Written by Jamie "
"Zawinski."
msgstr ""
-"Un autre exemple de l'amusement qu'offrent les motifs d'interférences "
-"moirés ; ce hack génère des champs de cercles ou ovales concentriques et "
-"associe les plans par différentes opérations. Les plans se déplacent "
-"indépendamment, ce qui entraîne un ''jaillissement'' des lignes "
-"d'interférence. Écrit par Jamie Zawinski."
+"Un autre exemple de l'amusement qu'offrent les motifs d'interférences "
+"moirés; ce hack génère des champs de cercles ou ovales concentriques et "
+"associe les plans par différentes opérations. Les plans se déplacent "
+"indépendamment, ce qui entraîne un 'jaillissement' des lignes "
+"d'interférence. Écrit par Jamie Zawinski."
#: hacks/config/moire2.xml.h:4
msgid "Moire2"
#: hacks/config/molecule.xml.h:3
msgid "Describe Molecule"
-msgstr "Décrire la molécule"
+msgstr "Décrire la molécule"
#: hacks/config/molecule.xml.h:5
msgid "Draw Atomic Bonds"
"are built in, and it can also read PDB (Protein Data Base) files as input. "
"Written by Jamie Zawinski."
msgstr ""
-"Dessine différentes représentations de molécules. Certaines molécules "
-"courantes sont intégrées et le programme peut lire des fichiers PDB (banque "
-"protéique). Écrit par Jamie Zawinski."
+"Dessine différentes représentations de molécules. Certaines molécules "
+"courantes sont intégrées et le programme peut lire des fichiers PDB (banque "
+"protéique). Écrit par Jamie Zawinski."
#: hacks/config/molecule.xml.h:11
msgid "Label Atoms"
-msgstr "Étiqueter les atomes"
+msgstr "Étiqueter les atomes"
#: hacks/config/molecule.xml.h:12
msgid "Molecule"
-msgstr "Molécule"
+msgstr "Molécule"
#: hacks/config/molecule.xml.h:13
msgid "PDB File"
"Another 3d shape-changing GL hack, by Marcelo Vianna. It has the same shiny-"
"plastic feel as Superquadrics, as many computer-generated objects do..."
msgstr ""
-"Un autre hack GL 3D à forme changeante, par Marcelo Vianna. Il a le même "
-"aspect plastique luisantque Superquadriques, comme beaucoup d'objets générés "
+"Un autre hack GL 3D à forme changeante, par Marcelo Vianna. Il a le même "
+"aspect plastique luisantque Superquadriques, comme beaucoup d'objets générés "
"par ordinateur..."
#: hacks/config/morph3d.xml.h:4
"Generates random 3d plots that look vaguely mountainous. Written by Pascal "
"Pensa."
msgstr ""
-"Génère des graphiques 3D aléatoires d'apparence vaguement montagneuse. Écrit "
+"Génère des graphiques 3D aléatoires d'apparence vaguement montagneuse. Écrit "
"par Pascal Pensa."
#: hacks/config/mountain.xml.h:5
"screenhack, some 35 years later. The number of lines of enclosing code has "
"increased substantially, however. This version is by Tim Showalter."
msgstr ""
-"DATAI 2 ADDB 1,2 ROTC 2,-22 XOR 1,2 JRST .-4 Comme signalé par HAKMEM, en "
-"1962, Jackson Wright a écrit le code PDP-1 ci-dessus. Ce code est toujours "
-"présent dans ce hack, quelque 35 ans plus tard. Le nombre de lignes de code "
-"a toutefois considérablement augmenté. Cette version est de Tim Showalter."
+"DATAI 2 ADDB 1,2 ROTC 2,-22 XOR 1,2 JRST .-4 Comme signalé par HAKMEM, en "
+"1962, Jackson Wright a écrit le code PDP-1 ci-dessus. Ce code est toujours "
+"présent dans ce hack, quelque 35 ans plus tard. Le nombre de lignes de code "
+"a toutefois considérablement augmenté. Cette version est de Tim Showalter."
#: hacks/config/munch.xml.h:5
msgid "Munch"
"Draws different shapes composed of nervously vibrating squiggles, as if seen "
"through a camera operated by a monkey on crack. By Dan Bornstein."
msgstr ""
-"Trace différentes formes composées de gribouillis vibrants et nerveux, comme "
-"s'ils étaient filmés par un singe sous amphétamines. Par Dan Bornstein."
+"Trace différentes formes composées de gribouillis vibrants et nerveux, comme "
+"s'ils étaient filmés par un singe sous amphétamines. Par Dan Bornstein."
#: hacks/config/nerverot.xml.h:10
msgid "Frequent"
-msgstr "Fréquent"
+msgstr "Fréquent"
#: hacks/config/nerverot.xml.h:16
msgid "NerveRot"
#: hacks/config/nerverot.xml.h:17
msgid "Nervousness"
-msgstr "Nervosité"
+msgstr "Nervosité"
#: hacks/config/nerverot.xml.h:18 hacks/config/pyro.xml.h:12
msgid "Seldom"
"`zippy' or `fortune'. This was extracted from `xnlock' by Dan Heller. "
"Colorized by Jamie Zawinski."
msgstr ""
-"Un petit bonhomme avec un gros nez se promène sur l'écran en disant des "
+"Un petit bonhomme avec un gros nez se promène sur l'écran en disant des "
"choses. Ce qu'il dit peut provenir d'un fichier ou d'un programme externe "
-"comme 'zippy' ou 'fortune'. Extrait de 'xnlock' par Dan Heller. Colorisé par "
+"comme 'zippy' ou 'fortune'. Extrait de 'xnlock' par Dan Heller. Colorisé par "
"Jamie Zawinski."
#: hacks/config/noseguy.xml.h:2
#: hacks/config/pedal.xml.h:7
msgid "Pedal"
-msgstr "Pédale"
+msgstr "Pédale"
#: hacks/config/pedal.xml.h:8
msgid ""
"an even/odd winding rule. Written by Dale Moore, based on some ancient PDP-"
"11 code."
msgstr ""
-"Sorte de combinaison de spirographe/art pauvre. Génère un grand polygone "
+"Sorte de combinaison de spirographe/art pauvre. Génère un grand polygone "
"complexe et laisse le serveur X faire le plus gros du travail en lui donnant "
-"une règle WIND_EVEN_ODD. Écrit par Dale Moore, basé sur un ancien code PDP-"
+"une règle WIND_EVEN_ODD. Écrit par Dale Moore, basé sur un ancien code PDP-"
"11."
#: hacks/config/penetrate.xml.h:1
#: hacks/config/penetrate.xml.h:5
msgid "Penetrate"
-msgstr "Pénétrer"
+msgstr "Pénétrer"
#: hacks/config/penetrate.xml.h:7
msgid "Start badly, but learn"
"This hack simulates the classic arcade game Missile Command. Written by Adam "
"Miller."
msgstr ""
-"Ce hack simule le jeu d'arcade classique Missile Command. Écrit par Adam "
+"Ce hack simule le jeu d'arcade classique Missile Command. Écrit par Adam "
"Miller."
#: hacks/config/penrose.xml.h:3
"bottoms on what appears to be the work of a Knight of the Realm, then a last "
"stand must be taken.'' As reported by News of the Weird #491, 4-jul-1997."
msgstr ""
-"Dessine des carreaux quasi-périodiques ; pensez aux implications pour la "
-"technologie moderne du formica. Écrit par Timo Korvola. En avril 1997, Sir "
-"Roger Penrose, un professeur de math britannique qui a travaillé avec "
-"Stephen Hawking sur des sujets tels que la relativité, les trous noirs et "
-"l'existence d'un début du temps, a intenté un procès en violation de "
-"copyrightà l'encontre de Kimberly-Clark Corporation, qui, selon Penrose, a "
-"copié un motif qu'il avait créé (qui démontrait qu'un ''motif non répétitif "
-"pouvait exister dans la nature'') pour son papier toilette Kleenex à "
-"carreaux. Penrose a déclaré qu'il n'aimait pas les litiges, mais que ''Si la "
-"population de Grande-Bretagne est invitée par une multinationale à s'essuyer "
-"les fesses sur ce qui semble être l'oeuvre d'un Chevalier du Royaume, des "
-"mesures s'imposent.'' Rapporté par News of the Weird n° 491, 4-jul-1997."
+"Dessine des carreaux quasi-périodiques; pensez aux implications pour la "
+"technologie moderne du formica. Écrit par Timo Korvola. En avril 1997, Sir "
+"Roger Penrose, un professeur de math britannique qui a travaillé avec "
+"Stephen Hawking sur des sujets tels que la relativité, les trous noirs et "
+"l'existence d'un début du temps, a intenté un procès en violation de "
+"copyright à l'encontre de Kimberly-Clark Corporation, qui, selon Penrose, a "
+"copié un motif qu'il avait créé (qui démontrait qu'un ''motif non répétitif "
+"pouvait exister dans la nature'') pour son papier toilette Kleenex à "
+"carreaux. Penrose a déclaré qu'il n'aimait pas les litiges, mais que ''Si la "
+"population de Grande-Bretagne est invitée par une multinationale à s'essuyer "
+"les fesses sur ce qui semble être l'oeuvre d'un Chevalier du Royaume, des "
+"mesures s'imposent.'' Rapporté par News of the Weird n°491, 4-jul-1997."
#: hacks/config/penrose.xml.h:9
msgid "Penrose"
#: hacks/config/petri.xml.h:6
msgid "Fertility"
-msgstr "Fertilité"
+msgstr "Fertilité"
#: hacks/config/petri.xml.h:12
msgid "Maxium Lifespan"
-msgstr "Durée de vie maximum"
+msgstr "Durée de vie maximum"
#: hacks/config/petri.xml.h:13
msgid "Maxium Rate of Death"
-msgstr "Taux de mortalité maximum"
+msgstr "Taux de mortalité maximum"
#: hacks/config/petri.xml.h:14
msgid "Maxium Rate of Growth"
#: hacks/config/petri.xml.h:15
msgid "Minium Lifespan"
-msgstr "Durée de vie minimum"
+msgstr "Durée de vie minimum"
#: hacks/config/petri.xml.h:16
msgid "Minium Rate of Death"
-msgstr "Taux de mortalité minimum"
+msgstr "Taux de mortalité minimum"
#: hacks/config/petri.xml.h:17
msgid "Minium Rate of Growth"
#: hacks/config/petri.xml.h:18
msgid "Mold Varieties"
-msgstr "Variétés de moisissures"
+msgstr "Variétés de moisissures"
#: hacks/config/petri.xml.h:19
msgid "Offspring"
-msgstr "Progéniture"
+msgstr "Progéniture"
#: hacks/config/petri.xml.h:20
msgid "Petri"
#: hacks/config/petri.xml.h:26
msgid "Square"
-msgstr "Carré"
+msgstr "Carré"
#: hacks/config/petri.xml.h:27
msgid ""
"circles overlap and leave spiral interference in their wake. Written by Dan "
"Bornstein."
msgstr ""
-"Simule des colonies de moisissures qui poussent dans une boîte de Petri. Des "
-"cercles colorés grandissent, se chevauchent et laissent des interférences en "
-"spirale à leur suite. Écrit par Dan Bornstein."
+"Simule des colonies de moisissures qui poussent dans une boîte de Petri. Des "
+"cercles colorés grandissent, se chevauchent et laissent des interférences en "
+"spirale à leur suite. Écrit par Dan Bornstein."
#: hacks/config/phosphor.xml.h:1
msgid ""
"Written by Jamie Zawinski."
msgstr ""
"Dessine une simulation d'un vieux terminal, avec de grands pixels et du "
-"phosphore de longue durée. Il peut exécuter n'importe quel programme comme "
-"source du texte qu'il affiche. Écrit par Jamie Zawinski."
+"phosphore de longue durée. Il peut exécuter n'importe quel programme comme "
+"source du texte qu'il affiche. Écrit par Jamie Zawinski."
#: hacks/config/phosphor.xml.h:2
msgid "Fade"
#: hacks/config/phosphor.xml.h:5
msgid "Scale"
-msgstr "Échelle"
+msgstr "Échelle"
#: hacks/config/pipes.xml.h:1
msgid "Allow Tight Turns"
-msgstr "Autoriser des virages serrés"
+msgstr "Autoriser des virages serrés"
#: hacks/config/pipes.xml.h:2
msgid "Ball Joints"
-msgstr "Raccords à boule"
+msgstr "Raccords à boule"
#: hacks/config/pipes.xml.h:3
msgid "Curved Pipes"
-msgstr "Canalisations courbées"
+msgstr "Canalisations courbées"
#: hacks/config/pipes.xml.h:6
msgid "Fisheye Lens"
"If you've ever been in the same room with a Windows NT machine, you've "
"probably seen this GL hack. This version is by Marcelo Vianna."
msgstr ""
-"Si vous avez déjà croisé la route d'une machine Windows NT, vous avez "
-"certainement déjà vu ce hack GL. Cette version est de Marcelo Vianna."
+"Si vous avez déjà croisé la route d'une machine Windows NT, vous avez "
+"certainement déjà vu ce hack GL. Cette version est de Marcelo Vianna."
#: hacks/config/pipes.xml.h:9
msgid "Lots"
#: hacks/config/pipes.xml.h:11
msgid "Number of Pipe Systems"
-msgstr "Nombre de systèmes de canalisation"
+msgstr "Nombre de systèmes de canalisation"
#: hacks/config/pipes.xml.h:12
msgid "Pipe Fittings"
#: hacks/config/pipes.xml.h:17
msgid "System Length"
-msgstr "Longueur du système"
+msgstr "Longueur du système"
#: hacks/config/polyominoes.xml.h:3
msgid "Identical Pieces"
-msgstr "Pièces identiques"
+msgstr "Pièces identiques"
#: hacks/config/polyominoes.xml.h:7
msgid "Polyominoes"
"Repeatedly attempts to completely fill a rectangle with irregularly-shaped "
"puzzle pieces. Written by Stephen Montgomery-Smith."
msgstr ""
-"Tente sans cesse de remplir entièrement un rectangle à l'aide de pièces de "
-"puzzle de formes irrégulières. Écrit par Stephen Montgomery-Smith."
+"Tente sans cesse de remplir entièrement un rectangle à l'aide de pièces de "
+"puzzle de formes irrégulières. Écrit par Stephen Montgomery-Smith."
#: hacks/config/pulsar.xml.h:1
msgid "Anti-alias Lines"
"and mipmaps, plus a ``frames per second'' meter so that you can tell how "
"fast your graphics card is... Requires OpenGL. Written by David Konerding."
msgstr ""
-"Dessine des plans en intersection en utilisant le mélange de valeurs alpha, "
+"Dessine des plans en intersection en utilisant le mélange de valeurs alpha, "
"le brouillard, des textures, et des mipmaps, plus une mesure ''images par "
-"seconde'' pour que vous puissiez calculer la rapidité de votre carte "
-"graphique... Nécessite OpenGL. Écrit par David Konerding."
+"seconde'' pour que vous puissiez calculer la rapidité de votre carte "
+"graphique... Nécessite OpenGL. Écrit par David Konerding."
#: hacks/config/pulsar.xml.h:4
msgid "Enable Blending"
-msgstr "Activer le mélange"
+msgstr "Activer le mélange"
#: hacks/config/pulsar.xml.h:5
msgid "Enable Depth Buffer"
#: hacks/config/pulsar.xml.h:7
msgid "Enable Lighting"
-msgstr "Activer l'éclairage"
+msgstr "Activer l'éclairage"
#: hacks/config/pulsar.xml.h:8
msgid "Enable Texture Filtering"
#: hacks/config/pyro.xml.h:6
msgid "Launch Frequency"
-msgstr "Fréquence de lancement"
+msgstr "Fréquence de lancement"
#: hacks/config/pyro.xml.h:8
msgid "Often"
#: hacks/config/pyro.xml.h:9
msgid "Particle Density"
-msgstr "Densité des particules"
+msgstr "Densité des particules"
#: hacks/config/pyro.xml.h:10
msgid "Pyro"
msgid ""
"Pyro draws exploding fireworks. Blah blah blah. Written by Jamie Zawinski."
msgstr ""
-"Pyro dessine des feux d'artifices en explosion. Bla bla. Écrit par Jamie "
+"Pyro dessine des feux d'artifices en explosion. Bla bla. Écrit par Jamie "
"Zawinski."
#: hacks/config/qix.xml.h:1
#: hacks/config/qix.xml.h:12
msgid "Linear Motion"
-msgstr "Mouvement linéaire"
+msgstr "Mouvement linéaire"
#: hacks/config/qix.xml.h:15
msgid "Max Size"
#: hacks/config/qix.xml.h:17
msgid "Random Motion"
-msgstr "Mouvement aléatoire"
+msgstr "Mouvement aléatoire"
#: hacks/config/qix.xml.h:23
msgid "Subtractive Colors"
"to produce all sorts of different presentations: line segments, filled "
"polygons, overlapping translucent areas... Written by Jamie Zawinski."
msgstr ""
-"La tronçonneuse suisse des programmes qix. Fait rebondir une série de "
-"segments de lignes sur l'écran et utilise des variations de ce modèle de "
-"mouvement de base pour produire toutes sortes de présentations différentes : "
-"segments de ligne, polygones pleins, zones translucides superposées... Écrit "
+"La tronçonneuse suisse des programmes qix. Fait rebondir une série de "
+"segments de lignes sur l'écran et utilise des variations de ce modèle de "
+"mouvement de base pour produire toutes sortes de présentations différentes : "
+"segments de ligne, polygones pleins, zones translucides superposées... Écrit "
"par Jamie Zawinski."
#: hacks/config/qix.xml.h:25
#: hacks/config/queens.xml.h:2
msgid "Queens"
-msgstr ""
+msgstr "Reines"
#: hacks/config/queens.xml.h:5
msgid ""
"of growing square-like shapes that, once they overtake each other, react in "
"unpredictable ways. ``RD'' stands for reaction-diffusion."
msgstr ""
-"Une autre variation du programme 'Bomb' de Scott Draves. Dessine une grille "
-"de formes carrées croissantes qui, une fois qu'elles se rejoignent, "
-"réagissent de façon imprévisible. ''RD'' signifie réaction-diffusion."
+"Une autre variation du programme «Bomb» de Scott Draves. Dessine une grille "
+"de formes carrées croissantes qui, une fois qu'elles se rejoignent, "
+"réagissent de façon imprévisible. 'RD' signifie réaction-diffusion."
#: hacks/config/rd-bomb.xml.h:8
msgid "Epoch"
-msgstr "Époque"
+msgstr "Époque"
#: hacks/config/rd-bomb.xml.h:10
msgid "Fill Screen"
-msgstr "Remplir l'écran"
+msgstr "Remplir l'écran"
#: hacks/config/rd-bomb.xml.h:14
msgid "RD-Bomb"
#: hacks/config/rd-bomb.xml.h:15
msgid "Reaction/Difusion"
-msgstr "Réaction/Diffusion"
+msgstr "Réaction/Diffusion"
#: hacks/config/rd-bomb.xml.h:16
msgid "Seed Radius"
#: hacks/config/rd-bomb.xml.h:19 hacks/config/twang.xml.h:12
msgid "Tile Size"
-msgstr "Taille des mosaïques"
+msgstr "Taille des mosaïques"
#: hacks/config/rd-bomb.xml.h:22
msgid "Wander Speed"
-msgstr "Vitesse de déplacement"
+msgstr "Vitesse de déplacement"
#: hacks/config/ripples.xml.h:1
msgid "Big Drops"
#: hacks/config/ripples.xml.h:5
msgid "Grab Screen Image"
-msgstr "Capturer l'écran"
+msgstr "Capturer l'écran"
#: hacks/config/ripples.xml.h:6
msgid "Lighting Effect"
-msgstr "Effet d'éclairage"
+msgstr "Effet d'éclairage"
#: hacks/config/ripples.xml.h:8
msgid "Moving Splashes"
-msgstr "Éclaboussures mobiles"
+msgstr "Éclaboussures mobiles"
#: hacks/config/ripples.xml.h:9
msgid "Psychedelic Colors"
-msgstr "Couleurs psychédéliques"
+msgstr "Couleurs psychédéliques"
#: hacks/config/ripples.xml.h:10
msgid "Ripples"
#: hacks/config/ripples.xml.h:13
msgid "Storm"
-msgstr "Tempête"
+msgstr "Tempète"
#: hacks/config/ripples.xml.h:14
msgid ""
"water option, it manipulates your desktop image to look like something is "
"dripping into it. Written by Tom Hammersley."
msgstr ""
-"Dessine des motifs d'interférences ondulants qui ressemblent à des "
-"éclaboussures d'eau. Avec l'option -eau, manipule votre image bureau pour "
-"que quelque chose ait l'air de l'éclabousser. Écrit par Tom Hammersley."
+"Dessine des motifs d'interférences ondulants qui ressemblent à des "
+"éclaboussures d'eau. Avec l'option '-water', manipule votre image bureau "
+"pour que quelque chose ait l'air de l'éclabousser. Écrit par Tom Hammersley."
#: hacks/config/rocks.xml.h:7
msgid "Rocks"
msgstr "Rotation"
#: hacks/config/rocks.xml.h:10
-#, fuzzy
msgid "Steering"
msgstr "Direction"
"rotation and direction. It can also display 3D separations for red/blue "
"glasses! Mostly written by Jamie Zawinski."
msgstr ""
-"Dessine une animation de vol dans un champ d'astéroïdes, dont la rotation "
-"et la direction changent. Peut également afficher des séparations 3D pour "
-"les verres rouges/bleus ! Principalement écrit par Jamie Zawinski."
+"Dessine une animation de vol dans un champ d'astéroïdes, dont la rotation "
+"et la direction changent. Peut également afficher des séparations 3D pour "
+"les verres rouges/bleus ! Principalement écrit par Jamie Zawinski."
#: hacks/config/rorschach.xml.h:7
msgid "Rorschach"
"neurotic tendencies which this program reveals are your own problem. Written "
"by Jamie Zawinski."
msgstr ""
-"Génère des motifs de taches d'encre aléatoires. L'algorithme est "
-"incroyablement simple pour un si bon fonctionnement ; il déplace simplement "
-"un point sur l'écran au hasard et reflète l'image horizontalement et/ou "
-"verticalement. Vous êtes responsable de toutes les tendances névrotiques "
-"enfouies que ce programme pourrait révéler. Écrit par Jamie Zawinski."
+"Génère des motifs de taches d'encre aléatoires. L'algorithme est "
+"incroyablement simple pour un si bon fonctionnement; il déplace simplement "
+"un point sur l'écran au hasard et reflète l'image horizontalement et/ou "
+"verticalement. Vous êtes responsable de toutes les tendances névrotiques "
+"enfouies que ce programme pourrait révéler. Écrit par Jamie Zawinski."
#: hacks/config/rorschach.xml.h:10
msgid "With X Symmetry"
-msgstr "Avec symétrie X"
+msgstr "Avec symétrie X"
#: hacks/config/rorschach.xml.h:11
msgid "With Y Symmetry"
-msgstr "Avec symétrie Y"
+msgstr "Avec symétrie Y"
#: hacks/config/rotor.xml.h:1
msgid ""
"Creates a collage of rotated and scaled portions of the screen. Written by "
"Claudio Matsuoka."
msgstr ""
-"Crée un collage de portions pivotées et mises à l'échelle de l'écran. Écrit "
+"Crée un collage de portions pivotées et mises à l'échelle de l'écran. Écrit "
"par Claudio Matsuoka."
#: hacks/config/rotzoomer.xml.h:6
"Draws a Rubik's Cube that rotates in three dimensions and repeatedly "
"shuffles and solves itself. Another fine GL hack by Marcelo Vianna."
msgstr ""
-"Dessine un Rubik's Cube qui pivote en trois dimensions et se mélange et se "
-"résout sans cesse. Un autre beau hack GL de Marcelo Vianna."
+"Dessine un Rubik's Cube qui pivote en trois dimensions et se mélange et se "
+"résout sans cesse. Un autre beau hack GL de Marcelo Vianna."
#: hacks/config/rubik.xml.h:5
msgid "Rubik"
#: hacks/config/rubik.xml.h:7
msgid "Show Shuffling"
-msgstr "Afficher le mélange"
+msgstr "Afficher le mélange"
#: hacks/config/sballs.xml.h:1
msgid "Cube"
#: hacks/config/sballs.xml.h:2
msgid "Dodecahedron"
-msgstr "Dodécaèdre"
+msgstr "Dodécaèdre"
#: hacks/config/sballs.xml.h:3
-#, fuzzy
msgid ""
"Draws an animation of textured balls spinning like crazy in GL. Requires "
"OpenGL, and a machine with fast hardware support for texture maps. Written "
"by Eric Lassauge <lassauge@mail.dotcom.fr>."
msgstr ""
-"Anime une simulation du cube de Lemarchand, qui se résout sans cesse. "
-"Nécessite OpenGL et une machine avec prise en charge matérielle rapide des "
-"mappes de texture. Attension : risque d'ouvrir des portes. Écrit par Jamie "
-"Zawinski."
#: hacks/config/sballs.xml.h:5
msgid "Icosahedron"
-msgstr "Icosaèdre"
+msgstr "Icosaèdre"
#: hacks/config/sballs.xml.h:7
msgid "Octahedron"
-msgstr "Octaèdre"
+msgstr "Octaèdre"
#: hacks/config/sballs.xml.h:8
msgid "Plane"
#: hacks/config/sballs.xml.h:10
msgid "Random"
-msgstr "Aléatoire"
+msgstr "Aléatoire"
#: hacks/config/sballs.xml.h:11
msgid "Sballs"
#: hacks/config/sballs.xml.h:15
msgid "Star"
-msgstr "Étoile"
+msgstr "Étoile"
#: hacks/config/sballs.xml.h:16
msgid "Tetrahedron"
-msgstr "Tétraèdre"
+msgstr "Tétraèdre"
#: hacks/config/shadebobs.xml.h:7
msgid "ShadeBobs"
"This draws smoothly-shaded oscilating oval patterns, that look something "
"like vapor trails or neon tubes. Written by Shane Smit."
msgstr ""
-"Dessine des formes ovoïdes oscillantes et d'aspect lisse, qui ressemblent un "
-"peu à des traînées de vapeur ou des tubes au néon. Écrit par Shane Smit."
+"Dessine des formes ovoïdes oscillantes et d'aspect lisse, qui ressemblent un "
+"peu à des traînées de vapeur ou des tubes au néon. Écrit par Shane Smit."
#: hacks/config/sierpinski.xml.h:6
msgid "Sierpinski"
"This draws the two-dimensional variant of the recursive Sierpinski triangle "
"fractal. Written by Desmond Daignault."
msgstr ""
-"Dessine la variante bidimensionnelle de la fractale triangulaire récursive "
-"de Sierpinski. Écrit par Desmond Daignault."
+"Dessine la variante bidimensionnelle de la fractale triangulaire récursive "
+"de Sierpinski. Écrit par Desmond Daignault."
#: hacks/config/sierpinski3d.xml.h:7
msgid "Sierpinski3D"
"This draws the three-dimensional variant of the recursive Sierpinski "
"triangle fractal, using GL. Written by Tim Robinson and Jamie Zawinski."
msgstr ""
-"Dessine la variante tridimensionnelle de la fractale triangulaire récursive "
-"de Sierpinski, à l'aide de GL. Écrit par Tim Robinson et Jamie Zawinski."
+"Dessine la variante tridimensionnelle de la fractale triangulaire récursive "
+"de Sierpinski, à l'aide de GL. Écrit par Tim Robinson et Jamie Zawinski."
#: hacks/config/slidescreen.xml.h:1 hacks/config/twang.xml.h:1
#: hacks/config/zoom.xml.h:1
#: hacks/config/slidescreen.xml.h:5
msgid "SlideScreen"
-msgstr "Glissement d'écran"
+msgstr "Glissement d'écran"
#: hacks/config/slidescreen.xml.h:8
msgid ""
"those puzzles, but watching one permute itself is more amusing. Written by "
"Jamie Zawinski."
msgstr ""
-"Prend une image, la divise pour former une grille et mélange au hasard les "
-"carrés comme l'un de ces jeux ennuyeux comprenant une grille de carrés dont "
-"l'un est manquant. Je déteste essayer de résoudre ces puzzles, mais c'est "
-"plus amusant d'en voir un se résoudre lui-même. Écrit par Jamie Zawinski."
+"Prend une image, la divise pour former une grille et mélange au hasard les "
+"carrés comme l'un de ces jeux ennuyeux comprenant une grille de carrés dont "
+"l'un est manquant. Je déteste essayer de résoudre ces puzzles, mais c'est "
+"plus amusant d'en voir un se résoudre lui-même. Écrit par Jamie Zawinski."
#: hacks/config/slip.xml.h:6
msgid "Slip"
"desktop to chew on. Originally written by Scott Draves; whacked on by Jamie "
"Zawinski."
msgstr ""
-"Ce programme affiche des éléments aléatoires à l'écran, puis les aspire dans "
-"un réacteur et les fait ressortir. Pour ne pas réduire complètement l'image "
+"Ce programme affiche des éléments aléatoires à l'écran, puis les aspire dans "
+"un réacteur et les fait ressortir. Pour ne pas réduire complètement l'image "
"en bouillie, il injectera de temps en temps des taches de couleur dans la "
-"scène, entamera un cycle d'essorage, étendra l'image comme un caramel ou (ma "
+"scène, entamera un cycle d'essorage, étendra l'image comme un caramel ou (ma "
"touche personnelle) capturera l'image de votre bureau actuel pour la "
-"retourner. Initialement écrit par Scott Draves ; bouleversé par Jamie "
+"retourner. Initialement écrit par Scott Draves ; bouleversé par Jamie "
"Zawinski."
#: hacks/config/sonar.xml.h:1
msgid "Ping Subnet"
-msgstr "Sous-réseau ping"
+msgstr "Sous-réseau ping"
#: hacks/config/sonar.xml.h:2
msgid "Simulation Team Members"
-msgstr "Membres de l'équipe de simulation"
+msgstr "Membres de l'équipe de simulation"
#: hacks/config/sonar.xml.h:3
msgid "Sonar"
#: hacks/config/sonar.xml.h:4
msgid "Team A Name"
-msgstr "Nom de l'équipe A"
+msgstr "Nom de l'équipe A"
#: hacks/config/sonar.xml.h:5
msgid "Team B Name"
-msgstr "Nom de l'équipe B"
+msgstr "Nom de l'équipe B"
#: hacks/config/sonar.xml.h:6
msgid ""
"make it monitor other sources of data, too. (Processes? Active network "
"connections? CPU usage per user?) Written by Stephen Martin."
msgstr ""
-"Ce programme dessine une simulation d'un écran de sonar. Écrit par défaut, "
-"il affiche un assortiment aléatoire de ''trucs'' à l'écran, mais, s'il est "
-"compilé correctement, il peut effectuer un ping sur votre réseau local et "
-"calculer la proximité des autres hôtes du réseau par rapport à vous. Il "
-"serait facile de lui faire aussi surveiller d'autres sources de données. "
-"(Processus ? Connexions au réseau actif ? Utilisation du processeur par "
-"utilisateur ?) Écrit par Stephen Martin."
+"Ce programme dessine une simulation d'un écran de sonar. Écrit par défaut, "
+"il affiche un assortiment aléatoire de 'trucs' à l'écran, mais, s'il est "
+"compilé correctement, il peut effectuer un ping sur votre réseau local et "
+"calculer la proximité des autres hôtes du réseau par rapport à vous. Il "
+"serait facile de lui faire aussi surveiller d'autres sources de données. "
+"(Processus ? Connexions au réseau actif ? Utilisation du processeur par "
+"utilisateur ?) Écrit par Stephen Martin."
#: hacks/config/sonar.xml.h:7
msgid "vs."
#: hacks/config/speedmine.xml.h:1
msgid "Allow Wall Collisions"
-msgstr "Éviter les collisions avec le mur"
+msgstr "Éviter les collisions avec le mur"
#: hacks/config/speedmine.xml.h:2
msgid "Display Crosshair"
#: hacks/config/speedmine.xml.h:7
msgid "Max Velocity"
-msgstr "Vélocité max."
+msgstr "Vélocité max."
#: hacks/config/speedmine.xml.h:8
msgid "Mine Shaft"
#: hacks/config/speedmine.xml.h:9
msgid "Present Bonuses"
-msgstr "Bonus présents"
+msgstr "Bonus présents"
#: hacks/config/speedmine.xml.h:10
msgid "Rocky Walls"
"by Conrad Parker."
msgstr ""
"Simule la descente dans un puits de mine rocheux ou affiche un ver funky "
-"dansant. Écrit par Conrad Parker."
+"dansant. Écrit par Conrad Parker."
#: hacks/config/speedmine.xml.h:16
msgid "SpeedMine"
#: hacks/config/speedmine.xml.h:17
msgid "Thrust"
-msgstr "Poussée"
+msgstr "Poussée"
#: hacks/config/speedmine.xml.h:19 hacks/config/worm.xml.h:10
msgid "Worm"
"shaded spheres in multiple colors. This hack traces its lineage back to Tom "
"Duff in 1982."
msgstr ""
-"Un autre hack classique d'une époque lointaine. Il dessine des sphères "
-"ombrées en plusieurs couleurs. Son arbre généalogique remonte à Tom Duff en "
+"Un autre hack classique d'une époque lointaine. Il dessine des sphères "
+"ombrées en plusieurs couleurs. Son arbre généalogique remonte à Tom Duff en "
"1982."
#: hacks/config/sphere.xml.h:7
msgid "Sphere"
-msgstr "Sphère"
+msgstr "Sphère"
#: hacks/config/sphereEversion.xml.h:1
msgid "SphereEversion"
msgstr ""
#: hacks/config/spheremonics.xml.h:23
-#, fuzzy
msgid "Spheremonics"
-msgstr "Harmoniques"
+msgstr ""
#: hacks/config/spheremonics.xml.h:24
msgid ""
"means moire; interference patterns, of course."
msgstr ""
"Motifs circulaires mobiles, par Peter Schmitzberger. Les motifs circulaires "
-"mobiles sont synonymes de moiré ; des motifs d'interférences, évidemment."
+"mobiles sont synonymes de moiré ; des motifs d'interférences, évidemment."
#: hacks/config/spiral.xml.h:11
msgid "Spiral"
"Draws a spotlight scanning across a black screen, illumnating the underlying "
"desktop when it passes. Written by Rick Schultz."
msgstr ""
-"Trace un faisceau lumineux qui parcourt un écran noir et illumine le bureau "
-"sous-jacent. Écrit par Rick Schultz."
+"Trace un faisceau lumineux qui parcourt un écran noir et illumine le bureau "
+"sous-jacent. Écrit par Rick Schultz."
#: hacks/config/spotlight.xml.h:6
msgid "Spotlight"
#: hacks/config/sproingies.xml.h:3
msgid "Q-Bert meets Marble Madness! Written by Ed Mackey."
-msgstr "La rencontre de Q-Bert et de Marble Madness ! Écrit par Ed Mackey."
+msgstr "La rencontre de Q-Bert et de Marble Madness ! Écrit par Ed Mackey."
#: hacks/config/sproingies.xml.h:9
msgid "Sproingies"
"Jeff Epler."
msgstr ""
"Dessine un ensemble d'automates qui interagissent et produisent des spirales "
-"carrées. Les spirales grandissent jusqu'à ce qu'elles heurtent un obstacle, "
-"qu'elles contournent. Écrit par Jeff Epler."
+"carrées. Les spirales grandissent jusqu'à ce qu'elles heurtent un obstacle, "
+"qu'elles contournent. Écrit par Jeff Epler."
#: hacks/config/squiral.xml.h:5
msgid "Handedness"
-msgstr "Chiralité"
+msgstr "Sens de rotation"
#: hacks/config/squiral.xml.h:7
msgid "Left"
#: hacks/config/squiral.xml.h:11 hacks/config/twang.xml.h:8
msgid "Randomness"
-msgstr "Aléatoire"
+msgstr "Aléatoire"
#: hacks/config/squiral.xml.h:12
msgid "Right"
#: hacks/config/squiral.xml.h:17
msgid "Squiral"
-msgstr "Spirale carrées"
+msgstr "Spirale carrées"
#: hacks/config/ssystem.xml.h:1
msgid "SSystem"
"by Marcelo Vianna's third Escher GL hack, this one draws an ``infinite'' "
"staircase."
msgstr ""
-"Le troisième hack GL de Marcelo Vianna d'après Escher, cette fois "
-"''l'escalier infini''."
+"Le troisième hack GL de Marcelo Vianna d'après Escher, cette fois "
+"«l'escalier infini»."
#: hacks/config/starfish.xml.h:1
msgid "Color Gradients"
-msgstr "Dégradés de couleur"
+msgstr "Dégradés de couleur"
#: hacks/config/starfish.xml.h:7
msgid "Pulsating Blob"
#: hacks/config/starfish.xml.h:10
msgid "Starfish"
-msgstr "Étoile de mer"
+msgstr "Étoile de mer"
#: hacks/config/starfish.xml.h:13
msgid ""
"to lay down a field of colors, which are then cycled. The motion is very "
"organic. Written by Jamie Zawinski."
msgstr ""
-"Génère une séquence de motifs ondulants en forme d'étoiles qui pulsent, "
+"Génère une séquence de motifs ondulants en forme d'étoiles qui pulsent, "
"pivotent et se retournent. Un autre mode d'affichage utilise ces formes pour "
-"créer un champ de couleurs, qui présente des cycles. Le mouvement est très "
-"organique. Écrit par Jamie Zawinski."
+"créer un champ de couleurs, qui présente des cycles. Le mouvement est très "
+"organique. Écrit par Jamie Zawinski."
#: hacks/config/starwars.xml.h:2
msgid "Anti-aliased Lines"
#: hacks/config/starwars.xml.h:3
msgid "Centered Text"
-msgstr "Texte centré"
+msgstr "Texte centré"
#: hacks/config/starwars.xml.h:4
msgid ""
"a star field, like at the beginning of the movie of the same name. Written "
"by Jamie Zawinski and Claudio Matauoka."
msgstr ""
-"Fait défiler lentement un texte en diagonale sur un champ stellaire, comme "
-"au début du film du même nom. Écrit par Jamie Zawinski et Claudio Matauoka."
+"Fait défiler lentement un texte en diagonale sur un champ stellaire, comme "
+"au début du film du même nom. Écrit par Jamie Zawinski et Claudio Matauoka."
#: hacks/config/starwars.xml.h:5
msgid "Fade Out"
#: hacks/config/starwars.xml.h:7
msgid "Flush Left Text"
-msgstr "Décaler le texte vers la gauche"
+msgstr "Décaler le texte vers la gauche"
#: hacks/config/starwars.xml.h:8
msgid "Flush Right Text"
-msgstr "Décaler le texte vers la droite"
+msgstr "Décaler le texte vers la droite"
#: hacks/config/starwars.xml.h:9
msgid "Font Point Size"
#: hacks/config/starwars.xml.h:10
msgid "Scroll Speed"
-msgstr "Vitesse de défilement"
+msgstr "Vitesse de défilement"
#: hacks/config/starwars.xml.h:13
msgid "Star Rotation Speed"
-msgstr "Vitesse de rotation des étoiles"
+msgstr "Vitesse de rotation des étoiles"
#: hacks/config/starwars.xml.h:14
msgid "StarWars"
#: hacks/config/starwars.xml.h:18
msgid "Thick Lines"
-msgstr "Lignes épaisses"
+msgstr "Lignes épaisses"
#: hacks/config/starwars.xml.h:19
msgid "Wrap Long Lines"
-msgstr "Retour à la ligne"
+msgstr "Retour à la ligne"
#: hacks/config/stonerview.xml.h:1
msgid ""
"patterns. Written by Andrew Plotkin, based on SGI's `electropaint' "
"screensaver."
msgstr ""
-"Des chaînes de carrés colorés dansent les unes autour des autres en formant "
-"des spirales complexes. Écrit par Andrew Plotkin, basé sur l'économiseur "
-"d'écran 'electropaint'de SGI."
+"Des chaînes de carrés colorés dansent les unes autour des autres en formant "
+"des spirales complexes. Écrit par Andrew Plotkin, basé sur l'économiseur "
+"d'écran «electropaint» de SGI."
#: hacks/config/stonerview.xml.h:3
msgid "StonerView"
-msgstr "Spirale psyché"
+msgstr "Spirale psyché"
#: hacks/config/strange.xml.h:1
msgid "Curviness"
#: hacks/config/strange.xml.h:9
msgid "Strange"
-msgstr "Étrange"
+msgstr "Étrange"
#: hacks/config/strange.xml.h:10
msgid ""
"field of dots that swoops and twists around. The motion is very nice. "
"Written by Massimino Pascal."
msgstr ""
-"Dessine d'étranges attracteurs : ils ressemblent à des champs de points "
-"colorés qui tournent et se tortillent de manière imprévisible. Le mouvement "
-"est très beau. Écrit par Massimino Pascal."
+"Dessine d'étranges attracteurs : ils ressemblent à des champs de points "
+"colorés qui tournent et se tortillent de manière imprévisible. Le mouvement "
+"est très beau. Écrit par Massimino Pascal."
#: hacks/config/superquadrics.xml.h:2
msgid ""
"on a Commodore 64 in 1987, as a 320x200 black and white wireframe. Now it is "
"GL and has specular reflections."
msgstr ""
-"Ed Mackey déclare avoir écrit la première version de ce programme en langage "
+"Ed Mackey déclare avoir écrit la première version de ce programme en langage "
"BASIC sur un Commodore 64 en 1987, sous la forme d'un maillage graphique "
-"320x200 noir et blanc. Il est désormais en GL et présente des réflexions "
-"spéculaires."
+"320x200 noir et blanc. Il est désormais en GL et présente des réflexions "
+"spéculaires."
#: hacks/config/superquadrics.xml.h:10
msgid "Superquadrics"
"There is also a cool Java applet of a similar concept."
msgstr ""
"Autre motifs fluides et tourbillonnants. Cette version est de M. Dobie et R. "
-"Taylor, mais vous avez peut-être déjà vu un programme Mac similaire appelé "
+"Taylor, mais vous avez peut-être déjà vu un programme Mac similaire appelé "
"FlowFazer. Il existe aussi une chouette applet Java avec un concept "
-"apparenté."
+"apparenté."
#: hacks/config/swirl.xml.h:8
msgid "Swirl"
#: hacks/config/t3d.xml.h:1
msgid "0 deg"
-msgstr ""
+msgstr "0°"
#: hacks/config/t3d.xml.h:2
msgid "5 Minute Tick Marks"
#: hacks/config/t3d.xml.h:3
msgid "90 deg"
-msgstr ""
+msgstr "90°"
#: hacks/config/t3d.xml.h:4
msgid "Bigger"
"This draws a working analog clock composed of floating, throbbing bubbles. "
"Written by Bernd Paysan."
msgstr ""
-"Dessine une horloge analogique composée de bulles flottantes et pulsatiles. "
-"Écrit par Bernd Paysan."
+"Dessine une horloge analogique composée de bulles flottantes et pulsatiles. "
+"Écrit par Bernd Paysan."
#: hacks/config/t3d.xml.h:16
msgid "Turn Side-to-Side"
msgstr "Retourner"
#: hacks/config/t3d.xml.h:17
-#, fuzzy
msgid "Wobbliness"
msgstr "Oscillation"
"Displays a view of the ``Bird in a Thornbush'' fractal. Written by Tim "
"Auckland."
msgstr ""
-"Affiche la fractale de l' ''oiseau dans un buisson épineux''. Écrit par Tim "
+"Affiche la fractale de l'«oiseau dans un buisson épineux». Écrit par Tim "
"Auckland."
#: hacks/config/thornbird.xml.h:6
#: hacks/config/thornbird.xml.h:12
msgid "Thornbird"
-msgstr "Buisson épineux"
+msgstr "Buisson épineux"
#: hacks/config/triangle.xml.h:2
msgid ""
"Generates random mountain ranges using iterative subdivision of triangles. "
"Written by Tobias Gloth."
msgstr ""
-"Génère des chaînes de montagne aléatoires en utilisant la subdivision "
-"itérative de triangles. Écrit par Tobias Gloth."
+"Génère des chaînes de montagne aléatoires en utilisant la subdivision "
+"itérative de triangles. Écrit par Tobias Gloth."
#: hacks/config/triangle.xml.h:7
msgid "Triangle"
"This draws line- and arc-based Truchet patterns that tile the screen. "
"Written by Adrian Likins."
msgstr ""
-"Dessine des motifs de Truchet basés sur des lignes et des arcs, qui "
-"recouvrent l'écran. Écrit par Adrian Likins."
+"Dessine des motifs de Truchet basés sur des lignes et des arcs, qui "
+"recouvrent l'écran. Écrit par Adrian Likins."
#: hacks/config/truchet.xml.h:5
msgid "Truchet"
msgid ""
"Divides the screen into a grid, and plucks them. Written by Dan Bornstein."
msgstr ""
-"Divise l'écran en petits rectangles, qui sont ensuite enlevés. Écrit par Dan "
+"Divise l'écran en petits rectangles, qui sont ensuite enlevés. Écrit par Dan "
"Bornstein."
#: hacks/config/twang.xml.h:6
msgstr "Sautillant"
#: hacks/config/twang.xml.h:11
-#, fuzzy
msgid "Springiness"
-msgstr "Flexibilité"
+msgstr "Flexibilité"
#: hacks/config/twang.xml.h:13
-#, fuzzy
msgid "Transference"
msgstr "Migration"
#: hacks/config/vermiculate.xml.h:1
msgid "Draws squiggly worm-like paths. Written by Tyler Pierce."
-msgstr "Trace des gribouillis vermiculés. Écrit par Tyler Pierce."
+msgstr "Trace des gribouillis vermiculés. Écrit par Tyler Pierce."
#: hacks/config/vermiculate.xml.h:2
msgid "Vermiculate"
-msgstr "Vermiculé"
+msgstr "Vermiculé"
#: hacks/config/vidwhacker.xml.h:2 hacks/config/webcollage.xml.h:2
msgid "2 seconds"
#: hacks/config/vidwhacker.xml.h:4
msgid "Image Directory"
-msgstr "Répertoire d'images"
+msgstr "Répertoire d'images"
#: hacks/config/vidwhacker.xml.h:5
msgid ""
"displays that image for a few seconds, and does it again. This works really "
"well if you just feed broadcast television into it."
msgstr ""
-"Il s'agit d'un simple script shell qui capture une image depuis l'entrée "
-"vidéo du système et utilise des filtres PBM (choisis au hasard) pour "
-"manipuler et reformer l'image vidéo de diverses manières (détection des "
-"contours, soustraction de l'image d'une version pivotée d'elle-même, etc.) "
+"Il s'agit d'un simple script shell qui capture une image depuis l'entrée "
+"vidéo du système et utilise des filtres PBM (choisis au hasard) pour "
+"manipuler et reformer l'image vidéo de diverses manières (détection des "
+"contours, soustraction de l'image d'une version pivotée d'elle-même, etc.) "
"Ensuite, il affiche cette image pendant quelques secondes et recommence. Ce "
-"programme fonctionne très bien si vous le reliez à un téléviseur."
+"programme fonctionne très bien si vous le reliez à un téléviseur."
#: hacks/config/vidwhacker.xml.h:6
msgid "VidWhacker"
"It scatters them around your screen until it fills up, then it clears the "
"screen and starts over. Written by Tracy Camp and David Hansen."
msgstr ""
-"Génère une séquence continue de petits motifs géométriques et arrondis. Ils "
-"remplissent l'écran, puis s'effacent avant de recommencer l'opération. Écrit "
+"Génère une séquence continue de petits motifs géométriques et arrondis. Ils "
+"remplissent l'écran, puis s'effacent avant de recommencer l'opération. Écrit "
"par Tracy Camp et David Hansen."
#: hacks/config/vines.xml.h:8
msgid ""
"Draws a colorful random-walk, in various forms. Written by Rick Campbell."
msgstr ""
-"Dessine une promenade aléatoire colorée, sous plusieurs formes. Écrit par "
+"Dessine une promenade aléatoire colorée, sous plusieurs formes. Écrit par "
"Rick Campbell."
#: hacks/config/wander.xml.h:14
-#, fuzzy
msgid "Sustain"
msgstr "Conserver"
#: hacks/config/webcollage.xml.h:5
msgid "Overall Filter Program"
-msgstr "Programme de filtrage général"
+msgstr "Programme de filtrage général"
#: hacks/config/webcollage.xml.h:6
msgid "Per-Image Filter Program"
"This is because most of the web is pictures of text. Which is pretty sad.) "
"Written by Jamie Zawinski."
msgstr ""
-"Ce programme effectue des collages à partir d'images extraites au hasard "
-"depuis le World Wide Web. Il les trouve en faisant des recherches aléatoires "
-"sur le Web et en extrayant les images des pages trouvées. Il peut également "
-"être configuré pour filtrer les images via le programme 'VidWhacker' ci-"
-"dessus, pour obtenir des résultats stupéfiants. (Notez que la plupart des "
-"images trouvées sont en fait du texte et non des images proprement dites. "
-"Cela est dû au fait que la plupart des images du Web contiennent du texte, "
-"ce qui est assez désolant.) Écrit par Jamie Zawinski."
+"Ce programme effectue des collages à partir d'images extraites au hasard "
+"depuis le World Wide Web. Il les trouve en faisant des recherches aléatoires "
+"sur le Web et en extrayant les images des pages trouvées. Il peut également "
+"être configuré pour filtrer les images via le programme 'VidWhacker' ci-"
+"dessus, pour obtenir des résultats stupéfiants. (Notez que la plupart des "
+"images trouvées sont en fait du texte et non des images proprement dites. "
+"Cela est dû au fait que la plupart des images du Web contiennent du texte, "
+"ce qui est assez désolant.) Écrit par Jamie Zawinski."
#: hacks/config/webcollage.xml.h:10
msgid "URL Timeout"
-msgstr "Délai d'expiration de l'URL"
+msgstr "Délai d'expiration de l'URL"
#: hacks/config/webcollage.xml.h:11
msgid "WebCollage"
"strength of each forcefield changes continuously, and it is also switched on "
"and off at random. By Paul 'Joey' Clark."
msgstr ""
-"Des étoiles flottantes sont influencées par un mélange de simples champs de "
+"Des étoiles flottantes sont influencées par un mélange de simples champs de "
"forces 2D. La puissance de chaque champ de forces change continuellement. "
-"Les champs sont également activés et désactivés au hasard. Par Paul 'Joey' "
+"Les champs sont également activés et désactivés au hasard. Par Paul 'Joey' "
"Clark."
#: hacks/config/whirlwindwarp.xml.h:7
-#, fuzzy
msgid "Trail Size"
msgstr "Taille de la queue"
#: hacks/config/whirlygig.xml.h:2
msgid "Draws zooming chains of sinusoidal spots. Written by Ashton Trey Belew."
msgstr ""
-"Dessine des chaînes de taches sinusoïdales. Écrit par Ashton Trey Belew."
+"Dessine des chaînes de taches sinusoïdales. Écrit par Ashton Trey Belew."
#: hacks/config/whirlygig.xml.h:5
msgid "Whirlies"
"screen. Written by Brad Taylor, Dave Lemke, Boris Putanec, and Henrik "
"Theiling."
msgstr ""
-"Ancien hack xlock qui dessine des vers multicolores rampant sur l'écran. "
-"Écrit par Brad Taylor, Dave Lemke, Boris Putanec et Henrik Theiling."
+"Ancien hack xlock qui dessine des vers multicolores rampant sur l'écran. "
+"Écrit par Brad Taylor, Dave Lemke, Boris Putanec et Henrik Theiling."
#: hacks/config/xaos.xml.h:1
msgid "XaoS"
#: hacks/config/xdaliclock.xml.h:5
msgid "Huge Font"
-msgstr "Très grande police"
+msgstr "Très grande police"
#: hacks/config/xdaliclock.xml.h:6 hacks/config/xmatrix.xml.h:9
msgid "Large Font"
#: hacks/config/xearth.xml.h:5
msgid "Display Stars"
-msgstr "Afficher les étoiles"
+msgstr "Afficher les étoiles"
#: hacks/config/xearth.xml.h:8
msgid "Label Cities"
#: hacks/config/xearth.xml.h:9
msgid "Lower Left"
-msgstr "Inférieur gauche"
+msgstr "Inférieur gauche"
#: hacks/config/xearth.xml.h:10
msgid "Lower Right"
-msgstr "Inférieur droit"
+msgstr "Inférieur droit"
#: hacks/config/xearth.xml.h:13
msgid "Mercator Projection"
#: hacks/config/xearth.xml.h:15
msgid "No Stars"
-msgstr "Pas d'étoiles"
+msgstr "Pas d'étoiles"
#: hacks/config/xearth.xml.h:16
msgid "North/South Rotation"
#: hacks/config/xearth.xml.h:19
msgid "Real Time"
-msgstr "Temps réel"
+msgstr "Temps réel"
#: hacks/config/xearth.xml.h:20
msgid "Shaded Image"
-msgstr "Image ombragée"
+msgstr "Image ombragée"
#: hacks/config/xearth.xml.h:21
msgid "Sharp"
#: hacks/config/xearth.xml.h:29
msgid "Upper Left"
-msgstr "Supérieur gauche"
+msgstr "Supérieur gauche"
#: hacks/config/xearth.xml.h:30
msgid "Upper Right"
-msgstr "Supérieur droit"
+msgstr "Supérieur droit"
#: hacks/config/xearth.xml.h:31
msgid ""
"Draws a simulation of pulsing fire. It can also take an arbitrary image and "
"set it on fire too. Written by Carsten Haitzler, hacked on by many others."
msgstr ""
-"Dessine une simulation de feu rougeoyant. Il peut également choisir une "
-"image arbitraire et lui mettre le feu. Écrit par Carsten Haitzler, avec de "
+"Dessine une simulation de feu rougeoyant. Il peut également choisir une "
+"image arbitraire et lui mettre le feu. Écrit par Carsten Haitzler, avec de "
"nombreuses contributions."
#: hacks/config/xflame.xml.h:3
msgid "Enable Blooming"
-msgstr "Activer l'étendue"
+msgstr "Activer l'étendue"
#: hacks/config/xflame.xml.h:8
msgid "Xflame"
"Shining,'' you won't get it. Those who have describe this hack as "
"``inspired.''"
msgstr ""
-"Ce programme a un comportement schizophrène et effectue de nombreuses "
-"coquilles. Écrit par Jamie Zawinski. Si vous n'avez pas vu le chef-d'oeuvre "
-"de Stanley Kubrick, ''Shining'', vous n'y comprendrez rien. Ceux qui l'ont "
-"vu considèrent ce hack comme ''inspiré''."
+"Ce programme a un comportement schizophrène et effectue de nombreuses "
+"coquilles. Écrit par Jamie Zawinski. Si vous n'avez pas vu le chef-d'oeuvre "
+"de Stanley Kubrick, «Shining», vous n'y comprendrez rien. Ceux qui l'ont vu "
+"considèrent ce hack comme «inspiré»."
#: hacks/config/xjack.xml.h:5
msgid "Xjack"
"``Lyapunov exponent.'' It has a cool interactive mode, too. Written by Ron "
"Record."
msgstr ""
-"Génère de jolies fractales en effectuant de géniales opérations de math "
-"utilisant ''l'exposant de Lyapunov''. Il possède aussi un mode interactif. "
-"Écrit par Ron Record."
+"Génère de jolies fractales en effectuant de géniales opérations de math "
+"utilisant ''l'exposant de Lyapunov''. Il possède aussi un mode interactif. "
+"Écrit par Ron Record."
#: hacks/config/xlyap.xml.h:2
msgid "Xlyap"
"A rendition of the text scrolls seen in the movie ``The Matrix.'' Written by "
"Jamie Zawinski."
msgstr ""
-"Reproduction du texte qui défile à l'écran au début du film ''Matrix''. "
-"Écrit par Jamie Zawinski."
+"Reproduction du texte qui défile à l'écran au début du film «Matrix». Écrit "
+"par Jamie Zawinski."
#: hacks/config/xmatrix.xml.h:2
msgid "Binary Encoding"
#: hacks/config/xmatrix.xml.h:7
msgid "Genetic Encoding"
-msgstr "Encodage génétique"
+msgstr "Encodage génétique"
#: hacks/config/xmatrix.xml.h:8
msgid "Hexadecimal Encoding"
-msgstr "Encodage hexadécimal"
+msgstr "Encodage hexadécimal"
#: hacks/config/xmatrix.xml.h:10
msgid "Matrix Encoding"
#: hacks/config/xmatrix.xml.h:11
msgid "Phone Number"
-msgstr "Numéro de téléphone"
+msgstr "Numéro de téléphone"
#: hacks/config/xmatrix.xml.h:12
msgid "Run Trace Program"
-msgstr "Exécuter le programme de suivi"
+msgstr "Exécuter le programme de suivi"
#: hacks/config/xmatrix.xml.h:13
msgid "Slider Algorithm"
#: hacks/config/xmountains.xml.h:2
msgid "Reflections"
-msgstr "Réflexions"
+msgstr "Réflexions"
#: hacks/config/xmountains.xml.h:3
msgid "Side View"
-msgstr "Vue latérale"
+msgstr "Vue latérale"
#: hacks/config/xmountains.xml.h:6
msgid "Top View"
"Draws a few swarms of critters flying around the screen, with nicely faded "
"color trails behind them. Written by Chris Leger."
msgstr ""
-"Dessine quelques nuées de bestioles qui volent sur l'écran, avec de jolies "
-"traînées dans des fondus de couleur. Écrit par Chris Leger."
+"Dessine quelques nuées de bestioles qui volent sur l'écran, avec de jolies "
+"traînées dans des fondus de couleur. Écrit par Chris Leger."
#: hacks/config/xrayswarm.xml.h:5
msgid "XRaySwarm"
"Simulates that pen-in-nested-plastic-gears toy from your childhood. By Rohit "
"Singh."
msgstr ""
-"Simule le célèbre jouet de notre enfance, constitué d'un stylo logé dans un "
+"Simule le célèbre jouet de notre enfance, constitué d'un stylo logé dans un "
"engrenage en plastique. Par Rohit Singh."
#: hacks/config/xspirograph.xml.h:6
#: hacks/config/xteevee.xml.h:1
msgid "Color Bars Enabled"
-msgstr "Barres de couleur activées"
+msgstr "Barres de couleur activées"
#: hacks/config/xteevee.xml.h:2
-#, fuzzy
msgid "Cycle Through Modes"
-msgstr "Cycle de modes"
+msgstr "Cycle à travers les modes"
#: hacks/config/xteevee.xml.h:3
msgid "Rolling Enabled"
-msgstr "Baladage activé"
+msgstr "Baladage activé"
#: hacks/config/xteevee.xml.h:4
msgid "Static Enabled"
-msgstr "Parasites activés"
+msgstr "Parasites activés"
#: hacks/config/xteevee.xml.h:5
msgid "XTeeVee"
"XTeeVee simulates various television problems, including static, loss of "
"vertical hold, and a test pattern. By Greg Knauss."
msgstr ""
-"XTeeVee simule différents problèmes de télévision comme les parasites, la "
-"perte de stabilité verticale et la mire. Par Greg Knauss."
+"XTeeVee simule différents problèmes de télévision comme les parasites, la "
+"perte de stabilité verticale et la mire. Par Greg Knauss."
#: hacks/config/zoom.xml.h:3
msgid "Lens Offset"
-msgstr "Décalage lentille"
+msgstr "Décalage lentille"
#: hacks/config/zoom.xml.h:4
msgid "Lenses"
"option the result is like looking through many overlapping lenses rather "
"than just a simple zoom. Written by James Macnicol."
msgstr ""
-"Zoome sur une partie de l'écran et se déplace. Avec l'option - lentilles, le "
-"résultat ressemble à la superposition de lentilles plutôt qu'à un simple "
-"zoom. Écrit par James Macnicol."
+"Zoome sur une partie de l'écran et se déplace. Avec l'option '-lenses', le "
+"résultat ressemble à la superposition de lentilles plutôt qu'à un simple "
+"zoom. Érit par James Macnicol."
+
+#~ msgid "reason: %s\n"
+#~ msgstr "Raison: %s\n"
+
+#~ msgid "Not"
+#~ msgstr "Non"
+
+#~ msgid "Installed"
+#~ msgstr "Installé"
+
+#~ msgid "Screensaver Preferences"
+#~ msgstr "Préférences Économiseur d'écran"
+
+#~ msgid "Change screensaver properties"
+#~ msgstr "Changer les propriétés de l'économiseur d'écran"
+
+#~ msgid "How long after the screen blanks until a password will be required."
+#~ msgstr "Durée entre le verrouillage et la nécessité d'un mot de passe"
+
+#~ msgid "How long before the screensaver activates."
+#~ msgstr "Combien de temps avant que l'économiseurs s'active."
+
+#~ msgid ""
+#~ "How long each display mode should run before choosing a new one (in "
+#~ "Random mode.)"
+#~ msgstr "Combien de temps avant le changement de mode (en mode Aléatoire)"
+
+#~ msgid "How long until the monitor goes completely black."
+#~ msgstr "Durée avant que le moniteur passe complètement au noir."
+
+#~ msgid ""
+#~ "Not\n"
+#~ "Installed"
+#~ msgstr ""
+#~ "Non\n"
+#~ "Installé"
+
+#~ msgid ""
+#~ "Whether the image-manipulating modes should operate on images captured "
+#~ "from the system's video input (if there is one.)"
+#~ msgstr ""
+#~ "Les modes qui manipulent des images sont-ils autorisé à utiliser des "
+#~ "images capturées par l'entrée vidéo du système (si il y en a une)."
+
+#~ msgid "not installed"
+#~ msgstr "non installé"
+
+#~ msgid "Rarely"
+#~ msgstr "Rarement"
+
+#~ msgid "Turn speed"
+#~ msgstr "Vitesse de rotation"
+
+#~ msgid "Withdraw freqency"
+#~ msgstr "Fréquence de retrait"
+
+#~ msgid "Draw Eyes"
+#~ msgstr "Dessiner les yeux"
+
+#~ msgid "Atunnel"
+#~ msgstr "Tunnel GL"
+
+#~ msgid "Use light"
+#~ msgstr "Utiliser l'éclairage"
+
+#~ msgid "Barcode"
+#~ msgstr "Code barre"
+
+#~ msgid "Barcode Clock (24 Hour)"
+#~ msgstr "Horloge code barre (24 Heures)"
+
+#~ msgid "Barcode Clock (AM/PM)"
+#~ msgstr "Horloge code barre (12 Heures)"
+
+#~ msgid "Scrolling Barcodes"
+#~ msgstr "Codes barre déroulants"
+
+#~ msgid "BlockTube"
+#~ msgstr "Tube de blocs"
+
+#~ msgid "Color Change Time"
+#~ msgstr "Durée de changement de couleur"
+
+#~ msgid "Color Hold Time"
+#~ msgstr "Durée de rétention de couleur"
+
+#~ msgid "Reflective Blocks"
+#~ msgstr "Blocs réfléchissants"
+
+#~ msgid "Solid Blocks"
+#~ msgstr "Blocs uniforme"
+
+#~ msgid "Beefy Cow"
+#~ msgstr "Vache normande"
+
+#~ msgid "Bounce Speed"
+#~ msgstr "Vitesse de rebond"
+
+#~ msgid "BouncingCow"
+#~ msgstr "Vache bondissante"
+
+#~ msgid "Herd"
+#~ msgstr "Troupeau"
+
+#~ msgid "Moo"
+#~ msgstr "Meuh"
+
+#~ msgid "Number of Cows"
+#~ msgstr "Nombre de vaches"
+
+#~ msgid "Wireframe Cow"
+#~ msgstr "Vache fil de fer"
+
+#~ msgid "Apple II"
+#~ msgstr "Apple II"
+
+#~ msgid "HPUX"
+#~ msgstr "HPUX"
+
+#~ msgid "Linux"
+#~ msgstr "Linux"
+
+#~ msgid "MacOS X"
+#~ msgstr "MacOS X"
+
+#~ msgid "OS/390"
+#~ msgstr "OS/390"
+
+#~ msgid "Windows 3.1"
+#~ msgstr "Windows 3.1"
+
+#~ msgid "Initial Density"
+#~ msgstr "Densité initiale"
+
+#~ msgid "Max Age"
+#~ msgstr "Age max."
+
+#~ msgid "Old"
+#~ msgstr "Vieux"
+
+#~ msgid "Young"
+#~ msgstr "Jeune"
+
+#~ msgid "CubeStorm"
+#~ msgstr "Tempète de cubes"
+
+#~ msgid "Motion Speed"
+#~ msgstr "Vitesse de déplacement"
+
+#~ msgid "Number of Cubes"
+#~ msgstr "Nombre de cubes"
+
+#~ msgid "Strut Thickness"
+#~ msgstr "Épaisseur"
+
+#~ msgid "Frame Rate"
+#~ msgstr "Vitesse"
+
+#~ msgid "Hide Sheep"
+#~ msgstr "Cache le mouton"
+
+#~ msgid "Megabytes of Local Sheep Storage"
+#~ msgstr "Mégaoctet de mémoire pour le mouton"
+
+#~ msgid "Nickname"
+#~ msgstr "Alias"
+
+#~ msgid "Repititions of each Sheep"
+#~ msgstr "Répétition de chaque mouton"
+
+#~ msgid "Audi Quattro (5 cylinders)"
+#~ msgstr "Audi Quattro (5 cylindres)"
+
+#~ msgid "BMW M3 (4 cylinders)"
+#~ msgstr "BMW M3 (4 cylindres)"
+
+#~ msgid "BMW M5 (6 cylinders)"
+#~ msgstr "BMW M5 (6 cylindres)"
+
+#~ msgid "Corvette Z06 (8 cylinders, V)"
+#~ msgstr "Corvette Z06 (8 cylindres en V)"
+
+#~ msgid "Dodge Viper (10 cylinders, V)"
+#~ msgstr "Dodge Viper (10 cylindres en V)"
+
+#~ msgid "Honda Insight (3 cylinders)"
+#~ msgstr "Honda Insight (3 cylindres)"
+
+#~ msgid "Jaguar XKE (12 cylinders, V)"
+#~ msgstr "Jaguar XKE (12 cylindres en V)"
+
+#~ msgid "Porsche 911 (6 cylinders, flat)"
+#~ msgstr "Porsche 911 (6 cylindres à plat)"
+
+#~ msgid "Random Engine"
+#~ msgstr "Engin aléatoire"
+
+#~ msgid "Show Engine Name"
+#~ msgstr "Montre le nom de l'engin"
+
+#~ msgid "Subaru XT (6 cylinders, V)"
+#~ msgstr "Subaru XT (6 cylindres en V)"
+
+#~ msgid "VW Beetle (4 cylinders, flat)"
+#~ msgstr "VW Beetle (4 cylindres à plat)"
+
+#~ msgid "Cooling factor"
+#~ msgstr "Facteur de refroidissement"
+
+#~ msgid "Eruption"
+#~ msgstr "Éruption"
+
+#~ msgid "Heat"
+#~ msgstr "Chaleur"
+
+#~ msgid "Inferno"
+#~ msgstr "Infernale"
+
+#~ msgid "Little"
+#~ msgstr "Peu"
+
+#~ msgid "Negative"
+#~ msgstr "Négative"
+
+#~ msgid "Number of Particles"
+#~ msgstr "Nombre de particules"
+
+#~ msgid "Pleasant"
+#~ msgstr "Plaisante"
+
+#~ msgid "Positive"
+#~ msgstr "Positive"
+
+#~ msgid "Clay"
+#~ msgstr "Argile"
+
+#~ msgid "Rubber"
+#~ msgstr "Caoutchouc"
+
+#~ msgid "Binary"
+#~ msgstr "Binaire"
+
+#~ msgid "Fire"
+#~ msgstr "Feu"
+
+#~ msgid "Flurry"
+#~ msgstr "Bourrasque"
+
+#~ msgid "Insane"
+#~ msgstr "Aliéné"
+
+#~ msgid "Psychedelic"
+#~ msgstr "Psychédélique"
+
+#~ msgid "RGB"
+#~ msgstr "RVB"
+
+#~ msgid "Water"
+#~ msgstr "Eau"
+
+#~ msgid "Air Speed"
+#~ msgstr "Vitesse de l'air"
+
+#~ msgid "Chrome Toasters"
+#~ msgstr "Grille-pain chromé"
+
+#~ msgid "Flying Toasters"
+#~ msgstr "Grille-pain volant"
+
+#~ msgid "Number of Slices"
+#~ msgstr "Nombre de tranches"
+
+#~ msgid "Number of Toasters"
+#~ msgstr "Nombre de grille-pains"
+
+#~ msgid "Solid Colors"
+#~ msgstr "Couleurs unies"
+
+#~ msgid "Swarm"
+#~ msgstr "Essaim"
+
+#~ msgid "Blur Smoothness"
+#~ msgstr "Douceur de flou"
+
+#~ msgid "GLBlur"
+#~ msgstr "Flou GL"
+
+#~ msgid "GLKnots"
+#~ msgstr "Noeuds GL"
+
+#~ msgid ""
+#~ "Generates some twisting 3d knot patterns. Spins 'em around. Written by "
+#~ "Jamie Zawinski."
+#~ msgstr "Génère de nombreux motifs 3D en spirale. Écrit par Jamie Zawinski."
+
+#~ msgid "Segmented"
+#~ msgstr "Segmenté"
+
+#~ msgid "Draw Glyphs"
+#~ msgstr "Dessiner des glyphes"
+
+#~ msgid "Draw Outlines"
+#~ msgstr "Dessiner en fil de fer"
+
+#~ msgid "Draw Solid Boxes"
+#~ msgstr "Dessiner sans texture"
+
+#~ msgid "GLMatrix"
+#~ msgstr "GLMatrix"
+
+#~ msgid "Glyph Density"
+#~ msgstr "Densité des glyphes"
+
+#~ msgid "Glyph Speed"
+#~ msgstr "Vitesse des glyphes"
+
+#~ msgid "Panning"
+#~ msgstr "Panoramique"
+
+#~ msgid "5 Minutes"
+#~ msgstr "5 minutes"
+
+#~ msgid "50%"
+#~ msgstr "50%"
+
+#~ msgid "Always show at least this much of the image:"
+#~ msgstr "Montre au moins ce nombre d'images :"
+
+#~ msgid "Crossfade Duration:"
+#~ msgstr "Durée du fondu :"
+
+#~ msgid "Frame Rate:"
+#~ msgstr "Vitesse d'affichage :"
+
+#~ msgid "GLSlideshow"
+#~ msgstr "Présentation GL"
+
+#~ msgid "Pan/Zoom Duration:"
+#~ msgstr "Durée Pan/Zoom :"
+
+#~ msgid "Time until loading a new image:"
+#~ msgstr "Temps avant le chargement d'une nouvelle image :"
+
+#~ msgid "Dot size"
+#~ msgstr "Taille des points"
+
+#~ msgid "Gravity points"
+#~ msgstr "Points de gravité"
+
+#~ msgid "Halftone"
+#~ msgstr "Tramage"
+
+#~ msgid "Maximum mass"
+#~ msgstr "Masse max."
+
+#~ msgid "Maximum speed"
+#~ msgstr "Vitesse max."
+
+#~ msgid "Minimum mass"
+#~ msgstr "Masse min."
+
+#~ msgid "Minimum speed"
+#~ msgstr "Vitesse min."
+
+#~ msgid "4D Hypertorus"
+#~ msgstr "Hypertore 4D"
+
+#~ msgid "Color Wheel"
+#~ msgstr "Roue des couleurs"
+
+#~ msgid "Display Speed"
+#~ msgstr "Vitesse d'affichage"
+
+#~ msgid "Orthographic 3d"
+#~ msgstr "Projection orthographique 3D"
+
+#~ msgid "Orthographic 4d"
+#~ msgstr "Projection orthographique 4D"
+
+#~ msgid "Perspective 3d"
+#~ msgstr "Perspective 3D"
+
+#~ msgid "Perspective 4d"
+#~ msgstr "Perspective 4D"
+
+#~ msgid "See-Through Bands"
+#~ msgstr "Eléments que l'on peut voir à travers"
+
+#~ msgid "Solid Object"
+#~ msgstr "Objets solides"
+
+#~ msgid "Transparent Surface"
+#~ msgstr "Surface transparente"
+
+#~ msgid "Two-Sided"
+#~ msgstr "2 faces"
+
+#~ msgid "WX Rotation Speed"
+#~ msgstr "Vitesse de rotation X"
+
+#~ msgid "WY Rotation Speed"
+#~ msgstr "Vitesse de rotation Y"
+
+#~ msgid "WZ Rotation Speed"
+#~ msgstr "Vitesse de rotation Z"
+
+#~ msgid "Wireframe Mesh"
+#~ msgstr "Fil de fer"
+
+#~ msgid "XY Rotation Speed"
+#~ msgstr "Vitesse de rotation XY"
+
+#~ msgid "XZ Rotation Speed"
+#~ msgstr "Vitesse de rotation XZ"
+
+#~ msgid "YZ Rotation Speed"
+#~ msgstr "Vitesse de rotation YZ"
+
+#~ msgid "Chrome"
+#~ msgstr "Chrome"
+
+#~ msgid "Clown barf"
+#~ msgstr "Rire de clown"
+
+#~ msgid "Cycle"
+#~ msgstr "Cycles"
+
+#~ msgid "Flower box"
+#~ msgstr "Boîte à fleurs"
+
+#~ msgid "Inertial damping"
+#~ msgstr "Atténuation inertielle"
+
+#~ msgid "JigglyPuff"
+#~ msgstr "JigglyPuff"
+
+#~ msgid "Rotation speed"
+#~ msgstr "Vitesse de rotation"
+
+#~ msgid "Sphere strength"
+#~ msgstr "Force de la sphère"
+
+#~ msgid "none"
+#~ msgstr "Aucun"
+
+#~ msgid "Wander Around the Screen"
+#~ msgstr "Déplacement centré sur l'écran"
+
+#~ msgid "Big"
+#~ msgstr "Élevé"
+
+#~ msgid "MetaBall Movement"
+#~ msgstr "Mouvement méta-balle"
+
+#~ msgid "MetaBall Radius"
+#~ msgstr "Rayon méta-balle"
+
+#~ msgid "MetaBalls"
+#~ msgstr "Méta-Balles"
+
+#~ msgid "Number of MetaBalls"
+#~ msgstr "Nombre de méta-balles"
+
+#~ msgid "Maximum radius"
+#~ msgstr "Rayon max."
+
+#~ msgid "Minimum radius"
+#~ msgstr "Rayon min."
+
+#~ msgid "Border"
+#~ msgstr "Bordure"
+
+#~ msgid "End color"
+#~ msgstr "Couleur finale"
+
+#~ msgid "Start color"
+#~ msgstr "Couleur initiale"
+
+#~ msgid "Subdivision"
+#~ msgstr "Subdivision"
+
+#~ msgid "Twitch"
+#~ msgstr "Mouvement convulsif"
+
+#~ msgid "Circle"
+#~ msgstr "Cercle"
+
+#~ msgid "Leave a trail"
+#~ msgstr "Laisser une traînée"
+
+#~ msgid "Linear"
+#~ msgstr "Linéaire"
+
+#~ msgid "Lissajous"
+#~ msgstr "Figures Lissojous"
+
+#~ msgid "Test"
+#~ msgstr "Test"
-#~ msgid "MacOS"
-#~ msgstr "MacOS"
+#~ msgid "Use Double Buffering"
+#~ msgstr "Double tampon"