From c66182179025db1e2a1c420fc43799ec3f3c7004 Mon Sep 17 00:00:00 2001 From: "PC-SUMMO\\Michele Summo" Date: Tue, 17 May 2022 12:32:17 +0200 Subject: [PATCH] Corrected julian and outcolorfun --- src/sffe/sffe_cmplx_gsl.cpp | 13 +++++++++---- src/ui-hlp/menu.cpp | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/sffe/sffe_cmplx_gsl.cpp b/src/sffe/sffe_cmplx_gsl.cpp index 114d584..2579464 100644 --- a/src/sffe/sffe_cmplx_gsl.cpp +++ b/src/sffe/sffe_cmplx_gsl.cpp @@ -681,15 +681,20 @@ sfarg *sftwave(sfarg *const p) sfarg *sfjulian(sfarg *const p) { gsl_complex z = sfvalue(sfaram3(p)); - double mag = gsl_complex_abs( - gsl_complex_pow(z, sfvalue(sfaram2(p)))); + gsl_complex m; + GSL_SET_COMPLEX(&m, gsl_complex_abs(z), 0); + m = gsl_complex_pow(m, sfvalue(sfaram2(p))); gsl_complex b = sfvalue(sfaram1(p)); + double mx = GSL_REAL(m); + double my = GSL_IMAG(m); double arg = gsl_complex_arg(z); double byg = exp(-GSL_IMAG(b)*arg); double bxg = arg * GSL_REAL(b); + double cosbxg = cos(bxg); + double sinbxg = sin(bxg); - GSL_REAL(sfvalue(p)) = mag * byg * cos(bxg); - GSL_IMAG(sfvalue(p)) = mag * byg * sin(bxg); + GSL_REAL(sfvalue(p)) = byg*(mx*cosbxg - my*sinbxg); + GSL_IMAG(sfvalue(p)) = byg*(my*cosbxg + mx*sinbxg); return sfaram3(p); } diff --git a/src/ui-hlp/menu.cpp b/src/ui-hlp/menu.cpp index 4050bc6..e7ea501 100644 --- a/src/ui-hlp/menu.cpp +++ b/src/ui-hlp/menu.cpp @@ -1383,7 +1383,7 @@ void uih_registermenus_i18n(void) uih_setincolorfun, uih_numdialog); MENUDIALOG_I("fractal", NULL, TR("Menu", "Outside coloring speed function"), "outcolorfun", MENUFLAG_NOMENU | MENUFLAG_INTERRUPT, - uih_setoutcolorfun, uih_fpdialog); + uih_setoutcolorfun, uih_numdialog); MENUDIALOG_I("fractal", NULL, TR("Menu", "Inside coloring speed"), "incolorspeed", MENUFLAG_NOMENU | MENUFLAG_INTERRUPT, uih_setincolorspeed, uih_fpdialog);