void BenesiPineTreeIteration()

in src/elm_src/Algorithm/benesi.c [38:53]


void BenesiPineTreeIteration(CVector3 &z, CVector3 c, const cFractal *fractal, sExtendedAux &aux)
{
  CVector3 temp = z;
  aux.r = z.Length();
  z *= z;
  double t = 2.0 * temp.x;
  if (z.y + z.z > 0.0)
    t = t / sqrt(z.y + z.z);
  else
    t = 1.0;

  z.x = (z.x - z.y - z.z) + c.x * fractal->transformCommon.constantMultiplier100.x;
  z.z = (t * (z.y - z.z)) + c.y * fractal->transformCommon.constantMultiplier100.y;
  z.y = (2.0 * t * temp.y * temp.z) + c.z * fractal->transformCommon.constantMultiplier100.z;
  aux.r_dz = aux.r * aux.r_dz * 2.0 + 1.0;
}