App Curves Visualizer

App Curves Visualizer

ivan gabrovski
08/10/2026
  • Everyone

  • Android OS

Oписание App Curves Visualizer

Приложение для визуализации пространственных кривых и их дифференциально-геометрических величин.

# Приложение «Визуализатор кривых» для Android

**Английский** | [Български](README.bg.md)

Приложение для визуализации пространственных кривых и вычисления их дифференциально-геометрических величин.

## Использование приложения

- Введите `x(t)`, `y(t)`, `z(t)` и интервал `[a, b]`, затем нажмите **Нарисовать**.

- Ползунок перемещает точку вдоль кривой; все величины обновляются для текущего `t`.

- Поворачивайте кривую пальцем. Флажок переключает отображение соприкасающейся окружности.

- Синтаксис (exp4j): `+ - * / ^`, `sin cos tan asin acos atan sinh cosh tanh exp log sqrt abs`, константы `pi` и `e`. Пример: `2*sin(t)^2`.

## Таблица точек

Значок таблицы открывает отдельный экран («PointsActivity») с координатами x(t), y(t), z(t) точек текущей кривой. Установите **t от**, **t до** и **шаг**, затем нажмите **Вычислить**; значения по умолчанию — текущий интервал и 1/10 его длины. Отображается до 2000 точек. Текст можно выделить и скопировать.

## Сохранение кривых

- **Сохранить (значок диска):** сохраняет текущую кривую (x, y, z и интервал) под именем; сохранение под существующим именем перезаписывает её.

- **Мои кривые (значок папки):** отображает список сохраненных кривых. Нажмите на одну, чтобы загрузить и нарисовать её; удерживайте, чтобы удалить.

- Кривые хранятся на устройстве (SharedPreferences) и сохраняются после перезапуска приложения.

## Меню (⋮)

В верхней панели расположены значки «Сохранить» и «Мои кривые», а также «Примеры» и «Язык» (если есть место), и дополнительное меню ⋮ (О программе):

- **Примеры:** спираль, круг, витой куб, кривая Вивиани, трилистниковый узел. Выбор одного из них заполняет поля и отображает кривую.

- **Язык:** Автоматический (системный), Английский, Болгарский, Французский, Немецкий, Испанский.

- **Справка:** краткое описание приложения, ссылки на другие приложения автора и справка для приложения.

## Языки

Интерфейс доступен на английском (по умолчанию), болгарском, французском, немецком и испанском языках. По умолчанию он соответствует языку телефона; меню позволяет выбрать язык вручную (выбор запоминается). Чтобы добавить язык, скопируйте файл `res/values/strings.xml` в `res/values-XX/` (XX — код языка), переведите значения, затем добавьте код в `LANG_CODES` и имя в `setupLanguageSpinner()` в файле `MainActivity.java`.

## Отображаемые величины

| Величина | Формула | Значение |

| **r(t)** | (x(t), y(t), z(t)) | Положение точки |

| **\|r'\|** (скорость) | √(x'² + y'² + z'²) | Скорость вдоль параметризации |

| **s** (длина дуги) | ∫ₐᵗ \|r'(u)\| du | Расстояние, пройденное от a до t (правило Симпсона) |

| **κ** (кривизна) | \|r' × r''\| / \|r'\|³ | Скорость изгиба кривой. Прямая: 0. Окружность радиуса R: 1/R |

| **ρ** (радиус кривизны) | 1/κ | Радиус наилучшей аппроксимирующей окружности. ∞ при κ = 0 |

| **τ** (кручение) | (r' × r'')·r''' / \|r' × r''\|² | Насколько кривая отклоняется от своей плоскости. Плоская кривая: 0. Правосторонняя: τ > 0, левосторонняя: τ < 0 |

| **T** (касательная) | r' / \|r'\| | Единичный вектор вдоль направления движения (красный) |

| **N** (главная нормаль) | B × T | Единичный вектор к центру кривизны (зеленый) |

| **B** (бинормаль) | (r' × r'') / \|r' × r''\| | Перпендикулярно соприкасающейся плоскости (синий) |

| **a_T** | (r'·r'') / \|r'\| | Касательное ускорение: изменение скорости |

| **a_N** | κ·\|r'\|² | Нормальное ускорение: изменение направления. Полное ускорение равно a_T·T + a_N·N |

| **Центр кривизны** | C = r + ρ·N | Центр соприкасающейся окружности |

| **Соприкасающаяся окружность** | лежит в плоскости (T, N), центр C, радиус ρ | Окружность, касающаяся кривой в наивысшем порядке в точке (оранжевый) |

### Плоскости репера

- **Соприкасающаяся плоскость:** образована векторами T и N, вектор нормали B

- **Плоскость нормали:** образована векторами N и B, вектор нормали T

- **Плоскость выпрямления:** образована векторами T и B, вектор нормали N

### Формулы Френе-Серре

(s — длина дуги)

- dT/ds = κ·N

- dN/ds = −κ·T + τ·B

- dB/ds = −τ·N

Кривизна и кручение однозначно определяют кривую с точностью до жесткого движения пространства.

## Принцип работы

r', r'' и r''' вычисляются численно с помощью центральных конечных разностей (шаг H = 10⁻³), затем применяются формулы. Длина дуги определяется по правилу Симпсона (200 интервалов).

Ещё

Что нового в последней версии

Last updated on 08/10/2026
Minor bug fixes and improvements. Install or update to the newest version to check it out!
Ещё

Видео и Скриншоты

  • App Curves Visualizer постер
  • App Curves Visualizer скриншот 1
  • App Curves Visualizer скриншот 2
  • App Curves Visualizer скриншот 3

Информация App Curves Visualizer APK

Последняя Версия
Varies with device
Категория
Инструменты
Разработчик
ivan gabrovski
Available on
Возрастные ограничения
Everyone
APKPure иконка

Супер Быстрая и Безопасная Загрузка через Приложение APKPure

Один клик для установки XAPK/APK файлов на Android!

Скачать APKPure
thank icon
We use cookies and other technologies on this website to enhance your user experience.
By clicking any link on this page you are giving your consent to our Privacy Policy and Cookies Policy.
Learn More about Policies