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

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

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

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


Гость






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

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

:p2:
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 12)
APAL
сообщение 28.04.2004 10:58
Сообщение #2


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

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

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


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

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


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


Гость






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


Гость






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


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

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

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


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


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

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


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


Гость






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


Пионер
**

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

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


Октаэдр выглядит примерно так:
http://www.rcio.rsu.ru/webp/works/pasichnik/oktaedr.htm
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
pascal65536
сообщение 29.04.2004 9:50
Сообщение #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 
 К началу страницы 
+ Ответить 
Guest
сообщение 29.04.2004 9:54
Сообщение #9


Гость






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


Знаток
****

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

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


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

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

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


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


Гость






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


Знаток
****

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

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


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

http://pascalnet.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 
 К началу страницы 
+ Ответить 
Dark
сообщение 1.05.2004 2:08
Сообщение #13


Знаток
****

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

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


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


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

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

 



- Текстовая версия 28.07.2025 2:24
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"