|
2 / 2 / 0
Регистрация: 10.09.2023
Сообщений: 70
|
||||||
Пересечение трехмерной сетки точек движущейся сферой29.02.2024, 16:47. Показов 4257. Ответов 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 всех точек сетки лежащий внутри этого круга Найти пересечение точек
Определение точек пересечение окружностей Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
После бана на Пикабу не работает авторизация аккаунта с Яндекса.
Hrethgir 09.07.2026
В частности https:/ / auto. ru/ logbook/ zapret-na-vozhdenie-posle-65-let_1cf28789-07b4-4c75-a2f7-4cd4edf9deeb тут хотел оставить комментарий такой
Зрите в корень - монополизация на разработку программ. . .
|
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
|
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|