IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Движение мышкой трехмерного обьекта
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской

Репутация: -  0  +


Прошу помощи! Пожалуйста! Помогите решить задачу!
Условие задачи: построить трехмерный обьект и вращать его с помощью мышки. То-есть навести мышку на обьект, нажать левую клавишу и с передвижением курсора чтоб обьект крутился.


--------------------
coitus interruptus
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Знаток
****

Группа: Пользователи
Сообщений: 408
Пол: Мужской

Репутация: -  3  +


И что не получается?
Что сделано? Хотя бы что-то...


--------------------
- Где я?
- Во тьме.
- В какой тьме?
- Во тьме твоего мозга.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Так, трехмерная фигура уже готова? Или надо и ее рисовать?
Что за объект трехмерный?


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской

Репутация: -  0  +


Да ничего не зделано, потому как не знаю, с какой стороны начать, нет даже идей, как делать. А обьект надо рисовать самому, любой, хотя-бы просто куб.


--------------------
coitus interruptus
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Знаток
****

Группа: Пользователи
Сообщений: 408
Пол: Мужской

Репутация: -  3  +


Код я писать не буду

но план соответственно такой:

1. построить 3d объект (давай возьмем куб - самое простое)
2. разбить экран на зоны, в каждой из которых крутить в свою сторону
3. реализовать процедуры вращения
4. при нажатии мыши в зоне - вращаем... вопрос тока с определением на сколько градусов....

Я с 3d баловался, и даже на форуме формулы есть (по моему в теме игровой движок)

Хм я то это мог бы сделать... но мне практически мало интересу smile.gif а работы много.

---------------------------
Ты начни писать, и/или задавай вопросы - отвечу

Сообщение отредактировано: Dark -


--------------------
- Где я?
- Во тьме.
- В какой тьме?
- Во тьме твоего мозга.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Знаток
****

Группа: Пользователи
Сообщений: 408
Пол: Мужской

Репутация: -  3  +


Куб - начнем с его описания - 8 точек, 12 линий их соединяющих, 3 типа координат.

Составим массив из 12 пар :

Код
Obj : Array [1..MaxLines,1..2,1..3] of integer =
       (
       ((-10,-10,-10),(10,-10,-10)),((-10,-10,-10),(-10,10,-10)),
       ((-10,10,-10),(10,10,-10)),((10,-10,-10),(10,10,-10)),
       ((-10,-10,10),(10,-10,10)),((-10,-10,10),(-10,10,10)),
       ((-10,10,10),(10,10,10)),((10,-10,10),(10,10,10)),
       ((-10,-10,10),(-10,-10,-10)),((-10,10,10),(-10,10,-10)),
       ((10,10,10),(10,10,-10)),((10,-10,10),(10,-10,-10))
       );


Эти пары - ни что иное как прямые, воплощающие куб.

Если их соединить мы его и увидим.

Матрицы поворотов -

Код


Вокруг Z

[Cos (a)  -Sin (a)  0        0]   [ x ]
[Sin (a)  Cos (a)   0        0] . [ y ]
[  0        0       1        0]   [ z ]
[  0        0       0        1]   [ 1 ]

Вокруг Y

[Cos (a)    0       -Sin (a)   0]   [  x ]
[  0        1          0       0] . [  y ]
[Sin (a)    0        Cos (a)   0]   [  z ]
[  0        0          0       1]   [  1 ]

Вокруг X

[     1         0          0          0]   [  x ]
[     0       Cos (a)   -Sin (a)      0] . [  y ]
[     0       Sin (a)   Cos (a)       0]   [  z ]
[     0         0          0          1]   [  1 ]


Сообщение отредактировано: volvo -


--------------------
- Где я?
- Во тьме.
- В какой тьме?
- Во тьме твоего мозга.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Знаток
****

Группа: Пользователи
Сообщений: 408
Пол: Мужской

Репутация: -  3  +


Ух как я долго выравнивал этот "code" =)


--------------------
- Где я?
- Во тьме.
- В какой тьме?
- Во тьме твоего мозга.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 1.10.2020 20:59
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name