Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2014, 00:12   #1
audetore
 
Регистрация: 11.11.2013
Сообщений: 5
По умолчанию Как нарисовать куб?

Как сделать, чтобы в моей программе, процедуру, которая рисовала куб. Например, нажимаю на кнопку и рисуется куб, после чего там можно будет что-то дорисовать.
Мой исходник тут.
audetore вне форума Ответить с цитированием
Старый 27.01.2014, 01:04   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
Лампочка

Судя по характеру программы, речь идёт о представлении куба в 2D.
К сожалению, вид куба в 2D зависит от плоскости проекции в которой Вы его будете рисовать. Если эта плоскость параллельна одной из граней куба, то вся задача сводится к простому рисованию квадрата. Если нет, то есть Вы хотите сохранить некоторое подобие трёхмерности, например, как показано на рисунке, то в этом случае задача значительно усложняется.
Это связано с тем, что для правильного изображения куба необходимо выполнить расчёт координат точек вершин на плоскости рисования в зависимости от ракурса и после этого соединить их линиями.
Увы, но задачи изображения 3-мерных фигур даже на плоскости, с ходу не решаются. Начинать здесь лучше не с программирования, им следует закончить. Начать нужно с аналитической геометрии, с разработки математического аппарата, который будет выполнять необходимые вычисления. Когда математический аппарат будет готов, можно будет приступить непосредственно к реализации процедуры рисования куба.
Изображения
Тип файла: png neckercube.png (3.6 Кб, 186 просмотров)
Streletz вне форума Ответить с цитированием
Старый 27.01.2014, 06:03   #3
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Автор, это не ваша программа, а стандартный пример пейнто-образной программы из дельфи, дополненный кнопочкой, являющей миру ваше чсв. И уберите комментарий, что это сделано вами, не позорьтесь.
Для написания в этой программе возможности рисовать кубы можно использовать обычный подход в лоб, благо иного вам вряд ли светит.
Итак подход в лоб: скопипастить функциональность инструмента для отрисовки квадрата, и к рисуемому оригинальному квадрату добавить рисование второго квадрата, хотя бы с фиксированным смещением а лучше со смещением зависящим от размеров самого квадрата, смещение на произвольный градус кроме 0 90 45 и кратных им, например + ширина_квадрата * 0.5 и - высота_квадрата * 0.3 , получится 30 градусов.
Потом рассчитать точки, по которым рисуются квадраты (они по сути и так известны, как аргументы команды ректангл) и соединить их через Canvas.MoveTo и LineTo
Вопрос, как дорисовать что-то - некорректен, рисуйте хоть чёрта, без знания конкретики - разговор немых и глухих.
Также (не "так же") отвечу и на кибере, немного по-другому.
Если нужно срочно и вам не нужны слова а только выполненная "заморочка" для зачета, обращайтесь, за вознаграждение сделаем.

Последний раз редактировалось phomm; 27.01.2014 в 06:14.
phomm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нарисовать куб Starget-93 Помощь студентам 0 15.01.2013 12:19
нарисовать куб на экране mego4el Помощь студентам 1 03.12.2010 22:38
OpenGL в delphi. Как перемещать куб с помощью мыши Xawk Мультимедиа в Delphi 2 08.12.2009 12:20
Как реализовать куб выражения? Mr.Qwerty Паскаль, Turbo Pascal, PascalABC.NET 2 02.09.2009 06:58
как написать в excel квадрат или куб числа? BEYLERBEYİ2009 Microsoft Office Excel 16 17.02.2009 16:18