"Хотелки" по интерфейсу ВСЕХ продуктов: 1. Номера всех источников и их обозначения имеет смысл хранить в виде целых чисел, а сортировку (если такая запрошена по источнику, а не по его мощности, например, имеет смысл делать как для текстовых строк -- "натуральной" сортировкой. Создать возможность настроить количество лидирующих нулей и отображение "площадка.цех.источник" без "площадка.цех", если их нет, т.е. нули. Получится, если сортировать номера с лидирующими нулями как текст, не нежно заморачиваться на "натуральную" сортировку чисел. Это для всех отчетов и анализа удобно будет. 2. Вы создаете отчеты сразу в виде формата DOCX. Попробуйте включить уникальные имена таблиц в XML-описание, типа "UID таблицы" и отдельно -- список возможных по группам применения. Это упростит извлечение из отчетов. Я понимаю, это отдельная задача, зато Ваши отчеты можно будет с помощью Word и VBA легко просматривать и анализировать. Без других форматов, которые еще запрограммировать надо... 3. Вы решили графику с convert.exe? Не знаю, 4 года прошло... Решайте. Векторные форматы никто не отменил. Смотрите, что умеет делать QGIS или тот же автокад при экспорте в PDF -- все в векторе, только что пиксель -- остается пикселем. Это повысит качество восприятия Вашей картографии просто я не знаю, в какие разы... Цифирью оценивать не буду. 4. Вы решили вычисления на графических картах? Это Вас просто взорвет. ВСЕ вычисления сеточные распараллеливаются не компилятором, но оптимизацией алгоритмов. Пожалуйста, не полагайтесь на стандартные инструменты. На одном компиляторе можно получить разницу до 1000 раз(!), если просто оптимизировать по скорости и параллельности исходный алгоритм явно руками. А про видеокарты -- я вообще молчу. Можно будет отрисовывать изолинии с заполнением в реальном времени. В 3D с любой детализацией мгновенно, без кнопки "Обновить". Можно в код включить различные реализации, это не увеличит размер кода практически. Просто разные вызовы для разного окружения (видеокарт, драйверов и т.п.). 5. С такими вычислительными ресурсами можно обсчитывать итерациями границы моментально, разбивая их до любого количества точек. И будет необходимость указывать только точность до сантиметров, например.
Вся графика и массовые расчеты.
Вулых Павел | 20 августа 2026 23:17
1 ответ
Вулых Павел
20 августа 2026 23:31
6. Про собственно трассировку я и забыл. Ray-Trace не обязателен, можно придумать более оптимальные варианты, с анализом предварительным. Оцените, насколько велика матрица с коэффициентами для каждого алгоритма и каждой пары точек. После фильтрации, это то наверняка не больше 100 значений в 4-мерном массиве. Сразу можно рассчитать количество памяти. Сначала рассчитать все матрицы лучей, а потом их быстро в параллели обсчитать. Причем расчет матриц лучей надо сделать только один раз. Это алгоритм, который тоже распараллеливается, но именно на процессорах, поскольку просто не влезет в GPU из-за непредсказуемости времени выполнения (не совсем верно, см. п. 8) Дальше эти матрицы просто применяются своим 4 измерением к исходным 4-D источникам в совокупности -- это простая арифметика, (все матрицы коэффициентов отражения, поглощения, дифракции, застройки по высоте, направлении и скорости распространения (скорости ветра) уже объединены в одну скалярную величину), в итоге получаем в расчетных точках 4-D в любом, практически неограниченном количестве по любому алгоритму снижения/распространения. По октавам, по веществам... 7. Можно не стесняться в разбиении источников разной формы и размеров на точечные, эквивалентные части площади или длине исходного источника величины, с учетом всех возможных углов распространения и т.п. и писать об этом в отчетах -- источник разбит на n-надцать эквивалентных. Исходные -- такие, эквивалентные -- такие. Вопросов не будет. Чтобы не плодить сущностей, такое разбиение имеет смысл делать 1 раз для ближайшей расчетной точки возле каждого источника. Получится масса источников, но это при предлагаемом подходе -- практически несущественно. 8. Как дальнейшая оптимизация -- лезть внутрь алгоритма трассировки, выделять части и их распараллеливать. Не стОит забывать, что в видеокартах есть разные пулы масс-процессоров, и все могут заниматься своими функциями.