|
-1 / 1 / 0
Регистрация: 24.12.2018
Сообщений: 124
|
|
Как сгруппировать вертексы19.01.2022, 12:14. Показов 1371. Ответов 8
Есть массив тpeyгольников, которыми описывается какая-то фигура.
Для каждого треугольника даны пространственные координаты вершин и нормаль к треугольнику. Т.е. треуг_1 А(x,y,z); В(x,y,z); С(x,y,z); normal (1,0,-1). Нужно построить гucтогpaмму суммapной площади тpeyгольнuков от угла opueнтации нopмaли по отношению к плoскocти XY. Диапазон углов от -90 до 90 градусов. Т.е. например для -90 градусов нужно найти все треугольники, у которых угол между нормалью и плоскостью ХУ равен -90 гpaдусов. Потом для -89 гpaдycoв найти все тpeyгольники, у которых угол между нopмaлью и плоскостью ХУ равен -89 гpaдycoв. И так для для всех углов от -90 до 90 градусов. Что математически нужно сделать, чтобы по имеющимся для тpeyгольнuка кoopдинатам и нopмали определить yгoл между нopмалью и плоскостью ХУ?
0
|
|
| 19.01.2022, 12:14 | |
|
Ответы с готовыми решениями:
8
Как удалять и добавлять вертексы в шейдер? Определить какие вертексы (или полигоны) оказались выбраны Как сгруппировать вывод из БД |
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 19.01.2022, 13:07 | ||
|
Косинус угла между вектором единичной длины и плоскостью можно посчитать через скалярное произведение этого вектора с его нормализованной проекцией на плоскость XY(эта проекция - тот же вектор, но с z = 0, и не забыть нормализовать).
0
|
||
|
-1 / 1 / 0
Регистрация: 24.12.2018
Сообщений: 124
|
|
| 19.01.2022, 20:30 [ТС] | |
|
zayats80888, спасибо за хорошую мысль. Смысл я понял.
Только с нормализацией не понял. В чем суть процесса? Если есть нормаль (-1, 0, 1), то как нормализовать проекцию этой нормали на плоскости ХУ?
0
|
|
|
Вездепух
12930 / 6798 / 1820
Регистрация: 18.10.2014
Сообщений: 17,208
|
||
| 19.01.2022, 20:49 | ||
Сообщение было отмечено prokino как решение
Решениеv = (x, y, z). Величина a = z / |v| - это косинус угла между вектором v и осью Z. Тогда b = Pi/2 - arccos(a) - это искомый угол, между вектором v и плоскостью XY.Например: v = (-1, 0, 1) a = 1 / sqrt((-1)2+02 + 12) = 1 / sqrt(2) b = Pi/2 - arccos(1 / sqrt(2)) = Pi/2 - Pi/4 = Pi/4, то есть 45 градусов
1
|
||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 19.01.2022, 21:24 | ||
|
0
|
||
|
Вездепух
12930 / 6798 / 1820
Регистрация: 18.10.2014
Сообщений: 17,208
|
|
| 20.01.2022, 06:54 | |
|
Сопутствующая логическая-геометрическая головоломка "для начинающих":
1. Предоставляемая нам условием задачи информация, очевидно, избыточна: нам не нужно давать нормаль, ибо зная все три вершины треугольника мы всегда сможем легко сами построить вектор нормали к нему (подразумевая невырожденный треугольник, разумеется). То есть каждый треугольник вместе со своей нормалью полностью описывается 9 числами. 2. А давайте зайдем с другой стороны и предложим другой способ задания: пусть нам дан вектор нормали (3 числа) и координаты вершины A треугольника (3 числа). Эти данные уже однозначно задают плоскость в пространстве. Сколько нужно еще данных, чтобы достроить треугольник, т.е. задать вершины B и C? Ответ: нужно еще по две координаты для вершин B и C. Третья координата для B и C будет вычислима из остальных двух. Однако во втором способе нам потребовалось 10 чисел для описания треугольника, а не 9. То есть в таком способе задания где-то еще прячется какая-то избыточность. Где она прячется? Как "ужать" и этот способ задания до 9 чисел?
0
|
|
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|
| 20.01.2022, 09:57 | |
|
0
|
|
|
Вездепух
12930 / 6798 / 1820
Регистрация: 18.10.2014
Сообщений: 17,208
|
||
| 20.01.2022, 22:29 | ||
|
Длина вектора нормали - это и есть избыточная, ненужная нам информация, которую мы получаем, когда вектор нормали задан 3 координатами. Для решения задачи нам не нужна длина вектора нормали, а нужно лишь его направление. В трехмерном пространстве для задания направления без задания длины достаточно двух чисел. Например: значений двух "полярных" углов, по аналогии с полярной системой координат на плоскости. На плоскости направление задается одним углом азимута, а в трехмерном пространстве направление задается парой: углом азимута и углом места. То есть нам нужно 2 числа для задания направления нормали, 3 числа для задания точки A и по 2 числа для задания точек B и С - всего 9 чисел.
0
|
||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 20.01.2022, 23:19 | ||
|
Например, первые 6 чисел из вашего поста(нормаль пусть В итоге запишем 5 чисел -
0
|
||
| 20.01.2022, 23:19 | |
|
Помогаю со студенческими работами здесь
9
как сгруппировать данные Как сгруппировать данные Как сгруппировать разряды?
Как сгруппировать данные? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|