3 / 2 / 1
Регистрация: 11.08.2022
Сообщений: 46
1

Как узнать индекс ячейки в которой находится "точка", зная структуру ячеек?

23.03.2023, 11:37. Показов 3308. Ответов 44

Author24 — интернет-сервис помощи студентам
Здравствуйте, я знаю как найти индекс кубических ячеек, но не знаю как найти индекс усеченных кубических ячеек, разница в том, что у усеченных на углах дополнительные ячейки, поэтому они и усеченные кубы. Помогите мне пожалуйста модифицировать алгоритм сложения векторов для кубических ячеек: id + 1 = X * Xv + Y * Yv + Z * Zv, Где X,Y,Z это координаты, Xv,Yv,Zv это множитель изменения id в зависимости от изменения по одноименному вектору координаты, и да все ячейки начинаются с нуля координат, и уходят в ++. Помогите пожалуйста, а то ну очень поможет.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.03.2023, 11:37
Ответы с готовыми решениями:

Как узнать индекс столбца в dataGrid, зная содержимое заголовка?
Здравствуйте! Знает ли кто-нибудь, как узнать индекс столбца, зная, что написано в его...

Как узнать индекс элемента ListBox, зная только его текст
И снова всем Добрый день! Не давно разобрался со сравнением элементов в listbox. Теперь у меня...

Как узнать индекс элемента массива, зная итератор на этот элемент?
Вот пример: #include <iostream> #include <vector> #include <algorithm> size_t get_index ...

ListBox узнать текст зная индекс элемента и узнать индекс зная текст элемента
Мне нужно что-то в этом роде for(int b ; b < listBox1.Items.Count ; b++) { string name = Узнаем...

44
6087 / 3446 / 1401
Регистрация: 07.02.2019
Сообщений: 8,756
23.03.2023, 12:13 2
Цитата Сообщение от Gifer Посмотреть сообщение
усеченных кубических ячеек, разница в том, что у усеченных на углах дополнительные ячейки, поэтому они и усеченные кубы
Можешь картинку нарисовать, а то что-то не очень понятно?
0
3 / 2 / 1
Регистрация: 11.08.2022
Сообщений: 46
23.03.2023, 13:40  [ТС] 3
Да, извините, я неправильно выразился, не усеченный куб, а октаэдр, просто у меня мнимые ячейки, так что я ошибся когда представил их форму. Я думаю не составит труда представить 3д ячейки в виде кубов, или октаэдров, вед это просто фигуры соединенные вместе без зазоров.
Миниатюры
Как узнать индекс ячейки в которой находится "точка", зная структуру ячеек?  
0
6087 / 3446 / 1401
Регистрация: 07.02.2019
Сообщений: 8,756
23.03.2023, 14:47 4
Цитата Сообщение от Gifer Посмотреть сообщение
октаэдров, вед это просто фигуры соединенные вместе без зазоров
Если без зазоров, то что именно (какая часть и как ориентированна) находится в начале координат? Плюс общий объем этих фигур, даже если и имеет кубическую форму, не является гладким, т.е. грани этого суммарного "куба" будут выглядеть как шумопоглащающее покрытие (пирамидки торчать будут).
0
3 / 2 / 1
Регистрация: 11.08.2022
Сообщений: 46
23.03.2023, 15:20  [ТС] 5
Цитата Сообщение от zayats80888 Посмотреть сообщение
(пирамидки торчать будут)
Это неважно, мне нужно пространство внутри.
Цитата Сообщение от zayats80888 Посмотреть сообщение
(какая часть и как ориентированна) находится в начале координат?
Первая ячейка в x,y,z = 0, остальные условно создают куб 100 на 100, по формуле нахождения индекса кубических ячеек соотношение размеров влияют на множители Xv,Yv,Zv, и все работает, но мне нужно работать с более скругленными ячейками чем кубы, извините я сам придумал эту формулу и проверил ее лишь в голове, если в ней ошибка, дайте знать, НО я не могу придумать формулу для нахождения индекса ОКТАЙДЭРНЫХ ячеек, ПОМОГИТЕ ПОЖАЛУЙСТА С ЭТИМ, заранее спасибо.
0
6087 / 3446 / 1401
Регистрация: 07.02.2019
Сообщений: 8,756
23.03.2023, 15:33 6
Цитата Сообщение от Gifer Посмотреть сообщение
Первая ячейка в x,y,z = 0
Что такое первая ячейка? У вас октаэдр! Какая вершина (или какая другая точка его объема) находится в начале координат, а также, как ориентированна плоскость основания его пирамиды(половинки) относительно координатных плоскостей? И я спрашиваю именно про первый октаэдр, т.к. остальные будут уже разворачиваться периодически.
0
3 / 2 / 1
Регистрация: 11.08.2022
Сообщений: 46
23.03.2023, 15:48  [ТС] 7
Цитата Сообщение от zayats80888 Посмотреть сообщение
Что такое первая ячейка?
АХ, ДА, это точка находится на одном из углов "КУБА" который состоит из ячеек, по идее неважно каких форм сами ячейки, они все равно будут создавать куб, и да, следующие ячейки будут "идти змейкой" создавая общую структуру похожую на куб, или параллелепипед. ИЗВЕНИТЕ ЧТО СРАЗУ НЕ СКАЗАЛ!!!

Добавлено через 5 минут
Цитата Сообщение от zayats80888 Посмотреть сообщение
а также, как ориентированна плоскость основания его пирамиды(половинки) относительно координатных плоскостей?
Ориентированная, своими "углами" в направления XYZ лучей!!!
0
6087 / 3446 / 1401
Регистрация: 07.02.2019
Сообщений: 8,756
23.03.2023, 16:51 8
Цитата Сообщение от Gifer Посмотреть сообщение
АХ, ДА, это точка находится на одном из углов "КУБА" который состоит из ячеек, по идее неважно каких форм сами ячейки, они все равно будут создавать куб
...
Ориентированная, своими "углами" в направления XYZ лучей!!!

Ладно, попробуйем иначе. Внимательно посмотрите на вашу картинку октаэдра из поста №3.
Октаэдр состоит из двух половинок- пирамид, "слепленых" друг с другом основанием. Основание этих пирамид - квадрат.
Назовем четыре вершины этого квадрата боковыми, а плоскость этого квадрата центральной плоскостью.
Назовем две оставшиеся вершины (верхнюю и нижнюю) угловыми.
А теперь внимание! Есть минимум 6 способов расположить вершину первого октаэдра (того, у которого индексы будут 0,0,0) в начале координат:
1) в начале координат расположена боковая вершина, а центральная плоскость лежит в плоскости XY.
2) в начале координат расположена боковая вершина, а центральная плоскость лежит в плоскости XZ.
3) в начале координат расположена боковая вершина, а центральная плоскость лежит в плоскости YZ.
4) в начале координат расположена угловая вершина, а центральная плоскость параллельна плоскости XY.
5) в начале координат расположена угловая вершина, а центральная плоскость параллельна плоскости XZ.
6) в начале координат расположена угловая вершина, а центральная плоскость параллельна плоскости YZ.

