⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fractalp.c

📁 frasr200的win 版本源码(18.21),使用make文件,使用的vc版本较低,在我的环境下编译有问题! 很不错的分形程序代码!
💻 C
📖 第 1 页 / 共 4 页
字号:
   HT_MARTIN, HF_MARTIN, NOGUESS+NOTRACE+INFCALC+WINFRAC,
   -32,  32, -32, 32, 0, NOFRACTAL, NOFRACTAL, NOFRACTAL,	NOSYM,
   martin2dfloatorbit, NULL,	     orbit3dfloatsetup, orbit2dfloat,	 NOBAILOUT,

   "lyapunov", "+Order (integer)", "Population Seed", "+Filter Cycles", ES, 0, 0.5, 0, 0,
   HT_LYAPUNOV, HT_LYAPUNOV, WINFRAC,
   -8.0, 8.0, -6.0, 6.0, 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
   BifurcLambda, NULL, lya_setup, lyapunov, NOBAILOUT,

   "lorenz3d1",timestep,A,B,C,.02,5,15,1,
   HT_LORENZ, HF_LORENZ3D1, NOGUESS+NOTRACE+NORESUME+WINFRAC+PARMS3D,
   -30.0,  30.0,  -30.0,   30.0, 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
   lorenz3d1floatorbit, NULL, orbit3dfloatsetup, orbit3dfloat, NOBAILOUT,

   "lorenz3d3",timestep,A,B,C,.02,10,28,2.66,
   HT_LORENZ, HF_LORENZ3D3, NOGUESS+NOTRACE+NORESUME+WINFRAC+PARMS3D,
   -30.0,  30.0,  -30.0,   30.0, 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
   lorenz3d3floatorbit, NULL, orbit3dfloatsetup, orbit3dfloat, NOBAILOUT,

   "lorenz3d4",timestep,A,B,C,.02,10,28,2.66,
   HT_LORENZ, HF_LORENZ3D4, NOGUESS+NOTRACE+NORESUME+WINFRAC+PARMS3D,
   -30.0,  30.0,  -30.0,   30.0, 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
   lorenz3d4floatorbit, NULL, orbit3dfloatsetup, orbit3dfloat, NOBAILOUT,

   t_lambda_fnorfn_+1, realparm, imagparm, shiftval, ES,1,0.1,1,0,
   HT_FNORFN, HF_LAMBDAFNFN, TRIG2+WINFRAC,
   -4.0,  4.0, -3.0,  3.0, 16, NOFRACTAL, LMANLAMFNFN, FPLAMBDAFNFN, ORIGIN,
   LambdaTrigOrTrigFractal, long_julia_per_pixel, LambdaTrigOrTrigSetup, StandardFractal,LTRIGBAILOUT,

   t_lambda_fnorfn_, realparm, imagparm, shiftval,ES,1,0.1,1,0,
   HT_FNORFN, HF_LAMBDAFNFN, TRIG2+WINFRAC,
   -4.0,  4.0, -3.0,  3.0, 0, NOFRACTAL, FPMANLAMFNFN, LLAMBDAFNFN,ORIGIN,
   LambdaTrigOrTrigfpFractal, otherjuliafp_per_pixel, LambdaTrigOrTrigSetup, StandardFractal,LTRIGBAILOUT,

   t_julia_fnorfn_+1, realparm, imagparm, shiftval, ES,0,0,8,0,
   HT_FNORFN, HF_JULIAFNFN, TRIG2+WINFRAC,
   -4.0,  4.0, -3.0,  3.0, 16, NOFRACTAL, LMANFNFN, FPJULFNFN,XAXIS,
   JuliaTrigOrTrigFractal, long_julia_per_pixel, JuliaTrigOrTrigSetup, StandardFractal,LTRIGBAILOUT,

   t_julia_fnorfn_, realparm, imagparm, shiftval,ES,0,0,8,0,
   HT_FNORFN, HF_JULIAFNFN, TRIG2+WINFRAC,
   -4.0,  4.0, -3.0,  3.0, 0, NOFRACTAL, FPMANFNFN, LJULFNFN,XAXIS,
   JuliaTrigOrTrigfpFractal, otherjuliafp_per_pixel, JuliaTrigOrTrigSetup, StandardFractal,LTRIGBAILOUT,

   t_manlam_fnorfn_+1, realz0, imagz0, shiftval,ES,0,0,10,0,
   HT_FNORFN, HF_MANLAMFNFN, TRIG2+WINFRAC,
   -4.0,  4.0, -3.0,  3.0, 16, LLAMBDAFNFN, NOFRACTAL, FPMANLAMFNFN,XAXIS_NOPARM,
   LambdaTrigOrTrigFractal, long_mandel_per_pixel, ManlamTrigOrTrigSetup, StandardFractal,LTRIGBAILOUT,

   t_manlam_fnorfn_, realz0, imagz0, shiftval,ES,0,0,10,0,
   HT_FNORFN, HF_MANLAMFNFN, TRIG2+WINFRAC,
   -4.0,  4.0, -3.0,  3.0, 0, FPLAMBDAFNFN, NOFRACTAL, LMANLAMFNFN,XAXIS_NOPARM,
   LambdaTrigOrTrigfpFractal, othermandelfp_per_pixel, ManlamTrigOrTrigSetup, StandardFractal,LTRIGBAILOUT,

   t_mandel_fnorfn_+1, realz0, imagz0, shiftval,ES,0,0,0.5,0,
   HT_FNORFN, HF_MANDELFNFN, TRIG2+WINFRAC,
   -4.0,  4.0, -3.0,  3.0, 16, LJULFNFN, NOFRACTAL, FPMANFNFN,XAXIS_NOPARM,
   JuliaTrigOrTrigFractal, long_mandel_per_pixel, MandelTrigOrTrigSetup, StandardFractal,LTRIGBAILOUT,

   t_mandel_fnorfn_, realz0, imagz0, shiftval,ES,0,0,0.5,0,
   HT_FNORFN, HF_MANDELFNFN, TRIG2+WINFRAC,
   -4.0,  4.0, -3.0,  3.0, 0, FPJULFNFN, NOFRACTAL, LMANFNFN,XAXIS_NOPARM,
   JuliaTrigOrTrigfpFractal, othermandelfp_per_pixel, MandelTrigOrTrigSetup, StandardFractal,LTRIGBAILOUT,

   t_bifmay+1,filt,seed,"Beta >= 2",ES,300.0,0.9,5,0,
   HT_BIF, HF_BIFMAY, NOGUESS+NOTRACE+NOROTATE+WINFRAC,
   -3.5, -0.9, -0.5, 3.2, 16, NOFRACTAL, NOFRACTAL, BIFMAY,	 NOSYM,
   LongBifurcMay, NULL, BifurcMaySetup, Bifurcation, NOBAILOUT,

   t_bifmay,filt,seed,"Beta >= 2",ES,300.0,0.9,5,0,
   HT_BIF, HF_BIFMAY, NOGUESS+NOTRACE+NOROTATE+WINFRAC,
   -3.5, -0.9, -0.5, 3.2, 0, NOFRACTAL, NOFRACTAL, LBIFMAY,	 NOSYM,
   BifurcMay, NULL, BifurcMaySetup, Bifurcation, NOBAILOUT,

   t_halley+1, "+Order (integer > 1)", "Relaxation coefficient", "Epsilon", ES, 6, 1.0, 0.0001, 0,
   HT_HALLEY, HF_HALLEY, WINFRAC,
   -2.0, 2.0, -1.3, 1.3, 0, NOFRACTAL, NOFRACTAL, HALLEY, XYAXIS,
   MPCHalleyFractal, MPCHalley_per_pixel, HalleySetup, StandardFractal, NOBAILOUT,

   t_halley, "+Order (integer > 1)", "Relaxation coefficient", "Epsilon", ES, 6, 1.0, 0.0001, 0,
   HT_HALLEY, HF_HALLEY, WINFRAC,
   -2.0, 2.0, -1.3, 1.3, 0, NOFRACTAL, NOFRACTAL, MPHALLEY, XYAXIS,
   HalleyFractal, Halley_per_pixel, HalleySetup, StandardFractal, NOBAILOUT,

   "dynamic","+# of intervals (<0 = connect)","time step (<0 = Euler",A,B,
   50,.1,1,3,
   HT_DYNAM, HF_DYNAM, NOGUESS+NOTRACE+NORESUME+WINFRAC+TRIG1,
   -20.0,  20.0,  -20.0,   20.0, 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
   dynamfloat, NULL, dynam2dfloatsetup, dynam2dfloat, NOBAILOUT,

   "quat", "notused", "notused",CJ,CK,0,0,0,0,
   HT_QUAT, HF_QUAT, WINFRAC+OKJB,
   -2.0,  2.0, -1.5,  1.5, 0, QUATJULFP, NOFRACTAL, NOFRACTAL,  XAXIS,
   QuaternionFPFractal, quaternionfp_per_pixel,MandelfpSetup,StandardFractal,
   LTRIGBAILOUT,

   "quatjul", C1, CI, CJ,CK,-.745,0,.113,.05,
   HT_QUAT, HF_QUATJ, WINFRAC+OKJB+MORE,
   -2.0,  2.0, -1.5,  1.5, 0, NOFRACTAL, QUATFP, NOFRACTAL,  ORIGIN,
   QuaternionFPFractal, quaternionjulfp_per_pixel,JuliafpSetup,StandardFractal,
   LTRIGBAILOUT,

   "cellular", "Initial String | 0 = Random | -1 = Reuse Last Random",
   "Rule = # of digits (see below) | 0 = Random",
   "Type (see below)",
   "Starting Row Number",
   11.0, 3311100320.0, 41.0, 0,
   HT_CELLULAR, HF_CELLULAR, NOGUESS+NOTRACE+NOZOOM+WINFRAC,
   -1.0,  1.0, -1.0,  1.0, 0, NOFRACTAL, NOFRACTAL, NOFRACTAL,  NOSYM,
   NULL,	   NULL,   CellularSetup,	 cellular,	  NOBAILOUT,

   t_julibrot, ES,ES,ES,ES,0, 0, 0, 0,
   HT_JULIBROT, -1, NOGUESS+NOTRACE+NOROTATE+NORESUME+WINFRAC,
   -2.0, 2.0, -1.5, 1.5, 0, NOFRACTAL, NOFRACTAL, JULIBROT, NOSYM,
   JuliafpFractal, jbfp_per_pixel, JulibrotSetup, Std4dfpFractal, STDBAILOUT,

