← Вернуться к 3D-модели

Сферический сектор — проверяемая версия total-1

Статическое веб-приложение. Интерфейс и локальные Three.js / OrbitControls сохранены из исходного проекта. React, Rust, npm и сервер расчётов не требуются.

Что исправлено

БылоСтало
Максимум трёх попарных суммOutPotencial = omegaSphere + omegaRib1 + omegaRib2
Отдельный подбор ближайшей точки для каждого углаЕдиный интервал суммы для всех внутренних точек
Скрытый минимум расстояния, отсечение cos < 0.02Истинное расстояние и скалярное произведение нормали с единичным лучом
Потенциал считался также на рёбрахГраница — только источник, цели расчёта — объём
Независимая копия Pascal внутри JSПросмотр/скачивание реального Pascal-файла
Неполный экспорт вкладовCSV и JSON содержат компоненты и общую сумму

Модель и ограничения

Полный сектор 45 градусов без конуса и выреза. Центр в приложении (0,0,0). Эквивалентные координаты исторического Shine: Xshine=Y, Yshine=X, Zshine=Z+R. Нормали и расстояния в расчёте используют одну центрированную систему. Поворот/перенос не меняют телесные углы.

Фиксированные площадки (режим по умолчанию): dS=Ssh/10000 для каждого источника. Принято Ssh=pi*R²/2 — площадь сферической стенки одного сектора. Это допущение, а не найденное в исходном тексте определение. Количество точек изменяет представленную суммарную площадь. Нельзя интерпретировать эту модель как точный интеграл по сплошной границе. Единицы координат произвольные, но единые; dS в квадрате этих единиц.

Контроль сплошной границы: независимая квадратура 24×24 на каждой поверхности, с точными площадями ячеек. Расчётная сетка не совпадает с отображаемыми точками. Данные dS у отображаемых источников относятся к фиксированным площадкам, не к ячейкам контрольной квадратуры. У границы точечная квадратура имеет значительные погрешности; проверять сходимость, не считать всплески физическим эффектом. Аналитически сумма по полной замкнутой границе равна 4*pi во всех строго внутренних точках. В интерфейсе уровни контрольной квадратуры могут отражать её погрешность.

Цветовые уровни — восемь интервалов диапазона общей суммы, не восемь отдельных физических потенциалов. Уровень 1 соответствует минимуму. Непрерывный ползунок выбирает полосу шириной (max-min)/8. При почти постоянном поле ядро не растягивает шум меньше относительного 1e-8 на уровни. Срез Z=0 необязателен, по умолчанию выделение во всём объёме.

Сетка по кольцам без золотого сечения. Число в регуляторе сферы — ориентир числа точек полной сферы, не точное число в одном секторе. Некоторые старые подписи интерфейса «мениск» оставлены как название инструмента, не как подтверждение физической формы поверхности.

Pascal-файл реализует фиксированные площадки и сумму, но использует свою дискретизацию. Числа двух программ не обязаны совпадать до согласования сеток. Контрольная квадратура доступна в веб-версии. Компиляция PascalABC.NET в этой Linux-среде не проверена; файл не заявляется проверенным исполняемым приложением.

Проверка


node --test tests/*.test.cjs

node --check app.js

17 тестов: формула вклада, отсутствие углового отсечения, сумма компонент, масштабная инвариантность, интервалы, симметрия, площади и нормы нормалей, сходимость к 4*pi, регрессии старого подбора дуг. Для контрольной точки при N=12 ошибка 0.00205295 ср, при N=64 — 0.000111131 ср. Это не глобальная оценка точности возле границы.

Браузерный тест: python3 tests/browser_smoke.py (Selenium, Chromium и chromedriver; адрес существующего сервера 127.0.0.1:9876). Проверяет старт, уровни 1–8, уникальные ID, сумму компонент, конечность значений, ненулевые слои Z, переключение обоих методов. В Chromium не было ошибок JavaScript; есть предупреждения программного WebGL о производительности ReadPixels. Мобильные устройства, Safari, публичный домен, компиляция Pascal не проверены.

Публикация

1. Распаковать содержимое архива сайта в корневую папку статического хостинга. В ней должен лежать index.html, а не ещё один вложенный каталог.

2. Не публиковать резервный архив исходной версии, журналы или старые диагностические файлы.

3. В панели хостинга добавить точное доменное имя или поддомен. В DNS указать предоставленные хостингом A/AAAA либо CNAME; не использовать выдуманный IP.

4. Включить HTTPS средствами хостинга. Для поддомена сертификат должен покрывать именно его.

5. Открыть новый адрес, проверить надпись «total-1», вращение, выбор уровня, оба режима и скачивание Pascal. При старой версии очистить кэш.

Относительные пути позволяют размещать сайт также в подпапке. Сервер должен отдавать .js как JavaScript, .pas/.md как текст или скачивание. Для локального просмотра достаточно любого статического HTTP-сервера; открытие file:// ограничивает загрузку Pascal через fetch.

Новый домен и DNS в этой работе не настроены: имя и доступы не предоставлены. Существующие серверы не заменялись.

Что передать физику

«Исправлены суммирование всех трёх поверхностей и единый выбор по OutPotencial. Убраны подбор отдельных дуг и скрытая замена расстояния. dS=Ssh/10000, Ssh пока принято площадью сферической стенки сектора. Расчёт полного сектора без выреза/конуса. Просим подтвердить определение Ssh и прислать недостающий участок Shine с расчётом потенциалов и параметрами Rk/Fconus. Для замкнутой сплошной границы сумма телесных углов постоянна 4*pi; неравномерное физическое поле требует уточнения модели.»

Это исправленная программная реализация с обозначенными допущениями, не подтверждение диссертационной модели и не гарантия ожидаемых менисков.