The torus and the elliptic cyclide

[This article was first published on Saturn Elephant, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

The most used parameterization of the ordinary torus (the donut) is: torusR,r(u,v)=((R+rcosv)cosu(R+rcosv)sinursinv).

The elliptic Dupin cyclide is a generalization of the torus. It has three nonnegative parameters c<μ<a, and its usual parameterization is, letting b=a2c2: cyclidea,c,μ(u,v)=(μ(cacosucosv)+b2cosvaccosucosvb(aμcosu)sinvaccosucosvb(ccosvμ)sinuaccosucosv).

The picture below shows such a cyclide in its symmetry plane {z=0}:

For c=0, this is the torus.

Here is a cyclide in 3D (image taken from this post):

I think almost everything you can do with a torus, you can do it with a cyclide. For example, a parameterization of the (p,q)-torus knot is torusR,r(pt,qt),0t<2π.

Then, the (p,q)-cyclide knot is parameterized by cyclidea,c,μ(pt,qt),0t<2π.

Here is a cyclidoidal helix:

And here is a rotoid dancing around a cyclide:

I found the way to do this animation for the torus on this website, and then I adapted it to the cyclide.

The R code used to generate these animations is available in this gist.

To leave a comment for the author, please follow the link and comment on their blog: Saturn Elephant.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)