#ifdef RANDOM_RUN
   t_julia_inverse+1, realparm, imagparm,
   "Max Hits per Pixel", "Random Run Interval", -0.11, 0.6557, 4, 1024,
   HT_INVERSE, HF_INVERSE, NOGUESS+NOTRACE+INFCALC+NORESUME,
   -2.0,  2.0, -1.5, 1.5, 24, NOFRACTAL, MANDEL, INVERSEJULIAFP,  NOSYM,
   Linverse_julia_orbit, NULL, orbit3dlongsetup, inverse_julia_per_image, NOBAILOUT,

   t_julia_inverse, realparm, imagparm,
   "Max Hits per Pixel", "Random Run Interval", -0.11, 0.6557, 4, 1024,
   HT_INVERSE, HF_INVERSE, NOGUESS+NOTRACE+INFCALC+NORESUME,
   -2.0,  2.0, -1.5, 1.5,  0, NOFRACTAL, MANDEL, INVERSEJULIA,  NOSYM,
   Minverse_julia_orbit, NULL, orbit3dfloatsetup, inverse_julia_per_image, NOBAILOUT,
#else
   t_julia_inverse+1, realparm, imagparm,
   "Max Hits per Pixel", ES, -0.11, 0.6557, 4, 1024,
   HT_INVERSE, HF_INVERSE, NOGUESS+NOTRACE+INFCALC+NORESUME,
   -2.0,  2.0, -1.5, 1.5, 24, NOFRACTAL, MANDEL, INVERSEJULIAFP,  NOSYM,
   Linverse_julia_orbit, NULL, orbit3dlongsetup, inverse_julia_per_image, NOBAILOUT,

   t_julia_inverse, realparm, imagparm,
   "Max Hits per Pixel", ES, -0.11, 0.6557, 4, 1024,
   HT_INVERSE, HF_INVERSE, NOGUESS+NOTRACE+INFCALC+NORESUME,
   -2.0,  2.0, -1.5, 1.5,  0, NOFRACTAL, MANDEL, INVERSEJULIA,  NOSYM,
   Minverse_julia_orbit, NULL, orbit3dfloatsetup, inverse_julia_per_image, NOBAILOUT,

