|
2 / 2 / 0
Регистрация: 10.09.2023
Сообщений: 70
|
||||||
Пересечение трехмерной сетки точек движущейся сферой29.02.2024, 16:47. Показов 4424. Ответов 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) Отрисовать набор точек в трехмерной системе координат (с возможностью вращения) |
|
6353 / 3524 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||||
| 07.03.2024, 14:52 | ||||
|
Попробуйте реализовать сначала так, если все корректно, то добавите эту оптимизацию. Не по теме: Просто сейчас нет времени и желания изучать все ваши нововведения Добавлено через 53 секунды
0
|
||||
| 10.03.2024, 19:09 | ||
|
Ну "повторять" работать будет, но делать так хотя бы с тыщей сегментов... Предлагаю сортировать сегменты по (меньшей) глубине, тогда можно
1) увеличивать "видимую" глубину сравнивая диапазон вырезаемый сферой с текущей глубиной точки; 2) "быстрый выход" если меньшая глубина сегмента больше глубины точки Да, и вот это FindSymmetricZ лучше пока не юзать, просто топать по глубине (на всякий случай) Добавлено через 4 часа 20 минут
0
|
||
|
6353 / 3524 / 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
|
|
|
6353 / 3524 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 10.03.2024, 21:20 | ||
|
Мы же это уже давно не обсуждаем и сошлись на одном слое. По крайней мере все мои посты, начиная с 16 сводятся к обсуждению именно такого варианта.
0
|
||
| 10.03.2024, 21:45 | ||
|
0
|
||
|
6353 / 3524 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 10.03.2024, 21:59 | ||
|
Добавлено через 3 минуты А, понял, по строкам, это всмысле на всю глубину. Добавлено через 2 минуты Неплохой вариант, если сетка более менее квадратная, а вот если попадется, скажем 100 х Много х Много, то толку нет.
0
|
||
| 10.03.2024, 22:31 | |||
|
0
|
|||
|
6353 / 3524 / 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
|
|
|
6353 / 3524 / 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
|
|||
|
6353 / 3524 / 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
|
||||||
|
6353 / 3524 / 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
|
||
|
6353 / 3524 / 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 всех точек сетки лежащий внутри этого круга Найти пересечение точек
Определение точек пересечение окружностей Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|