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 
Аватара пользователя
Сотрите это нафиг. Сейчас. Или Вы собираетесь писать программу, в которой клиенту разрешено нажать на кнопки только 3 раза?

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

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

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

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

 
 
 
 Re: Приглашаю помочь и заняться интересным 2d 3d web построение
Сообщение22.10.2009, 18:40 
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 
2arseniiv
Цитата:
А формулу приводили?

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

 
 
 
 Re: Приглашаю помочь и заняться интересным 2d 3d web построение
Сообщение23.10.2009, 01:52 
Здравствуйте. Я пишу программы на 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 
Аватара пользователя
В очередь! :twisted: Или отдельную тему.

 
 
 
 Re: Приглашаю помочь и заняться интересным 2d 3d web построение
Сообщение23.10.2009, 10:00 
Так что на что множить, я опять в нете столько статей читатал, и чем больше читаю тем больше понимаю, что не так всё просто. А про камеры вопрос интересный, тоже надо заняться, но сначало бы с этим простым разобраться....

 
 
 
 Re: Приглашаю помочь и заняться интересным 2d 3d web построение
Сообщение23.10.2009, 10:13 
Аватара пользователя
Повторение - мать учения, they say.
ИСН в сообщении #253933 писал(а):
1. Иногда надо множить матрицу на вектор. А именно, матрицу ориентации на вектор точки. Это надо делать для каждой точки при каждой отрисовке. А больше никогда не надо.
2. Иногда надо множить матрицу на матрицу. А именно, матрицу ориентации на матрицу поворота. Это надо делать один раз при каждом повороте. А больше никогда не надо.

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

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

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

 
 
 
 Re: Приглашаю помочь и заняться интересным 2d 3d web построение
Сообщение23.10.2009, 19:52 
Ну не получается, не допру просто и книг нормльных нет и обьяснено один так говорит другой эдак , и как спрашивается ? Нописал бы кно нормальные tutorial по 3d
вот это была бы тема...
Даже у аспиранта-препода спрашивали, и он сказал, что с матрицами не разобрался

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

 
 
 
 Re: Приглашаю помочь и заняться интересным 2d 3d web построение
Сообщение23.10.2009, 20:24 
ИСН в сообщении #254235 писал(а):
Тьфу, барахло.

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

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

 
 
 [ Сообщений: 91 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group