#endif

   "mandelcloud","+# of intervals (<0 = connect)",ES,ES,ES,
   50,0,0,0,
   HT_MANDELCLOUD, HF_MANDELCLOUD, NOGUESS+NOTRACE+NORESUME+WINFRAC,
   -2.5,  1.5,  -1.5,   1.5, 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
   mandelcloudfloat, NULL, dynam2dfloatsetup, dynam2dfloat, NOBAILOUT,

   t_phoenix+1,p1real,p2real,"Degree of Z = 0 | >= 2 | <= -3",ES,0.56667,-0.5,0,0,
   HT_PHOENIX, HF_PHOENIX, WINFRAC,
   -2.0, 2.0, -1.5, 1.5, 1, NOFRACTAL, MANDPHOENIX, PHOENIXFP, XAXIS,
   LongPhoenixFractal, long_phoenix_per_pixel, PhoenixSetup, StandardFractal, STDBAILOUT,

   t_phoenix,p1real,p2real,"Degree of Z = 0 | >= 2 | <= -3",ES,0.56667,-0.5,0,0,
   HT_PHOENIX, HF_PHOENIX, WINFRAC,
   -2.0, 2.0, -1.5, 1.5, 0, NOFRACTAL, MANDPHOENIXFP, PHOENIX, XAXIS,
   PhoenixFractal, phoenix_per_pixel, PhoenixSetup, StandardFractal, STDBAILOUT,

   t_mandphoenix+1,realz0,imagz0,"Degree of Z = 0 | >= 2 | <= -3",ES,0.0,0.0,0,0,
   HT_PHOENIX, HF_MANDPHOENIX, WINFRAC,
   -2.5, 1.5, -1.5, 1.5, 1, PHOENIX, NOFRACTAL, MANDPHOENIXFP, NOSYM,
   LongPhoenixFractal, long_mandphoenix_per_pixel, MandPhoenixSetup, StandardFractal, STDBAILOUT,

   t_mandphoenix,realz0,imagz0,"Degree of Z = 0 | >= 2 | <= -3",ES,0.0,0.0,0,0,
   HT_PHOENIX, HF_MANDPHOENIX, WINFRAC,
   -2.5, 1.5, -1.5, 1.5, 0, PHOENIXFP, NOFRACTAL, MANDPHOENIX, NOSYM,
   PhoenixFractal, mandphoenix_per_pixel, MandPhoenixSetup, StandardFractal, STDBAILOUT,

   "hypercomplex", "notused", "notused",CJ,CK,0,0,0,0,
   HT_HYPERC, HF_HYPERC, WINFRAC+OKJB+TRIG1,
   -2.0,  2.0, -1.5,  1.5, 0, HYPERCMPLXJFP, NOFRACTAL, NOFRACTAL,  XAXIS,
   HyperComplexFPFractal, quaternionfp_per_pixel,MandelfpSetup,StandardFractal,
   LTRIGBAILOUT,

   "hypercomplexj", C1, CI, CJ,CK,-.745,0,.113,.05,
   HT_HYPERC, HF_HYPERCJ, WINFRAC+OKJB+TRIG1+MORE,
   -2.0,  2.0, -1.5,  1.5, 0, NOFRACTAL, HYPERCMPLXFP, NOFRACTAL,  ORIGIN,
   HyperComplexFPFractal, quaternionjulfp_per_pixel,JuliafpSetup,StandardFractal,
   LTRIGBAILOUT,

   t_frothybasin+1, frothattractor, frothshade, ES, ES, 3, 0, 0, 0,
   HT_FROTH, HF_FROTH, NOTRACE+WINFRAC,
   -3, 3, -2.5, 2, 28, NOFRACTAL, NOFRACTAL, FROTHFP, NOSYM,
   NULL, NULL, froth_setup, calcfroth, FROTHBAILOUT,

   t_frothybasin, frothattractor, frothshade, ES, ES, 3, 0, 0, 0,
   HT_FROTH, HF_FROTH, NOTRACE+WINFRAC,
   -3, 3, -2.5, 2, 0, NOFRACTAL, NOFRACTAL, FROTH, NOSYM,
   NULL, NULL, froth_setup, calcfroth, FROTHBAILOUT,

   t_mandel4,realz0, imagz0,ES,ES,0,0,0,0,
   HT_MANDJUL4, HF_MANDEL4, WINFRAC,
   -2.0,  2.0, -1.5,  1.5, 0, JULIA4FP, NOFRACTAL, MANDEL4,  XAXIS_NOPARM,
   Mandel4fpFractal,mandelfp_per_pixel,MandelfpSetup,StandardFractal,STDBAILOUT,

   t_julia4, realparm, imagparm,ES,ES,0.6,0.55,0,0,
   HT_MANDJUL4, HF_JULIA4, WINFRAC+OKJB,
   -2.0,  2.0, -1.5,  1.5, 0, NOFRACTAL, MANDEL4FP, JULIA4, ORIGIN,
   Mandel4fpFractal, juliafp_per_pixel, JuliafpSetup,StandardFractal,	 STDBAILOUT,

   t_marksmandel, realz0, imagz0, exponent,ES,0,0,1,0,
   HT_MARKS, HF_MARKSMAND, WINFRAC,
   -2.0,  2.0, -1.5,  1.5, 0, MARKSJULIAFP, NOFRACTAL, MARKSMANDEL,  NOSYM,
   MarksLambdafpFractal,marksmandelfp_per_pixel,MandelfpSetup,StandardFractal,STDBAILOUT,

   t_marksjulia, realparm, imagparm, exponent,ES,0.1,0.9,0,0,
   HT_MARKS, HF_MARKSJULIA, WINFRAC,
   -2.0,  2.0, -1.5,  1.5, 0, NOFRACTAL, MARKSMANDELFP, MARKSJULIA,   ORIGIN,
   MarksLambdafpFractal,juliafp_per_pixel,MarksJuliafpSetup,StandardFractal,STDBAILOUT,

   /* dmf */
   "icons", lambda, alpha,beta,gamma2, -2.34, 2.0, 0.2, 0.1,
   HT_ICON, HF_ICON, NOGUESS+NOTRACE+WINFRAC+INFCALC+MORE,
   -2.0,  2.0, -1.5,  1.5, 0, NOFRACTAL, NOFRACTAL,  NOFRACTAL, NOSYM,
   iconfloatorbit, NULL, orbit3dfloatsetup,  orbit2dfloat, NOBAILOUT,

   /* dmf */
   "icons3d", lambda, alpha,beta,gamma2, -2.34, 2.0, 0.2, 0.1,
   HT_ICON, HF_ICON, NOGUESS+NOTRACE+WINFRAC+INFCALC+PARMS3D+MORE,
   -2.0,  2.0, -1.5,  1.5, 0, NOFRACTAL, NOFRACTAL,  NOFRACTAL, NOSYM,
   iconfloatorbit, NULL, orbit3dfloatsetup,  orbit3dfloat, NOBAILOUT,

/*  the following demonstration drunkard's walk fractal requires
    only the demowalk() routine in FRACTALS.C to be functional
    (the definition of the positional value DEMOWALK in FRACTYPE.H
    is not really required, but is good practice).
*/
/*
   "demowalk", "Average Stepsize (% of image)",
               "Color (0 means rotate colors)",ES,ES,5,0.0,0,0,
   -1, -1, NORESUME+WINFRAC,
   -2.5,  1.5,  -1.5,   1.5, 0, NOFRACTAL, NOFRACTAL, NOFRACTAL, NOSYM,
   NULL,  NULL,  StandaloneSetup,  demowalk,  NOBAILOUT,
*/

/*  the following demonstration Mandelbrot/Julia fractals require
    only the definition of the four positional values DEMOMANDEL,
    DEMOJULIA, DEMOMANDELFP, and DEMOJULIAFP in FRACTYPE.H to be
    functional - and we only need *them* for the integer/floatingpoint
    and Mandelbrot/Julia toggle items in their structure items.
*/
/*
   demomandel+1, realz0, imagz0,ES,ES,0,0,0,0,
   -1, -1, WINFRAC,
   -2.5, 1.5, -1.5, 1.5, 1, DEMOJULIA,  NOFRACTAL, DEMOMANDELFP, XAXIS_NOPARM,
   JuliaFractal, mandel_per_pixel, MandellongSetup, StandardFractal, STDBAILOUT,

   demojulia+1, realparm, imagparm,ES,ES,0.3,0.6,0,0,
   -1, -1, WINFRAC,
   -2.0, 2.0, -1.5, 1.5, 1, NOFRACTAL, DEMOMANDEL, DEMOJULIAFP, ORIGIN,
   JuliaFractal, julia_per_pixel, JulialongSetup, StandardFractal, STDBAILOUT,

   demomandel, realz0, imagz0,ES,ES,0,0,0,0,
   -1, -1, WINFRAC,
   -2.5, 1.5, -1.5, 1.5, 0, DEMOJULIAFP,  NOFRACTAL, DEMOJULIA, XAXIS_NOPARM,
   JuliafpFractal, mandelfp_per_pixel, MandelfpSetup, StandardFractal, STDBAILOUT,

   demojulia, realparm, imagparm,ES,ES,0.3,0.6,0,0,
   -1, -1, WINFRAC,
   -2.0, 2.0, -1.5, 1.5, 0, NOFRACTAL, DEMOMANDELFP, DEMOMANDEL, ORIGIN,
   JuliafpFractal, juliafp_per_pixel, JuliafpSetup, StandardFractal, STDBAILOUT,
*/


   NULL, NULL, NULL, NULL, NULL,0,0,0,0,    /* marks the END of the list */
   -1, -1, 0,
   0,  0, 0,  0, 0, NOFRACTAL, NOFRACTAL, NOFRACTAL,   NOSYM,
   NULL, NULL, NULL, NULL,0

};

int num_fractal_types = (sizeof(fractalspecific)/
	sizeof(struct fractalspecificstuff)) -1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -