![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Recev |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 18.10.2010 Репутация: нет Всего: нет |
Нужно задать размеры прямоугольника и потом нарисовать на канвасе формы этот прямоугольник, затем нарисовать вокруг него круг и вычислить площадь этого круга.
Как такое сделать? Я не могу понять как нарисовать круг вокруг прямоугольника. |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Вообще-то, на сколько я помню из геометрии, центр такого круга можно высчитать. И радиус такого круга высчитывается. А зная центр и радиус, на конве рисовать с помощью Ellipse.
У прямоугольника центром круга вроди как будет точка пересечения диагоналей. Зная координаты углов и длины сторон, можно вычислить координату точки пересечения диагоналей. Ну и площать круга, зная радиус, считается как "ДваПиЭрКвадрат" И на последок, код писать наврятли кто будет в нуля. Это сообщение отредактировал(а) Poseidon - 21.1.2011, 15:06 -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Recev |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 18.10.2010 Репутация: нет Всего: нет |
Центр нашел, не получается правильно нарисовать круг. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
|
|||
|
||||
| Recev |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 18.10.2010 Репутация: нет Всего: нет |
А как тогда же площадь правильно обчистить? У меня компилятор ругается про несовместимость типов. IntToFloat не спасает.
Это сообщение отредактировал(а) Recev - 21.1.2011, 18:30 |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
IntToFloat не существует.
Integer умножать на Float можно без каких-либо преобразований - и то и другое - числа. Возвести в квадрат - Sqr Sqr(2 * pi * rad) Соответственно, результат - не целое число. Либо округляй через Round, либо так и выводи с дробной частью. |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Только чуток не так. 2*pi*Sqr(rad) -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
||||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |