Описание куба, С помощью ООП |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Описание куба, С помощью ООП |
Godsmack2007 |
Сообщение
#1
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Михаил Репутация: 0 |
Народ помогите написать вот такую штучку - Опишите геометрический объект куб с помощью ООП
|
Unconnected |
Сообщение
#2
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Может, что-то типа такого:
type TCoor=record Можно было бы TCoor загнать в Private-секцию, но не получилось) Сообщение отредактировано: Unconnected - -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Godsmack2007 |
Сообщение
#3
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Михаил Репутация: 0 |
а может быть и не так?)))
|
Unconnected |
Сообщение
#4
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Ну, этот класс содержит координаты вершин, к ним можно обратиться по порядковому номеру, но никто ведь не знает, что за кубы у твоего преподавателя(и что он хочет увидеть))
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Lapp |
Сообщение
#5
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
а может быть и не так?))) Да, может. 1. В программировании любую задачу можно решить сотнями способов. 2. Мы тут тоже не боги. Не доверяешь - не приходи на форум и не спрашивай. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Godsmack2007 |
Сообщение
#6
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Михаил Репутация: 0 |
Unconnected ну да))
Lapp а я вообще то ничего и не говорил, просто переспросил, а вы тут сразу с какими то неопнятными наездами. Я просто очень хочу понять как делать это задание разобратся наконец с ним и все. Сообщение отредактировано: Godsmack2007 - |
Lapp |
Сообщение
#7
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Может, что-то типа такого: Un, я думаю, ему нужно наследование от абстрактного объекта через геом. точку, цветную точку, точку с размером, ориентацией и к кубу - как-то так.. С методами (перемещение, поворот, окраска..) Добавлено через 5 мин. Lapp а я вообще то ничего и не говорил, просто переспросил, а вы тут сразу с какими то неопнятными наездами. Я просто очень хочу понять как делать это задание разобратся наконец с ним и все. Переспрашивают, когда не расслышали. А вопросы задавай более конкретно и по сути. Наехал потому, что не люблю, когда челу ответят, а он: а ты не врешь? Давай на этом закроем конфликт, я рад, что ты хочешь разобраться. Просто сразу это не было заметно.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Godsmack2007 |
Сообщение
#8
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Михаил Репутация: 0 |
Lapp ок все закрыли) а если по делу то как вообще все реализовать мне тут вот так подкидывают идею но это только куб без ООП
Type TKube = class private FX0,FY0,FZ0:Integer; // Какая-то из точек куба FWidth:Word; // Ширина FHeight:Word; // Высота FDepth:Word; // Глубина FColor:TColor; // Цвет стенок public // мне так захотелось, что б после создания // куб нельзя было изменить, посему дальше свойства параметров куба, но // только для чтения property X0:Integer read FX0; property Y0:Integer read FY0; property Z0:Integer read FZ0; property Width:Word read FWidth; property Height:Word read FHeight; property Depth:Word read FDepth; // А вот цвет можно менять: property Color:TColor read FColor write FColor; //------------------------------------------ // нужно также придумать кучу методов: Constructor Create(AX0,AY0,AZ0:Integer; AWidth, AHeight, ADepth:Word); // самый главный - конструктор Destructor Destroy; Virtual; // Тоже не менее важный - дестуктор Proceudre Draw;Virtual; // Метод - "Нарисуте меня". Пущай будет виратуальным. Вдруг потребуется на основании этого куба (в техмерном пространстве) изобразить какой-нить другой объект Procedure Hide;Virtual; // Спрятать куб //------------------------------------------ // Можно придумать еще как куб скажем будет перемещаться в простарнстве под действием различных сил // но фантазия иссякает End; чета встрял я с этим заданием сегодня как то оно мне легким не показалось |
Unconnected |
Сообщение
#9
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Мм ну как раз это с ООП, класс ведь сделал.. только непонятно, зачем ширина, высота и глубина отдельно - в кубе они одинаковые ж. Можно сделать методы для поворота вокруг 3х осей, проходящих через центры граней..
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Godsmack2007 |
Сообщение
#10
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Михаил Репутация: 0 |
Unconnected на этом примере пожете показать что имеете ввиду?
|
Unconnected |
Сообщение
#11
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
А как вообще вводится куб? Я сначала думал, что координаты всех вершин в базисе, а тут какая-то точка фигурирует, относительно которой что-то делается..
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
sheka |
Сообщение
#12
|
Я. Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: 11 |
Lapp разбушевался!
Un, нарисуй на бумажке точку и от нее любой ортогональный базис. Его положение уже должно задаваться дальше в программе. |
Godsmack2007 |
Сообщение
#13
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Михаил Репутация: 0 |
все о чем то размышлают))) а я чета вообще ниочем)
|
sheka |
Сообщение
#14
|
Я. Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: 11 |
God, ты придумай для себя что ты хочешь - и делай хоть что нибудь.
|
Godsmack2007 |
Сообщение
#15
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Михаил Репутация: 0 |
sheka - я хочу эту прогу чтоб она работала и все))) а как будет хоть как я всеравно умнее не придумаю)
|
IUnknown |
Сообщение
#16
|
Гуру Группа: Пользователи Сообщений: 1 013 Пол: Мужской Ада: Разработчик Embarcadero Delphi: Сторонник Free Pascal: Разработчик Репутация: 627 |
Цитата мне тут вот так подкидывают идею но это только куб без ООП Это ООП, но идея неправильная. Одной точки в пространстве недостаточно для задания куба. Нужно еще что-то. Не веришь? Ну, попробуй взять карандаш, и нарисовать на листе бумаги (в клеточку, договорились) куб. Точку я тебе задам. Скажем, <10, 10, 10>. Ширина/Высота/Глубина = 15 ... Бери карандаш и начинай рисовать кубик. Для начала - оси координат, а уж потом - сами точки, соединяя которые получишь то, что тебе надо.Что, "не выходит каменный цветок"(С)? А почему? Потому, что ты не знаешь, какая именно точка задана, и как относительно нее расположены остальные точки. А вот если я добавлю, что ребра куба параллельны осям координат, координаты всех точек - положительны, и точка <10, 10, 10> находится ближе всего к началу координат - то ты сможешь нарисовать кубик без проблем. Так что думай, какую еще информацию внести в класс, чтобы однозначно описать фигуру. P.S. Делать задачу полностью - не буду, предупреждаю сразу. Потому что задана она тебе, а не мне. И решать ее должен ты, а не кто-то за тебя... Думай, пробуй. Что не получится - спрашивай... |
Unconnected |
Сообщение
#17
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Тремя точками можно однозначно задать (два вершины и центр, к примеру). Но я, не особо раздумывая, сделал бы задание по всем вершинам)
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Godsmack2007 |
Сообщение
#18
|
|||
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Михаил Репутация: 0 |
IUnknown как то так?
uses crt;
|
|||
Lapp |
Сообщение
#19
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Но я, не особо раздумывая, сделал бы задание по всем вершинам) .. и поимел бы маааассу удовольствьица потом, вылавливая ну оооччень странные ошибки.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Unconnected |
Сообщение
#20
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Цитата и поимел бы маааассу удовольствьица потом, вылавливая ну оооччень странные ошибки.. Мм какого плана ошибки?) Сообщение отредактировано: Unconnected - -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Текстовая версия | 19.05.2024 7:19 |