Рисование теннисного мяча

 Короткий пост сегодня. Знаете ли вы, что пересечение Эннепера Поверхность со сферой похожа на шов теннисного мяча? Вот что Нам надо увидеться.

f <- function(x, y, z) { # Enneper surface: f=0
64*z^9 - 128*z^7 + 64*z^5 - 702*x^2*y^2*z^3 - 18*x^2*y^2*z +
144*(y^2*z^6-x^2*z^6) + 162*(y^4*z^2-x^4*z^2) + 27*(y^6-x^6) +
9*(x^4*z+y^4*z) + 48*(x^2*z^3+y^2*z^3) - 432*(x^2*z^5+y^2*z^5) +
81*(x^4*y^2-x^2*y^4) + 240*(y^2*z^4-x^2*z^4) - 135*(x^4*z^3+y^4*z^3)
}
library(rgl)
smesh <- cgalMeshes::sphereMesh(r = 0.5, iterations = 5L)
mesh1 <- clipMesh3d(smesh, f, greater = TRUE, minVertices = 20000L)
mesh2 <- clipMesh3d(smesh, f, greater = FALSE, minVertices = 20000L)

open3d(windowRect = c(50, 50, 562, 562), zoom = 0.7)
shade3d(mesh1, col = "yellow", polygon_offset = 1)
shade3d(mesh2, col = "orangered", polygon_offset = 1)
b <- getBoundary3d(mesh1, sorted = TRUE, col = "lightgray", lwd = 2)
shade3d(b)

Комментарии

Популярные сообщения из этого блога

Опробование GPT4All в Arch Linux

10 способов использовать генеративный ИИ для продвинутого SEO

Как настроить Atom как Python IDE?

Yandex.Metrika counter