Работать с помощью цифровой клавиатуры |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Работать с помощью цифровой клавиатуры |
Anubis |
Сообщение
#1
|
Гость |
Короче кто хочет размять свои умы! Задача на умность.
Составить программу, реализующую трехмерное преобразование с фигурой Октаэдр отражение относительной плоскостей xoz , yoz , xoz. Для всех вариантов фигура должна отоброжаться в конторном виде без удаления неведимых линий и уметь вращаться вокруг произвольной оси. Управление преоброзование по осям осуществляеться с помощью девяти клавиш на цифровой клавиатуре. :p2: |
APAL |
Сообщение
#2
|
Смотрю... Группа: Пользователи Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: 6 |
Если октаэдр - это то что я думаю, то я это делал... надо искать исходники.
P.S.: Выложи картинку этого октаэдра. -------------------- |
Guest |
Сообщение
#3
|
Гость |
возьми простои восьмиугольник и получиш Октандер
|
BlackShadow |
Сообщение
#4
|
Гость |
Так а проблема-то в чём?
Берёшь 8 (если меня не подводит память и окта, это 8) точек типа =Record x,y,z:Real End; Задаёшь уравнения поворота (это можно посмотреть именно в том учебнике). Вспоминаешь про CRT.ReadKey или что тебе там больше по душе, ждёшь кнопку, ворочаешь точки, проецируешь на экран и соединяешь в нужном порядке... Вот и всё вроде |
APAL |
Сообщение
#5
|
Смотрю... Группа: Пользователи Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: 6 |
Вспомнил, я "поворачивал" (если не ошибаюсь) додекаэдр.
Исходников пока не нашел... P.S.: или икосаэдр??... Вобщем 12 вершин и 20 плоскостей. Сообщение отредактировано: APAL - -------------------- |
Guest |
Сообщение
#6
|
Гость |
А алгоритм этои программы
можно ли написать что бы могло бы доити. |
pascal65536 |
Сообщение
#7
|
Пионер Группа: Пользователи Сообщений: 62 Пол: Мужской Репутация: 1 |
Октаэдр выглядит примерно так:
http://www.rcio.rsu.ru/webp/works/pasichnik/oktaedr.htm |
pascal65536 |
Сообщение
#8
|
Пионер Группа: Пользователи Сообщений: 62 Пол: Мужской Репутация: 1 |
Массив с координатами точек фигуры: (X,Y,Z)=(0,0,3);(0,0,-3);(2,0,0);(0,2,0);(-2,0,0);(0,-2,0)
Ещё надо определиться спорядком прорисовывания граней. |
Guest |
Сообщение
#9
|
Гость |
Все так умеют писать но показать и написать алгоритм программы вам слабо докажите что вы сильный и знаете что это за программа а словами все так могут
|
Dark |
Сообщение
#10
|
Знаток Группа: Пользователи Сообщений: 408 Пол: Мужской Репутация: 3 |
Хм что ты пытаешся этими словами показать?
все это ОЧЕНЬ просто, потому что для поворота всего служат три функции, которые я изложил в другой теме. Я такое делал - если есть трудности спрашивай. А просто так я не хочу возиться -------------------- - Где я?
- Во тьме. - В какой тьме? - Во тьме твоего мозга. |
Guest |
Сообщение
#11
|
Гость |
Да есть проблема у меня курсовая я не поиму как делать это и в какой ntmt ты это излогал покажи а лучше распиши алгоритм программы и все
просто у меня не получаеться что то . Блин |
Dark |
Сообщение
#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. Поворачивать -------------------- - Где я?
- Во тьме. - В какой тьме? - Во тьме твоего мозга. |
Dark |
Сообщение
#13
|
Знаток Группа: Пользователи Сообщений: 408 Пол: Мужской Репутация: 3 |
Забыл довавить - x,y,z - это координаты одной из точек, вот по одной точке и обрабатываешь
-------------------- - Где я?
- Во тьме. - В какой тьме? - Во тьме твоего мозга. |
Текстовая версия | 29.03.2024 3:45 |