Как стать автором
Обновить

Комментарии 15

Тю. Я надеялся, что оно его рисует, а оно всего лишь цифры считает.

Да, чего там рисовать! Кривая алкоголика 😁 Даже в высоком разрешении скучна и невыразительна. То ли дело её производная!..

А нарисовать несложно, например, итерациями преобразований де Рама.

Это, вы на чём рисовать будете? На монадке? Или всё-таки инициализация контекста, тонны IO, обработка оконных событий?

Можно в Diagrams с генерацией SVG, можно в Gloss, если только посмотреть, и результат не нужно сохранять. Можно в JuicyPixels, если хочется растр. Во всех случаях это будет простая чистая итерация, а все IO окажутся локализованы в main.

А svg на экран будет рендерить плебейская программа на С или С++, как всегда. Только настоящие программисты-сантехники закатывают рукава и думают, что будет при ресайзе окна с картинкой.

Посмотрите всё-таки gloss. Да, там IO, но оно под капотом, контекст инициализировать руками не нужно.

В статье английской Википедии приведен относительно компактный текст программы для вычисления значения функции Минковского, нужно будет как-нибудь попробовать, как с её помощью строится график

График этой функции лучше строить не вычисляя её по точкам, а используя алгоритм построения фрактальных множеств. В частности, метод де Рама. Он требует меньше вычислений.

Для построения простого графика это различие в количестве вычислений совершенно непринципиально. Кроме того, в универсальную систему для построения графиков функций как ломаных внедрить фрактальные алгоритмы, по-моему, будет нелегко, особенно для всяких суперпозиций функций. Я попробовал таки использовать алгоритм из Википедии, добавив вычисление функции Минковского в свою универсальную системку, вот что получилось
Графики, которые есть в Википедии
image

Графики, которых нет в Википедии
image

Излишне и говорить, что строятся они мгновенно на неновом компьютере с древним ПО

Вы совершенно правы, если целью является сам график. Но сам по себе он не очень интересен. Для анализа его свойств (производной, например или меры, которую она образует), равномерная сетка не годится и фрактальные алгоритмы, либо визуализация части дерева пар подходит лучше. Но это уже детали.

Кое-какую информацию для анализа можно извлечь и из простых графиков. Например, можно получить первообразную функции Минковского (как решение дифференциального уравнения image), и убедиться, что image
Функция Минковского и её первообразная
Функция Минковского — зеленый график, её первообразная — красный, image — желтый
image

График производной построить не берусь, прочитал только, что она равна нулю почти всюду

А чем "такое" помешает в продакшн? Быстрое, надежное решение, с основательной математической базой. Посмотрите оригинальные статьи, представляющие повсеместно используемые самобалансирующиеся деревья, например. Там суровая метематика, которая не мешает их использовать в уютном Питончике. Кстати, библиотека мемоизации memoization в Хаскеле использует подобный описанному в статье подход при построении взвешенных деревьев.

Да простят меня, в математике не сведущего, за скромный и, возможно, дурацкий вопрос: на КДПВ нарисованы кружочки, где кружочек 2/5 размером чуть ли не меньше, чем 1/5 — это так и надо? Или же это число не отражает площадь/диаметр/радиус? Если можно, простым языком.

При построении кругов Форда важен не размер, а порядок кругов и то, как они касаются друг друга. Указанное на рисунке число соответствует не размерам, а положению круга: координате точки, в которой он касается горизонтальной прямой.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.