Homework 3 for Computer Graphics

作业

查找一个三维分形的例子,写出它的生成原理。


Mandelbrot/Julia bulb:

$$\forall \mathbf{p} \in \mathbb{F}^n, \mathbf{p} = (r, \theta_1, \theta_2, \ldots, \theta_{n - 1})$$

Where $()$ is spherical coordinate.

We define power $\mathbf{p}^m$:

$$\mathbf{p}^m = (r^m, m\theta_1, m\theta_2, \ldots, m\theta_{n - 1})$$

We define series $\mathbf{p}_k$:

$$\mathbf{p}_{k + 1} = f(\mathbf{p}_k)$$

Where $f(\mathbf{p}) = \mathbf{p}^m + \mathbf{c}$, and $\mathbf{c} \in \mathbb{F}^n$ is a constant.

We can define Mandelbrot/Julia bulb like Mandelbrot/Julia set.

Specially, for $n = m = 2$, we have $\mathbf{p} = [x, y]^\mathsf{T} = (\rho, \theta)$.

Where $[]$ is rectangular coordinate.

$$\begin{aligned} \mathbf{p} & = \begin{bmatrix} x\ y \end{bmatrix} & = \begin{bmatrix} \rho\cos\theta\ \rho\sin\theta \end{bmatrix}\ \mathbf{p}^2 & = \begin{bmatrix} x^2 - y^2\ 2xy \end{bmatrix} & = \begin{bmatrix} \rho^2\cos 2\theta\ \rho^2\sin 2\theta \end{bmatrix} \end{aligned}$$

For $z = x + \imath y \in \mathbb{C}$,

$$z^2 = (x^2 - y^2) + \imath(2xy)$$

$\mathbf{p}^2$ is consistent with $z^2$. So Mandelbrot/Julia set is a special case of Mandelbrot/Julia bulb.

For $n = 3, m = 2$, we have $\mathbf{p} = [x, y, z]^\mathsf{T} = (r, \theta, \varphi)$.

$$\begin{aligned} \mathbf{p} & = \begin{bmatrix} x\ y\ z \end{bmatrix} & = \begin{bmatrix} r\cos\theta\cos\varphi\ r\cos\theta\sin\varphi\ r\sin\theta \end{bmatrix}\ \mathbf{p}^2 & = \begin{bmatrix} x^2 - y^2 - z^2\ 2xz\ 2xy \end{bmatrix} & = \begin{bmatrix} r^2\cos2\theta\cos2\varphi\ r^2\cos2\theta\sin2\varphi\ r^2\sin2\theta \end{bmatrix} \end{aligned}$$

Now, Mandelbort/Julia bulb is a 3D fractal set.