|
2 / 2 / 0
Регистрация: 10.09.2023
Сообщений: 70
|
||||||
Пересечение трехмерной сетки точек движущейся сферой29.02.2024, 16:47. Показов 4340. Ответов 46
Дана трехмерная сетка из точек, выровненных по осям X, Y, Z с равномерным шагом ∆s начиная с заданной опорной точки O. Любая точка P в этой сетке может быть определена как: P = O + (ix, iy, iz)∆s, де ix, iy и iz - целочисленные индексы, принадлежащие открытым диапазонам [0, nx), [0, ny) и [0, nz) соответственно. Сетка пересекается движущейся сферой радиуса R. Движение центра сферы определяется 3d-кривой f(t), t ∈ [0, 1]. Для упрощения реализации дана выборка f(t) с шагом ∆t (0 < ∆t ≪ 1) и получаем последовательность 3d-точек f(0), f(∆t), ... , f(1). Каждая пара последовательных точек в этой последовательности может рассматриваться как начальная и конечная точки линейного движения сферы. Точки, пересекающиеся с движущейся сферой, считаются удаленными.
Задание: Реализовать функцию, которая принимает входные параметры (∆s, O, nx, ny, nz, R, f(t), ∆t), моделирует удаление точек сетки, которые пересекаются с линейными перемещениями сферы, и выводит все оставшиеся точки, видимые сверху. Я пока мало знаю о компьютерной графике и алгоритмах, которые в ней используются. Вот что я пытался сделать:
Направьте на путь истинный, если можно, как это сделать получше?
0
|
||||||
| 29.02.2024, 16:47 | |
|
Ответы с готовыми решениями:
46
Аппроксимация точек сферой Смоделировать движение трехмерной рыбацкой сетки на экране (MFC) Отрисовать набор точек в трехмерной системе координат (с возможностью вращения) |
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||||
| 07.03.2024, 14:52 | ||||
|
Попробуйте реализовать сначала так, если все корректно, то добавите эту оптимизацию. Не по теме: Просто сейчас нет времени и желания изучать все ваши нововведения Добавлено через 53 секунды
0
|
||||
| 10.03.2024, 19:09 | ||
|
Ну "повторять" работать будет, но делать так хотя бы с тыщей сегментов... Предлагаю сортировать сегменты по (меньшей) глубине, тогда можно
1) увеличивать "видимую" глубину сравнивая диапазон вырезаемый сферой с текущей глубиной точки; 2) "быстрый выход" если меньшая глубина сегмента больше глубины точки Да, и вот это FindSymmetricZ лучше пока не юзать, просто топать по глубине (на всякий случай) Добавлено через 4 часа 20 минут
0
|
||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 10.03.2024, 19:23 | ||
|
0
|
||
| 10.03.2024, 21:09 | |
|
Сравним расход памяти для 3-мерного битового массива и 2-мерного массива int. Для 32 слоев расход одинаков. Но вряд ли 32 слоя - предел мечтаний, все-таки надо ориентироваться на 2-мерный (если вообще массив).
Думаю здесь лучше обсуждать не "как считать", а "что/как хранить" для точки (элемента массива). Если с этим определиться, то расчет (в прынцыпе) ясен Не по теме: Да, эти "повторения" очень напоминают расчет старой (до raytrace) прозрачности. Правда там везде флажки для оптимизации
0
|
|
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 10.03.2024, 21:20 | ||
|
Мы же это уже давно не обсуждаем и сошлись на одном слое. По крайней мере все мои посты, начиная с 16 сводятся к обсуждению именно такого варианта.
0
|
||
| 10.03.2024, 21:45 | ||
|
0
|
||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 10.03.2024, 21:59 | ||
|
Добавлено через 3 минуты А, понял, по строкам, это всмысле на всю глубину. Добавлено через 2 минуты Неплохой вариант, если сетка более менее квадратная, а вот если попадется, скажем 100 х Много х Много, то толку нет.
0
|
||
| 10.03.2024, 22:31 | |||
|
0
|
|||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|||
| 10.03.2024, 22:45 | |||
|
0
|
|||
| 10.03.2024, 22:58 | ||
|
0
|
||
|
2 / 2 / 0
Регистрация: 10.09.2023
Сообщений: 70
|
|
| 19.03.2024, 21:09 [ТС] | |
|
Здравствуйте, можете объяснить немного подробнее, что значит "строки"? Извините, за то что после такой задержки пишу, там тимлид проснулся, просят оптимизировать по памяти.
Ну у меня пока из идей, только заменить битовый массив списком пустых диапазонов.
0
|
|
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|||
| 19.03.2024, 21:16 | |||
|
0
|
|||
|
2 / 2 / 0
Регистрация: 10.09.2023
Сообщений: 70
|
|||
| 19.03.2024, 21:39 [ТС] | |||
|
0
|
|||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 19.03.2024, 21:43 | ||
![]() В покажите, как вы это в коде реализовали.
0
|
||
|
2 / 2 / 0
Регистрация: 10.09.2023
Сообщений: 70
|
||||||
| 19.03.2024, 21:56 [ТС] | ||||||
|
Вот так:
0
|
||||||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|
| 19.03.2024, 22:12 | |
|
0
|
|
|
2 / 2 / 0
Регистрация: 10.09.2023
Сообщений: 70
|
||
| 19.03.2024, 22:17 [ТС] | ||
|
0
|
||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|
| 19.03.2024, 22:19 | |
|
0
|
|
| 19.03.2024, 22:39 | ||
|
Ну и сканирование объема - всегда плохо. Делайте пересечение луча (z) с капсулой, там несложно.
0
|
||
|
2 / 2 / 0
Регистрация: 10.09.2023
Сообщений: 70
|
|
| 19.03.2024, 22:41 [ТС] | |
|
0
|
|
| 19.03.2024, 22:41 | |
|
Нахождение прямоугольников, задаваемых множеством точек, расположенных в узлах сетки Рассчитать количество all всех точек сетки лежащий внутри этого круга Найти пересечение точек
Определение точек пересечение окружностей Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|
Очистка реквизитов и табличных частей документа при копировании
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
|
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
|
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время?
Никакой пенсии. Никакого нового. . .
|