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

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

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

 
 Ответить  Открыть новую тему 
> Работать с помощью цифровой клавиатуры
сообщение
Сообщение #1


Гость






Короче кто хочет размять свои умы! Задача на умность.

Составить программу, реализующую трехмерное преобразование с фигурой Октаэдр отражение относительной плоскостей xoz , yoz , xoz. Для всех вариантов фигура должна отоброжаться в конторном виде без удаления неведимых линий и уметь вращаться вокруг произвольной оси. Управление преоброзование по осям осуществляеться с помощью девяти клавиш на цифровой клавиатуре.

:p2:
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

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


Если октаэдр - это то что я думаю, то я это делал... надо искать исходники.

P.S.: Выложи картинку этого октаэдра. smile.gif


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






возьми простои восьмиугольник и получиш Октандер
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Так а проблема-то в чём?
Берёшь 8 (если меня не подводит память и окта, это 8) точек типа
=Record
x,y,z:Real
End;
Задаёшь уравнения поворота (это можно посмотреть именно в том учебнике).
Вспоминаешь про CRT.ReadKey или что тебе там больше по душе, ждёшь кнопку, ворочаешь точки, проецируешь на экран и соединяешь в нужном порядке...
Вот и всё вроде
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

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


Вспомнил, я "поворачивал" (если не ошибаюсь) додекаэдр.
Исходников пока не нашел... sad.gif


P.S.: или икосаэдр??...
Вобщем 12 вершин и 20 плоскостей.

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


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






А алгоритм этои программы
можно ли написать
что бы могло бы доити. blink.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Пионер
**

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

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


Октаэдр выглядит примерно так:
http://www.rcio.rsu.ru/webp/works/pasichnik/oktaedr.htm
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Пионер
**

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

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


Массив с координатами точек фигуры: (X,Y,Z)=(0,0,3);(0,0,-3);(2,0,0);(0,2,0);(-2,0,0);(0,-2,0)
Ещё надо определиться спорядком прорисовывания граней.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Все так умеют писать но показать и написать алгоритм программы вам слабо докажите что вы сильный и знаете что это за программа а словами все так могут
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Знаток
****

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

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


Хм что ты пытаешся этими словами показать?

все это ОЧЕНЬ просто, потому что для поворота всего служат три функции,
которые я изложил в другой теме.

Я такое делал - если есть трудности спрашивай. А просто так я не хочу возиться


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


Гость






Да есть проблема у меня курсовая я не поиму как делать это и в какой ntmt ты это излогал покажи а лучше распиши алгоритм программы и все
просто у меня не получаеться что то . Блин sad.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Знаток
****

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

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


Здесь найдешь формулы поворота, и массив куба.

http://pascal.net.ru/forum/index.php?showtopic=1968

План такой

1. преобразовать куб в октаэдр - повозись с координатами, и представь как он будет вращаться
2. написать процедуру рисования линий по массиву - думай сам. Формула преобразования 3d вида в 2d -
nx := 256*x div (z-Zoff)+Xoff
ny := 256*y div (z-Zoff)+Yoff

где Xoff Yoff это смещение объекта относительно экрана (для 13 режима - т.е. для 320*200 - и объект в центре, тогда Xoff=160 Yoff=100)

Zoff - это насколько объект далеко от нас.

3. Написать с использованием формул поворота (см. ссылку) процедуры поворота

4. Поворачивать


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


Знаток
****

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

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


Забыл довавить - x,y,z - это координаты одной из точек, вот по одной точке и обрабатываешь


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

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

 





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