![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 19.10.2010
Сообщений: 25
|
![]()
Доброго дня всем, такая вот проблема я сделал программу в который надо нарисовать ромб в ромбе круг, а в круге квадрат и заставить двигаться эту фигуру всю верх и вниз, я это все сделал но когда пришел показывать преподавателю он сказал чтобы круг и квадрат чтобы были вписаны как-то геометрическим способом а не методом подгонки, т.е чтобы в ромб был вписан круг а в круг вписан квадрат как показано на рисунке!
вот рисунок: ![]() Вот эта часть программы которая отвечает за рисование: Код:
![]() ![]() Перенесено к студентам. Модератор Последний раз редактировалось mihali4; 23.10.2010 в 12:01. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
![]()
http://ru.wikipedia.org/wiki/Квадрат А уже для того, чтобы построить эллипс (окружность), напишите функцию или воспользуйтесь моей (но она просто рисует окружность без возможности закрасить её привычным вам методом) В моей функции: ACanvas - холст на котором собираетесь рисовать (пример: Form1.Canvas), X0, Y0 - начальные координаты, R - радиус, CordsX, CordsY - возвращаемые параметры (это же моя функция, мне это надо было, можете подредактировать её под себя)
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
![]() Последний раз редактировалось ImmortalAlexSan; 23.10.2010 в 12:14. |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,087
|
![]()
У всех фигур центр находится в одной точке, поэтому и рисовать нужно относительно неё. А у вас я так понимаю координаты задаются левым верхним углом фигуры. Я бы эти x и y заменил на:
Код:
Задаём её константой: Код:
Ромб по сути так же является квадратом со сторонами d. Чтобы его нарисовать, нужно узнать длину диагоналей. А это делается по полюбившейся теореме пифагора. Код:
Надеюсь с формулами ничего не намудрил, а то здесь писал и не проверял код ![]() |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 19.10.2010
Сообщений: 25
|
![]()
спс огромное очень помогло разобрался, но были некоторые не дочеты но там я уже доработал спс те !огромное !)))
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 19.10.2010
Сообщений: 25
|
![]()
Но у мя терь такая маленьькая проблема круг сьезжает в лево при уменьшении фигуры
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Рисование !) | Weyner | Помощь студентам | 0 | 23.10.2010 09:20 |
Рисование | Masip | Общие вопросы Delphi | 10 | 08.06.2010 22:16 |
Рисование | Granus | Общие вопросы Delphi | 2 | 24.12.2008 07:44 |
Рисование | TriCERATOP | Помощь студентам | 5 | 28.11.2008 15:09 |