Russian Qt Forum
Ноябрь 25, 2024, 08:31
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
От С++ к Qt C++
Страниц:
1
[
2
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: От С++ к Qt C++ (Прочитано 7878 раз)
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: От С++ к Qt C++
«
Ответ #15 :
Март 19, 2013, 11:53 »
Цитата: Skrypnyk от Март 18, 2013, 23:22
-QVector3D::dotProduct(nor, vec[0]) - тоже получается расстояние в функции QVector4D(nor, -QVector3D::dotProduct(nor, vec[0]))?
Уравнение плоскости ax + by + cz + d = 0;
Отсюда d = -(ax + by + cz);
В правой части скалярное произведение нормали к плоскости (a, b, c) на точку лежащую на ней (x, y, z)
Цитата: Skrypnyk от Март 18, 2013, 23:22
И еще хочу поинтересоваться: в чем смысл трех вложенных циклов for?
В том что (судя по картинкам в Вике) отрезки Миллера могут задавать множество (семейство) секущих плоскостей, напр (1, 1, 2) уже 2 плоскости
Записан
Skrypnyk
Гость
Re: От С++ к Qt C++
«
Ответ #16 :
Март 19, 2013, 21:14 »
Ага, спасибо, Ваша правда)).
А по поводу индексов Миллера, то это величины, обратные к отрезкам, отсекаемым плоскостью на координатных осях. Например, если мы запишем плоскость (2, 2, 2) используя индексы Миллера в круглых скобках, то мы обозначим единственную плоскость, которая пересекает оси в точках (1/2; 0; 0), (0; 1/2; 0) и (0; 0; 1/2). Если же записать {2, 2, 2} в фигурных скобках, тогда речь идет о семействе плоскостей (они являются семейством в силу симметрии): (-2, -2, -2), (-2, 2, -2), (-2, -2, 2)... (2, 2, 2).
Поэтому 3 вложенных цикла, я полагаю, можно убрать.
Да, еще хотелось бы заметить, что нормаль к плоскости (2, 2, 2) - это вектор [2, 2, 2]. В последнем случае 3 числа в квадратных скобках обозначают вектор с началом в точке (0; 0; 0) и концом в точке (2; 2; 2).
«
Последнее редактирование: Март 19, 2013, 21:21 от Skrypnyk
»
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: От С++ к Qt C++
«
Ответ #17 :
Март 20, 2013, 12:45 »
Цитата: Skrypnyk от Март 19, 2013, 21:14
А по поводу индексов Миллера, то это величины, обратные к отрезкам, отсекаемым плоскостью на координатных осях. Например, если мы запишем плоскость (2, 2, 2) используя индексы Миллера в круглых скобках, то мы обозначим единственную плоскость, которая пересекает оси в точках (1/2; 0; 0), (0; 1/2; 0) и (0; 0; 1/2). Если же записать {2, 2, 2} в фигурных скобках, тогда речь идет о семействе плоскостей (они являются семейством в силу симметрии): (-2, -2, -2), (-2, 2, -2), (-2, -2, 2)... (2, 2, 2).
А я чего-то, бегло глянув Вику, подумал не так - ну Вам виднее
Цитата: Skrypnyk от Март 19, 2013, 21:14
Да, еще хотелось бы заметить, что нормаль к плоскости (2, 2, 2) - это вектор [2, 2, 2]. В последнем случае 3 числа в квадратных скобках обозначают вектор с началом в точке (0; 0; 0) и концом в точке (2; 2; 2).
Тогда еще проще получается - сразу готовая нормаль и точка (напр cntr + (1/2, 0, 0)). Займитесь визуализацией исходных точек и тех что лежат на секущих плоскостях. Считайте все в реальных/исходных координатах (в тех что задавали точки) и получайте в пикселях только перед выводом. A когда дело дойдет до разворота плоскости - я Вам матрицу нарисую.
Edit: нормаль готова "прямо из отрезков" только если оси ортогональны, иначе придется все равно находить 3 точки как выше
«
Последнее редактирование: Март 20, 2013, 12:48 от Igors
»
Записан
Страниц:
1
[
2
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...