hun: código del programa (dinámico)

Enviado por Jesus Hernandez el Mar, 07/06/2016 - 09:40
Español

En esta página se muestran las mismas correcciones  que en hun: código del programa (parámetros) con ellas también se puede visualizar el espacio dinámico en el programa  Mandelbulber y solo es necesario seguir las siguientes indicaciones para que las modificaciones funcionen:

Una vez iniciado el programa escoger en la pestaña: formulas ->formula #1 ->Real Scator Power 2 después, en la pestaña options marcar la opción Julia mode.

La iteración, ahora de tres funciones debería desarrollarse en un lenguaje eficiente y rápido, por ejemplo C++. En los paréntesis de abajo aparecen las relaciones de recurrencia.

Con el fin de incluir los fractales hun que implica la iteración cuadrática de escatores reales: 

  • añadir en Mandelbulber, v 2.07-1file /src/fractal_formulas.cpp

/* iteración cuadrática en el álgebra de escatores reales */
void RealscatorPower2Iteration(CVector3 &z)

{
double x2 = z.x * z.x;
double y2 = z.y * z.y;
double z2 = z.z * z.z;
double newx = x2 + y2 + z2 + (y2 * z2) / x2;
double newy = 2.0 * z.x * z.y * (1 + z2 / x2 );
double newz = 2.0 * z.x * z.z * (1 + y2 / x2 );
z.x = newx;
z.y = newy;
z.z = newz;
}

 


  • añadir en  fractal_formulas.hpp
void RealscatorPower2Iteration(CVector3 &z);

  • añadir en fractal_list.cpp
fractalList->append(sFractalDescription("Real scator Power 2", "realsca_power_2",
fast_realsca_power2,
analyticDEType,
logarithmicDEFunction,
cpixelEnabledByDefault,
10));
 

  • añadir en fractal_list.hpp

   fast_realsca_power2 = 162,


  • añadir en compute_fractal.cpp
case fast_realsca_power2:
{
RealscatorPower2Iteration(z);
break;
}
 
  • también modificar y añadir en la linea 711
// r calculation
// r = sqrt(z.x * z.x + z.y * z.y + z.z * z.z + w * w);
switch(fractal->formula)
{
default:
{
r = sqrt(z.x * z.x + z.y * z.y + z.z * z.z + w * w);
break;
}
 
//scator magnitudes
// magnitude in real scator algebra
case fast_realsca_power2:
{
r = sqrt(z.x * z.x - z.y * z.y - z.z * z.z + (z.y * z.y * z.z * z.z) / (z.x * z.x) );
break;
}
}

  • también añadir: en el conmutador (fórmula) linea 836

case fast_realsca_power2:


  • añadir en  /usr/share/mandelbulber2/language/ qt_data_en.ts (en dos lugares) just after "../qt_data/fractal_mandelbulb_power_2.ui"
<location filename="../qt_data/fractal_realsca_power_2.ui" line="14"/>
<location filename="../qt_data/fractal_realsca_power_2.ui" line="20"/>
 
  • copiar el archivo fractal_mandelbulb_power_2.ui en /usr/share/mandelbulber2/qt_data con el nombre

fractal_realsca_power_2.ui

  • compilar e instalar
cd makefiles
qmake mandelbulber.pro
make all
cd ..
./install

ajustes

Los parámetros más relevantes son:
    • para detenerse en un máximo de iteraciones
    • para forzar el Delta DE método de estimación de distancias
    • mejor, pero no esencial para tener un valor de velocidad de escape alto
En las lineas de abajo, están los ajustes típicos de unarchivo .fract Mandelbulber
# Mandelbulber settings file
# version 2.07
# only modified parameters
[main_parameters]
aux_light_enabled_1 true;
aux_light_intensity_1 1;
aux_light_position_1 1 -3 -2;
bailout 100000;
camera 0.1 -3 0;
camera_distance_to_target 3.001666203960727;
camera_rotation 1.909152432996377 0 0;
camera_top 0 0 1;
delta_DE_method 1;
flight_last_to_render 0;
formula_1 152;
iteration_threshold_mode true;
keyframe_last_to_render 0;
use_default_bailout false;