От этого зависит, как будут индексироваться дальнейшие октаэдры.
Вопрос, какой ваш вариант?
0
1821 / 730 / 98
Регистрация: 01.10.2012
Сообщений: 3,735
23.03.2023, 17:09 9
Цитата Сообщение от zayats80888 Посмотреть сообщение
А теперь внимание! Есть минимум 6 способов расположить вершину первого октаэдра
Может лучше: центр СК в центре первого октаэдра. Впрочем все равно все (x, y, z) зависимы

Не по теме:

Встречал такое заполнение/опцию несколько раз, но всегда обходил его стороной выбирая кубы (нафиг нужно голову ломать)

1
6087 / 3446 / 1401
Регистрация: 07.02.2019
Сообщений: 8,756
23.03.2023, 17:18 10
Цитата Сообщение от Igor3D Посмотреть сообщение
Может лучше: центр СК в центре первого октаэдра.
Ну он говорит, что вроде вершина должна быть.

Не по теме:

это я еще отбросил 3 способа, где плоскость основания не параллельна координатным плоскостям, а под углом 45 между любой из трёх пар плоскостей :)

0
3 / 2 / 1
Регистрация: 11.08.2022
Сообщений: 46
23.03.2023, 18:12  [ТС] 11
Вот мнимая структура ячеек которую я пытаюсь овладеть, красными показаны точки, если это были бы кубические ячейки, а желтыми дополнительные ячейки для "скругления" кубических ячеек, они все должны быть одинаковой формы, но я так понял, что это форма усеченных кубов, в бландере я не смок создать достаточное усечение, так что картинку показать не могу.
Миниатюры
Как узнать индекс ячейки в которой находится "точка", зная структуру ячеек?  
0
6087 / 3446 / 1401
Регистрация: 07.02.2019
Сообщений: 8,756
23.03.2023, 18:17 12
Цитата Сообщение от Gifer Посмотреть сообщение
Вот мнимая структура ячеек которую я пытаюсь овладеть, красными показаны точки, если это были бы кубические ячейки, а желтыми дополнительные ячейки для "скругления" кубических ячеек
Ну тогда лучше не октаэдры а пирамиды. В одном кубе (из красных точек) находится 6 пирамид. Вам нужно узнать по трем вещественным координатам, в какую пирамиду попадает точка?
0
3 / 2 / 1
Регистрация: 11.08.2022
Сообщений: 46
23.03.2023, 18:19  [ТС] 13
Цитата Сообщение от zayats80888 Посмотреть сообщение
Ладно, попробуем иначе. Внимательно посмотрите на вашу картинку октаэдра из поста №3
я попытался построить показательную модель из 3д фигур октайдэров, но увидел, что октайдэры не сходятся, по структуре ячеек, что показонно на картинке в сообщении N11
0
6087 / 3446 / 1401
Регистрация: 07.02.2019
Сообщений: 8,756
23.03.2023, 18:25 14
Цитата Сообщение от Gifer Посмотреть сообщение
я попытался построить показательную модель из 3д фигур октайдэров, но увидел, что октайдэры не сходятся, по структуре ячеек, что показонно на картинке в сообщении N11
Сходятся, просто вы не так строили - красные точки это всегда боковые вершины, желтые - угловые. Если 8 красных образуют куб, а желтая точно в его центре, то все получится.
0
3 / 2 / 1
Регистрация: 11.08.2022
Сообщений: 46
23.03.2023, 18:27  [ТС] 15
Цитата Сообщение от zayats80888 Посмотреть сообщение
Ну тогда лучше не октаэдры а пирамиды.
Этими "пирамидами" я показал лишь точки, для наглядности, на этих точках условно расположены "ячейки" одинаковой формы в виде 3д сот, если точка располагается в пределах какой то "соты" то по уравнению мне нужно узнать индекс той "соты" В ЭТОМ ВОПРОС, КАК?
0
6087 / 3446 / 1401
Регистрация: 07.02.2019
Сообщений: 8,756
23.03.2023, 18:30 16
Цитата Сообщение от Gifer Посмотреть сообщение
Этими "пирамидами" я показал лишь точки
Я не про ваши пирамиды, а про те, которые образуют "соты". Вот, например, на картинке, четыре левые нижние красные точки (лежат на квадрате сетки) и желтая прямо над ними образуют пирамиду.
0
3 / 2 / 1
Регистрация: 11.08.2022
Сообщений: 46
23.03.2023, 18:38  [ТС] 17
Цитата Сообщение от zayats80888 Посмотреть сообщение
Ну тогда лучше не октаэдры а пирамиды.
Мне нужно получить ячейку с большим количеством "ребер" чем у куба, это нужно для более оптимизированной работы с меньшим количеством ячеек.
0
6087 / 3446 / 1401
Регистрация: 07.02.2019
Сообщений: 8,756
23.03.2023, 18:46 18
Цитата Сообщение от Gifer Посмотреть сообщение
Мне нужно получить ячейку с большим количеством "ребер" чем у куба
У октаэдра и у куба количество ребер одинаково - 12 шт. Может вы имери ввиду грани?
1
3 / 2 / 1
Регистрация: 11.08.2022
Сообщений: 46
23.03.2023, 18:48  [ТС] 19
Цитата Сообщение от zayats80888 Посмотреть сообщение
Может вы имери ввиду грани?
Да, вы правы грани
0
6087 / 3446 / 1401
Регистрация: 07.02.2019
Сообщений: 8,756
23.03.2023, 18:52 20
Gifer, давайте слегка упростим, посмотрим на структуру в направлении одной плоскости, пронумеруйте ячейки, как вы хотите их видеть:
Как узнать индекс ячейки в которой находится "точка", зная структуру ячеек?
0
23.03.2023, 18:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.03.2023, 18:52
Помогаю со студенческими работами здесь

Как узнать индекс строки в котором находится определенное слово
Здравствуйте Создал поиск по тексту и он находит слово введенное в textBox. Как узнать индекс...

Как определить адрес ячейки, в которой находится картинка?
Задача такая: экспортировать все картинки из файла xlsx, который представляет собой каталог...

Если точка не лежит на координатных осях, то вывести номер четверти, в которой находится точка
Даны два целых числа, координаты точки на плоскости A (x, y). Если точка не лежит на координатных...

Дано четыре ячейки. Из той ячейки, в которой число окажется больше, вычесть числа из остальных ячеек
Нужна помощь по созданию простенького условия, сам что то не с интуичу (тупой я). Дано четыре...

Как узнать адрес страницы, на которой находится пользователь?
Привет! Собственно и весь вопрос... Использую JSP. И если такое возможно, хотелось бы узнать адрес...

Как узнать является ли строка адресом ячейки или ячеек?
Там вроде надо проверять через isobject. Покажите пример кода.

Даны координаты точки на плоскости. Вывести номер координатной четверти, в которой находится данная точка, если точка
1. Из файла сценария с помощью функции диалогового ввода ввести с клавиатуры все необходимые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru