I have changed the structure of RC3 to unify the cycle basis (g) and (h) in a single that would be the conventional real numbers, in such a way that the square of a number z=x
0+x
1i+x
2j which belong to RC3 would be:
z2=(x02-x12)+(2x0x1+x22)i+2x2(x0+x1)j
and the module of z would be: |z|=sqrt(x
02+x
12+x
22)
with these changes, I made a small program in visualbasic with which I have obtained a series of sections of the Mandelbrot3D set thus generated.
As you can see in the attached images in the plane XY(z=0) gets the conventional Mandelbrot set. As we move away from it, the symmetry with respect to the X axis in the direction of the axis Y disappears, although there is a symmetry with respect to the XY-plane in the Z direction. I also include an image of the silhouette of the complete set.
The code that I have generated the set is this if it is useful:
Public Class mandel3D
Dim cx, cy, cz As Double
Dim zx, zy, zz, x, y, z As Double
Dim iternum, iter As Short
Dim bailout, modulo As Single
Dim xp, yp As Single
Dim col As New System.Drawing.Pen(System.Drawing.Color.ForestGreen, 1)
Dim formGraphics As System.Drawing.Graphics
Private Sub Comenzar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Comenzar.Click
bailout = 2
iternum = 1000
For cz = -2.2 To 2.2 Step 0.005
For cy = -1.2 To 1.2 Step 0.005
For cx = -2 To 1.2 Step 0.005
modulo = 0
zx = 0
zy = 0
zz = 0
iter = 0
While iter < iternum And modulo < bailout
x = zx * zx - zy * zy + cx
y = 2 * zy * zx + zz * zz + cy
z = 2 * zz * zx + 2 * zy * zz + cz
zx = x
zy = y
zz = z
modulo = Math.Sqrt(zx * zx + zy * zy + zz * zz)
iter = iter + 1
End While
If modulo < bailout Then plotset()
Next cx
Next cy
Next cz
End Sub
Private Sub plotset()
Dim centrox, centroy As Integer
centrox = 200
centroy = 200
xp = centrox - (0.8660254038 * cx - 0.7071067812 * cy) * 150
yp = centroy - (cz - 0.5 * cx - 0.7071067812 * cy) * 150
formGraphics.DrawLine(col, xp, yp, xp + 1, yp + 1)
End Sub
Private Sub mandel3D_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
formGraphics = Panelplot.CreateGraphics()
End Sub
End Class
From this new perspective I will also explore RC4 and represent only the complex part, now I'll tell.
Greetings Paco Fdez.