sharpc (sharpc) wrote,
sharpc
sharpc

Category:
  • Music:

Формула мандарина

1.44 x^2 + y^2 + z^2 + \frac1{\sqrt{|\cos{5 \mathrm{arctg} \frac{z}{y}}|}} + \frac1{y^2 + z^2} + \frac3{x^2 + y^2 + z^2} = 9

ContourPlot3D[
  1.44*x^2 + y^2 + z^2 + 1/Sqrt[Abs[Cos[5*ArcTan[z/y]]]] +
    1/(y^2 + z^2) + 3/(x^2 + y^2 + z^2) == 9,
  {x, -3, 3}, {y, -3, 3}, {z, -3, 3}, Mesh -> None,
  ContourStyle -> Directive[
    Specularity[RGBColor[1, 0.8, 0], 20], Orange,
    Lighting -> {{"Directional", White, {0, 0, 4}},
      {"Ambient", Darker[White]}}]]





Сравните с популярным клипартом:



Как это сделано?

Это эквипотенциальная поверхность, изначально сфероид (коэффициент 1.44 подобран на выпуклый глаз), к которому добавили штрафы. Рассмотрим сечения мандарина:

плоскостью Oxy:


Добавлен штраф за близость к Oy (\frac1{y^2}) и за близость к центру (\frac3{x^2+y^2})

плоскостью Oyz:


Это вариация на тему полярной розы r = \cos{n \phi}: 5 задает количество долек мандарина (есть способ посчитать их число, не снимая кожуры :)). Арктангенс дает угол (хотя и с видимыми на 3D графике численными артефактами, для графика сечения они убраны PlotPoints → 100, но 3D и так очень тормозит), корень «прижимает» график к «запрещенным» плоскостям. У полярной розы график проходит через начало координат, здесь это оштрафовано близостью к центру.

Объединяя эти два сечения, штрафуя уже близость к Ox, получаем формулу в начале поста. Немного шаманим с освещением и получаем что-то оранжевое :) Как бы теперь превратить это в лого?

А для тех, кто скурил вышеприведенное, вот вам формула цветка мандарина: \ast K_{5-4} \; C_{4-5} \; A_{10-\infty} \;  G_{(\underline{5-4})}

Tags: esci, математика
Subscribe

  • Инфраструктура Python

    В ноябре 2017 я начал собирать в виде IPython Notebook сниппеты работы с разными полезными для исследовательского программирования библиотеками…

  • Теормин по STL для СП, часть 2/2

    Это продолжение части 1. <algorithm>В STL реализованы некоторые простые и часто используемые обобщенные алгоритмы. Обобщенные они потому,…

  • Теормин по STL для СП, часть 1/2

    Это теоретический минимум по STL для занимающихся спортивным программированием, подмножество возможностей стандартной библиотеки C++, полезных для…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 6 comments