2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.
 
 Re: Приглашаю помочь и заняться интересным 2d 3d web построение
Сообщение22.10.2009, 18:10 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Сотрите это нафиг. Сейчас. Или Вы собираетесь писать программу, в которой клиенту разрешено нажать на кнопки только 3 раза?

-- Чт, 2009-10-22, 19:13 --

Множить надо было в числовом виде, а не в символьном.

 Профиль  
                  
 
 Re: Приглашаю помочь и заняться интересным 2d 3d web построение
Сообщение22.10.2009, 18:15 


31/08/09
183
Просто напиши, что множить на что? я перемножу...

 Профиль  
                  
 
 Re: Приглашаю помочь и заняться интересным 2d 3d web построение
Сообщение22.10.2009, 18:25 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
1. Иногда надо множить матрицу на вектор. А именно, матрицу ориентации на вектор точки. Это надо делать для каждой точки при каждой отрисовке. А больше никогда не надо.
2. Иногда надо множить матрицу на матрицу. А именно, матрицу ориентации на матрицу поворота. Это надо делать один раз при каждом повороте. А больше никогда не надо.

 Профиль  
                  
 
 Re: Приглашаю помочь и заняться интересным 2d 3d web построение
Сообщение22.10.2009, 18:40 
Заслуженный участник


27/04/09
28128
Circiter в сообщении #253890 писал(а):
Может быть я слишком старомоден, но бумажки иногда помогают. :)
Тогда мы оба старомодны. Я все свои сколь-нибудь сложные алгоритмические умыслы стараюсь на бумаге изобразить, а то без этого часто вообще просто никак - при возне с разными индексами, например... :? Всякие схемы тоже мне легче коряво рукой изобразить, чем точно, но долго в каком-нибудь Visio. :oops: А вот таблицы я руками не черчу! :lol: Ну, это уже оффтоп, прошу простить.

Criticer, вот вы приводили алгоритм умножения матриц. А формулу приводили? (Я уже забыл, что тут было написано.) Вдруг с ней mycoding'у станет понятнее?
Формула, если не приводили:
Пусть имеются матрицы $A_{m \times n} ;\;B_{n \times p} ;\;C = AB$
Тогда элемент $c$ матрицы $C$ вычисляется так: $c_{ij}  = \sum\limits_{k = 1}^n {a_{ik} b_{kj} } ;\quad 1 \leqslant i \leqslant m,\;1 \leqslant j \leqslant p$

P.S. Написал формулу и понял, что она может только запутать... :lol:

 Профиль  
                  
 
 Re: Приглашаю помочь и заняться интересным 2d 3d web построение
Сообщение23.10.2009, 00:57 
Заслуженный участник


26/07/09
1559
Алматы
2arseniiv
Цитата:
А формулу приводили?

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

 Профиль  
                  
 
 Re: Приглашаю помочь и заняться интересным 2d 3d web построение
Сообщение23.10.2009, 01:52 


06/10/09
63
Здравствуйте. Я пишу программы на VB и меня интересует вопрос по 3D - графике.
Дано следующее:
VX, VY, VZ - координаты точки;
CX, CY, CZ - координаты камеры;
RX, RY, RZ - Вращение камеры по оси X, Y и Z.
Нужно найти:
SQ - видимость точки
SX - горизонтальный угол отображаемой на экране.
SY - вертикальный угол точки, отображаемой на экране.
У меня есть этот кусок программы, но мне кажется, что он работает неправильно:
Код:
cosx = Cos(RX)
cosy = Cos(RY)
cosz = Cos(RZ)
sinx = Sin(RX)
siny = Sin(RY)
sinz = Sin(RZ)
SQ = 1
TX = VX - CX
TY = VY - CY
TZ = VZ - CZ
T = TX * cosz - TY * sinz
TY = TX * sinz + TY * cosz
TX = T
T = TZ * cosy - TY * siny
TY = TZ * siny + TY * cosy
TZ = T
T = TX * cosx - TZ * sinx
TZ = TX * sinx + TZ * cosx
TX = T
T = TX ^ 2 + TZ ^ 2
TR = Sqr(T + TY ^ 2)
T = Sqr(T)
If TR = 0 Then
    SX = 0
    SY = 0
