Skip to content

stden/comp_graph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌌 Фракталы: Бесконечность в коде

Образовательный проект для изучения фракталов, компьютерной графики и математики

🎯 Что это?

Полный набор инструментов для визуализации, генерации и изучения фракталов:

  • 7 фракталов в интерактивном OpenGL приложении (Java)
  • 7 генераторов LaTeX иллюстраций (Python)
  • Подробная документация на русском языке
  • Готово для преподавания

🚀 Быстрый старт

Вариант 1: Интерактивное 3D (OpenGL)

```bash ./run-fractals.sh ```

Вариант 2: Генерация LaTeX иллюстраций

```bash cd TikZ python3 generate_all_fractals.py ```

📚 Документация

Главные руководства

  1. ФРАКТАЛЫ_РУКОВОДСТВО.md — 🌟 НАЧНИТЕ ЗДЕСЬ!

    • Увлекательный tour по всем 7 фракталам
    • Интерактивные примеры
    • История, математика, эксперименты
    • 60+ страниц захватывающего контента
  2. FRACTALS_README.md — Техническое описание OpenGL приложения

  3. CODE_STYLE_GUIDE.md — Руководство по элегантному коду

  4. FINAL_SUMMARY.md — Полная сводка проекта

В каталоге TikZ/

  1. TikZ/README_FRACTALS.md — Python генераторы LaTeX

  2. TikZ/TESTING_RESULTS.md — Результаты тестирования

  3. TikZ/PROJECT_SUMMARY.md — Краткая сводка TikZ проекта

🌀 Фракталы

1. Множество Мандельброта

  • Формула: z(n+1) = z² + c
  • Бесконечная детализация
  • "Главный фрактал" математики

2. Множество Жюлиа

  • 6 красивых пресетов
  • Связано с Мандельбротом
  • Невероятные узоры

3. Дерево Пифагора

  • Анимация роста
  • До 1000 квадратов
  • Основано на теореме Пифагора

4. Снежинка Коха

  • L-система
  • Бесконечный периметр
  • Конечная площадь

5. Треугольник Серпинского

  • Самоподобие
  • Фрактальная размерность 1.585
  • "Фрактал из ничего"

6. Фрактальный ландшафт

  • Midpoint Displacement
  • Процедурная генерация
  • Реалистичные горы

7. Фрактал Ляпунова

  • Граница хаоса
  • Динамические системы
  • Красно-синяя карта

🎓 Для обучения

Что можно изучить

  • Математика: Комплексные числа, рекурсия, динамические системы
  • Программирование: Java (OpenGL), Python, Clean Code
  • Алгоритмы: L-системы, escape time, midpoint displacement
  • Графика: OpenGL, TikZ, рендеринг

Для преподавателей

  • Готовые примеры для лекций
  • Интерактивные демонстрации
  • LaTeX иллюстрации для слайдов
  • Задания и челленджи

📊 Статистика

  • Java кода: ~8000 строк
  • Python кода: ~1400 строк
  • Документации: ~150 KB (русский + English)
  • Тестов: 209 JUnit тестов (100% pass)
  • Зависимости: JOGL 2.6.0 (Java), без зависимостей (Python)

⚡ Технологии

  • Java 8 + OpenGL (JOGL)
  • Python 3 (без внешних библиотек!)
  • LaTeX + TikZ
  • Maven (сборка)

🎮 Управление

Мышь

  • Wheel: Zoom
  • Drag: Pan

Клавиатура

  • R: Reset
  • +/-: Iterations
  • Space: Animation
  • ESC: Exit

🛠️ Установка

Java приложение

```bash

Компиляция

mvn clean compile

Запуск

./run-fractals.sh ```

Python генераторы

```bash

Генерация всех LaTeX файлов

cd TikZ python3 generate_all_fractals.py

Компиляция в PDF (требует pdflatex)

./compile_all.sh ```

📖 Рекомендуемая литература

  1. "The Fractal Geometry of Nature" — Benoit Mandelbrot
  2. "Chaos and Fractals" — Peitgen, Jürgens, Saupe
  3. "The Beauty of Fractals" — Peitgen, Richter

🎯 Цели проекта

✅ Сделать фракталы доступными ✅ Показать красоту математики ✅ Научить элегантному коду ✅ Вдохновить на исследования

🤝 Вклад

Проект создан для образовательных целей.

Если вы хотите добавить новый фрактал:

  1. Создайте класс в `fractals/renderers/`
  2. Добавьте генератор Python в `TikZ/`
  3. Обновите документацию

📞 Поддержка

Смотрите документацию для детальных инструкций.

Основные файлы:

  • ФРАКТАЛЫ_РУКОВОДСТВО.md — главное руководство
  • FRACTALS_README.md — техническое описание

🎉 Благодарности

  • Бенуа Мандельброт — за фракталы
  • Гастон Жюлиа — за множества Жюлиа
  • Всем математикам, программистам и художникам, кто видит красоту в формулах

Статус: ✅ Готово к использованию Версия: 1.0 "Infinite Beauty" Дата: 2025-10-05

Создано с любовью к математике и программированию ❤️

About

Компьютерная графика в СПбГЭТУ ЛЭТИ

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •