Publications by Stéphane Laurent
Orbit trapped Julia fractal
Given a complex number \(z_c\), called the Julia point, the corresponding Julia fractal is obtained by iterating \(z \mapsto z^2 + z_c\) for each complex number \(z\) until the modulus of \(z\) exceeds a certain threshold or the maximal number of iterations is attained. Then a color is assigned ...
2057 sym R (1164 sym/2 pcs) 4 img
Interpolating non-gridded data
I still wrapped a part of the C++ library CGAL in a R package, namely interpolation. The purpose of this package is to perform interpolation of bivariate functions. As compared to existing packages, it can do more: it can interpolate vector-valued functions (with dimension two or three), and it does ...
1824 sym R (2367 sym/6 pcs) 10 img
Animating a ‘rgl’ mesh at constant speed
The purpose of my package qsplines is to construct quaternions splines. This is a port of the Python library splines, written by Matthias Geier. A quaternions spline is a sequence of quaternions interpolating some given quaternions. One feature I particularly like is the possibility to get a quaternions ...
1826 sym R (1704 sym/4 pcs) 2 img
Mapping a square to a circle
Denoting by \(F(z \,|\, m)\) the incomplete elliptic function of first kind, the function \[ \varphi(z) = -\sqrt{i} \, F\bigl(i \sinh^{-1}(\sqrt{i} \, z) \,|\, -1 \bigr). \] is a conformal mapping from the square \([-1,1] \times [-1,1]\) to a centered circle. I learnt that here. The...
2106 sym R (1892 sym/5 pcs) 4 img
The plasma effect: correction
There’s a kind of error in the previous post. In this formula: \[ \exp\Bigl(-\frac{{(i/n-0.5)}^2 + {(j/n-0.5)}^2}{0.025^2} \Bigr), \] the indices \(i\) and \(j\) should range from \(0\) to \(n\), and \(n\) must be even in order to get something centered. See the corrected c...
916 sym R (437 sym/1 pcs) 2 img
A (kind of) plasma effect in R
I found such an algorithm on Paul Bourke’s website: take a random matrix \(M\) of size \(n \times n\) (we’ll take \(n=400\)), real or complex; compute the discrete Fourier transform of \(M\), this gives a complex matrix \(FT\) of size \(n \times n\); ...
2175 sym R (2220 sym/7 pcs) 10 img
The Mandelbulb in R
In this post, I provide some R code which generates a mesh of the Mandelbulb, a well-known 3D fractal. The Mandelbulb is an isosurface, and I use the rmarchingcubes package to get a mesh of this isosurface. Since the Mandelbulb has many details, a thin grid of the voxel space is necessary, and that is why I ...
1456 sym R (2044 sym/3 pcs) 4 img
Passing a function from R to C++
The algebraicMesh function of my package cgalMeshes takes as inputs a trivariate polynomial \(P(x,y,z)\), a number \(\ell\) and some other parameters, and it returns a mesh of the isosurface defined by \(P(x,y,z) = \ell\). The computation of this mesh is done in C++ with the help of ...
2434 sym R (656 sym/2 pcs)
More on the ‘Reorient’ transformation
I presented the ‘Reorient’ rotation in a previous post. I figured out three things: there’s an easy precise definition of this rotation, that I didn’t give; this rotation has a simple quaternion representation; this is the rotation I used to construct a mesh of a torus passing th...
2331 sym R (1318 sym/3 pcs)
Update of the ‘cgalMeshes’ package
I made some progress on the cgalMeshes package, that I introduced here. The new version is not on CRAN yet. In particular, one can know assign some properties to the meshes (the cgalMesh objects). One can assign some face properties: colors and scalars, and some vertex properties: colors, scalars, ...
4294 sym 12 img