Else
    SX = TX * 90 / TR
    SY = TZ * 90 / TR
    If TY < 0 Then
        SQ = 0
        If T = z Then
            SX = 0
            SY = 0
        Else
            SX = TX * 180 / T - SX
            SY = TZ * 180 / T - SY
        End If
    End If
End If


Прога написана на Visual Basic 6.0
Вроде бы показывает точку правильно, но меня интересует, есть способ лучше этого???

-- Пт окт 23, 2009 01:56:48 --

Здесь еще и TR - расстояние от камеры, до точки (нужно для текстурного доминирования)

Вообще, начиная с 7 строчки и до конца - это кусок из цикла обработки всех точек, просто без массивов рассматривать будет проще.

 Профиль  
                  
 
 Re: Приглашаю помочь и заняться интересным 2d 3d web построение
Сообщение23.10.2009, 09:47 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
В очередь! :twisted: Или отдельную тему.

 Профиль  
                  
 
 Re: Приглашаю помочь и заняться интересным 2d 3d web построение
Сообщение23.10.2009, 10:00 


31/08/09
183
Так что на что множить, я опять в нете столько статей читатал, и чем больше читаю тем больше понимаю, что не так всё просто. А про камеры вопрос интересный, тоже надо заняться, но сначало бы с этим простым разобраться....

 Профиль  
                  
 
 Re: Приглашаю помочь и заняться интересным 2d 3d web построение
Сообщение23.10.2009, 10:13 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Повторение - мать учения, they say.
ИСН в сообщении #253933 писал(а):
1. Иногда надо множить матрицу на вектор. А именно, матрицу ориентации на вектор точки. Это надо делать для каждой точки при каждой отрисовке. А больше никогда не надо.
2. Иногда надо множить матрицу на матрицу. А именно, матрицу ориентации на матрицу поворота. Это надо делать один раз при каждом повороте. А больше никогда не надо.

(По-моему, проще некуда. Проще квиксорта и рекурсии. Что Вы читали в инете, я не знаю. Может, то писали психи, сбежавшие из зоопарка. Или может, там о других вопросах - ray tracing, текстуры, туда-сюда. Это всё хорошо, но это потом. Simple things first.)

 Профиль  
                  
 
 Re: Приглашаю помочь и заняться интересным 2d 3d web построение
Сообщение23.10.2009, 19:05 


31/08/09
183
А ну его в баню, слишком сложно не понятно.....

 Профиль  
                  
 
 Re: Приглашаю помочь и заняться интересным 2d 3d web построение
Сообщение23.10.2009, 19:19 
Заслуженный участник


27/04/09
28128
Намного легче, чем работать с отдельными координатами

 Профиль  
                  
 
 Re: Приглашаю помочь и заняться интересным 2d 3d web построение
Сообщение23.10.2009, 19:52 


31/08/09
183
Ну не получается, не допру просто и книг нормльных нет и обьяснено один так говорит другой эдак , и как спрашивается ? Нописал бы кно нормальные tutorial по 3d
вот это была бы тема...
Даже у аспиранта-препода спрашивали, и он сказал, что с матрицами не разобрался

 Профиль  
                  
 
 Re: Приглашаю помочь и заняться интересным 2d 3d web построение
Сообщение23.10.2009, 20:12 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Тьфу, барахло.

 Профиль  
                  
 
 Re: Приглашаю помочь и заняться интересным 2d 3d web построение
Сообщение23.10.2009, 20:24 


31/08/09
183
ИСН в сообщении #254235 писал(а):
Тьфу, барахло.

Если вы так пишите значит это можете сделать как нечего делать, наверняка хотя бы с++ вы знаете.
Сделайте, пожалуйста, линию с матрицами

 Профиль  
                  
 
 Re: Приглашаю помочь и заняться интересным 2d 3d web построение
Сообщение23.10.2009, 21:36 


06/10/09
63
mycoding, что именно тебе непонятно в матрицах, как их умножать? Я в 11 классе, до сегодняшнего дня вообще не знал что это такое. Но вот зашел сюда
-http://ru.wikipedia.org/wiki/Матрица_(математика)
Я советую сделать также, там и пятиклассник поймет(Все что до пункта "типы матриц"), дальше и сам не захотел въезжать...
А у меня вопрос, как разделить матрицу A на матрицу B?? Также как и умножать, только вместо умножения элементов делать деление?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 91 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group