![>](style_images/1/nav_m.gif)
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.223.210.20] |
![]() |
|
Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
ребят, подскажите как сформировать зеркальное отображение. у меня есть массив треугольников, которые состовляют фигуру, которая находится к комнате. я их сортирую и получаю изображение. а надо еще сделать зеркало. т.е., например, пол является зеркалом.
т.е. как-то что-то отразить и отсортировать, чтобы формировалось зеркальное отражение на полу. подскажите, как это сделать, плиз. |
Сообщ.
#2
,
|
|
|
http://forum.sources.ru/index.php?showtopic=374
![]() если пол в плоскости ху, а его z координата равна нулю, то z=-z для всех треугольников. а для общего случая - вычисляешь проекцию точки на нормаль к поверхности и тоже её делаешь отрицательной только если сия проекция и так отрицательна, то рисовать точку не надо ![]() зы. ето потипу означает что отнимаешь от вектора его проекцию, умноженную на 2 |
Сообщ.
#3
,
|
|
|
спасибо за ответ. почитаю.
|
Сообщ.
#4
,
|
|||
|
ещё небольшое уточнение, на всякий пожарный. зеркало может находиться в любом месте пространства, а потому надо отнимать удвоенную разность проекций на нормаль твоего вектора и какойлибо точки зеркала.
ты обратил внимание, в каком ето разделе? ![]() |
Сообщ.
#5
,
|
|||||||||
|
да, обратил. спасибо. у нас модераторы любят поколбасится и переместить тему. ![]()
кстати, симметричное отображение не катит, так там выполняются не все законы физики, например, может быть видна грань, которая, на самом деле, в зеркало лучей отражать не может. вот можешь посмотреть мое творчество. там иногда бутылки поворачиваются горлышком к зеркалом, и дно видно не должно быть.там, кстати, можно на бутылки кликать. ![]() ![]()
не очень понял от чего отнимать.
вот это не понял абсолютно. как это спроецировать точку на нормаль? на прямую, направляющей которой является нормаль? Прикреплённый файл ![]() |
Сообщ.
#6
,
|
|
|
да, кстати, бутылка просчитана в 3dsmaxе при помощи скрипта, данного мне albomом, за что ему огромная благодарность.
|
Сообщ.
#7
,
|
|||||||
|
помоему она изначально там была ![]()
почему????
ну потипу есь у тебя единичный вектор нормали. а проекция будет скалярным произведением проецируемого вектора на нормаль, и ещё умноженным на ету нормаль, чтобы получился вектор. вычисляешь таким способом две проекции и отнимаешь их от друг друга. а потом отнимаешь удвоенный полученный вектор от твоего исходного вектора. |
Сообщ.
#8
,
|
|||
|
Ну, как почему? скачай аттач и посмотри, как там бутылки вертятся, там иногда дно не должно быть видно, а оно видно. посмотри внимательно, если не боишься вируса или еще чего. я уже на счет этого объяснял в предыдущем посте. |
Сообщ.
#9
,
|
|
|
сколько ни смотрел, ничего неправильного не увидел.
|
Сообщ.
#10
,
|
|
|
ну, говорю же, когда дно бутыли повернуто к потолку, то оно иногда видно в зеркало, чего быть не может. посмотри подольше и повнимательнее.
|
Сообщ.
#11
,
|
|
|
да не видно там ничего!! ты хоть скриншот пришли
|
Сообщ.
#12
,
|
|
|
Сообщ.
#13
,
|
|
|
ты неправ!! так и должно быть! ты сам своей мозгой пораскинь, просто угол маленький, vot и получается, что видно дно
ежели не веришь, можешь в натуре взять бутылку и поставить её к зеркалу |
Сообщ.
#14
,
|
|
|
ты чего? это ты не прав! я уже попробовал - и дно не видно. ты сам-то пробовал?
ты физику учил? там на зеркало лучей отражаться не может от этого дна. тебя эти соображения тоже не убеждают? люди, посмортите bottom.jpg и рассудите нас, пожалуйста. |
Сообщ.
#15
,
|
|||
|
))) бутылочка абсолютно правильно нарисована. и с физикой здесь все в порядке, (защищал диплом на кафедре теоретической физики). Просто дно отражается не в точках проекциях дна на плоскость, а посредине между стеклом монитора и самой бутылкой (если конечно глаз на уровне бутылки). т.е. простое z=-z и все! а видно дно или не видно - это будет уже зависеть от координаты x (ось X перпендикулярна плоскости стекла монитора), судя по тому, на рисунке отражение почти совпадает с оригиналом - координата x довольна большая. уменьшить x и дна видно не будет! а насчет реального эксперимента - я тоже флакончик с клеем смотрел в зеркале - дно не видно. но стоит опустить глаз почти на уровень с плоскостью зеркала - дно видно!(можно правда не опускать, а взять зеркало несколько метровой длины, которого у меня нет). когда я баловался с трехмерной графикой, для большей реалистичности - все переменные были не в пикселах, а в сантиметрах, и с учетом того что глаз от монитора на расстоянии 50 см. тогда с перспективой было все в порядке. |