reb
Class REB_HyperbolicMapping

Object
  extended by common:Generic
      extended by common:Transform
          extended by common:UserTransform
              extended by reb:REB_HyperbolicMapping

class 
UserTransform:REB_HyperbolicMapping

Hyperbolic mapping onto a sphere.


Ultra Fractal Source

Toggle UF Source Code Display

 class REB_HyperbolicMapping(common.ulb:UserTransform) {
 ; Hyperbolic mapping onto a sphere. <br>
 public:
 
    ; constructor
    func REB_HyperbolicMapping(Generic pparent)
      UserTransform.UserTransform(pparent)
    endfunc
 
    ; initialize the objects
    func Init(complex pz)
       UserTransform.Init(pz)
    endfunc
 
   ; call for each iterated point
   complex func Iterate(complex pz)
     UserTransform.Iterate(pz)
     complex p = 0
     if (|pz| <= @rad^2)
       if @view == "Bottom"
         p = (pz)/(sqrt(@rad^2 -|pz|))
       else
         p = (pz)/(sqrt(@rad^2 +|pz|))
       endif
     else
       m_solid = true
     endif
     if @scmag
       p = p*4/#magn/@scale
     else
       p = p*4/@scale
     endif
     return p
   endfunc
 
 default:
   title = "Hyperbolic Mapping"
   int param v_hyperbolicmapping
     caption = "Version (Hyperbolic Mapping)"
     default = 102
     hint = "This version parameter is used to detect when a change has been made to the formula that is incompatible with the previous version. When that happens, this field will reflect the old version number to alert you to the fact that an alternate rendering is being used."
     visible = @v_hyperbolicmapping < 102
   endparam
   param view
     caption = "view"
     enum = "Bottom" "Top"
     default = 0
   endparam
   param rad
     caption = "Radius"
     default = 1.0
   endparam
   param scale
     caption = "Scale fractal"
     default = 1.0
   endparam
   bool param scmag
     caption = "Scale to magn"
     default = true
   endparam
 }
 


Constructor Summary
REB_HyperbolicMapping()
           
REB_HyperbolicMapping(Generic pparent)
          constructor
 
Method Summary
 void Init(complex pz)
          initialize the objects
 complex Iterate(complex pz)
          call for each iterated point
 
Methods inherited from class common:Transform
IsSolid, IterateSilent
 
Methods inherited from class common:Generic
GetParent
 
Methods inherited from class Object
 

Constructor Detail

REB_HyperbolicMapping

public REB_HyperbolicMapping(Generic pparent)
constructor


REB_HyperbolicMapping

public REB_HyperbolicMapping()
Method Detail

Init

public void Init(complex pz)
initialize the objects

Overrides:
Init in class Transform
Parameters:
pz - the value representing the sequence; for a normal transformation formula use, this will be #pixel. In some cases this may differ from the first value passed to Iterate() if the calling code applies some other transformations.

Iterate

public complex Iterate(complex pz)
call for each iterated point

Overrides:
Iterate in class Transform
Parameters:
pz - the complex value to be transformed
Returns:
the transformed value