http://www.jwz.org/xscreensaver/xscreensaver-5.09.tar.gz
[xscreensaver] / hacks / julia.c
index 6a7323def51dc9687448082d5dec6f87a180cfaf..f0236617e5929014c01806fb54d48c807053a921 100644 (file)
@@ -20,6 +20,7 @@ static const char sccsid[] = "@(#)julia.c     4.03 97/04/10 xlockmore";
  * other special, indirect and consequential damages.
  *
  * Revision History:
+ * 10-Jun-06: j.grahl@ucl.ac.uk: tweaked functions for parameter of Julia set
  * 28-May-97: jwz@jwz.org: added interactive frobbing with the mouse.
  * 10-May-97: jwz@jwz.org: turned into a standalone program.
  * 02-Dec-95: snagged boilerplate from hop.c
@@ -40,7 +41,9 @@ static const char sccsid[] = "@(#)julia.c     4.03 97/04/10 xlockmore";
 # define DEFAULTS      "*count:                1000  \n"                       \
                                        "*cycles:               20    \n"                       \
                                        "*delay:                10000 \n"                       \
-                                       "*ncolors:              200   \n"
+                                       "*ncolors:              200   \n" \
+                                       "*fpsSolid:             true   \n" \
+
 # define UNIFORM_COLORS
 # define reshape_julia 0
 # define julia_handle_event 0
@@ -159,6 +162,7 @@ incr(ModeInfo * mi, juliastruct * jp)
        else
          {
          NOTRACK:
+#if 0
                jp->cr = 1.5 * (sin(M_PI * (jp->inc / 300.0)) *
                                                sin(jp->inc * M_PI / 200.0));
                jp->ci = 1.5 * (cos(M_PI * (jp->inc / 300.0)) *
@@ -166,6 +170,15 @@ incr(ModeInfo * mi, juliastruct * jp)
 
                jp->cr += 0.5 * cos(M_PI * jp->inc / 400.0);
                jp->ci += 0.5 * sin(M_PI * jp->inc / 400.0);
+#else
+        jp->cr = 1.5 * (sin(M_PI * (jp->inc / 290.0)) *
+                        sin(jp->inc * M_PI / 210.0));
+        jp->ci = 1.5 * (cos(M_PI * (jp->inc / 310.0)) *
+                        cos(jp->inc * M_PI / 190.0));
+
+        jp->cr += 0.5 * cos(M_PI * jp->inc / 395.0);
+        jp->ci += 0.5 * sin(M_PI * jp->inc / 410.0);
+#endif
          }
 }