IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Опять геометрия в Delphi, Квадрат , окружность и треугольник
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 21
Пол: Мужской

Репутация: -  0  +


Доброй ночи.

Собственно сижу вот ночью и никак не получается сделать 1 задачку , вот условие : Пользователь должен задать координаты центра окружности (X,Y) и Радиус ® окружности , вписать в неё квадрат , в квадрат - новую окружность , а в новую окружность равносторонний треугольник.

Пока получается только по заданным координатам и радиусу отрисовать окружность :



procedure TForm1.Button1Click(Sender: TObject);
begin
x:=StrToInt(edit1.Text);
y:=StrToInt(edit2.Text);
r:=StrToInt(edit3.Text);
with listbox1.canvas do
begin
Arc(x-r,y-r,x+r,y+r,x-r,y-r,x-r,y-r);

end;

end;




как отрисовать остальные объекты непойму wacko.gif может быть кто то уже решал подобное ? читал FAQ и DRKB , но ничего подходящего не нашёл sad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






На самом деле все просто:

var x, y, r: integer;

procedure TForm1.Button1Click(Sender: TObject);
var a, r2: integer;
begin
x:=StrToInt(edit1.Text);
y:=StrToInt(edit2.Text);
r:=StrToInt(edit3.Text);

Canvas.Ellipse(x - r, y - r, x + r, y + r); // это первая окружность

a := trunc(r * sqrt(2)); // сторона вписанного квадрата
Canvas.Rectangle(x - a div 2, y - a div 2, x + a div 2, y + a div 2);

r2 := a div 2; // радиус окружности, вписанной в квадрат
Canvas.Ellipse(x - r2, y - r2, x + r2, y + r2);

// а теперь вспоминаем, что такое полярная СК и чертим 3 линии...
Canvas.MoveTo(x, y - r2);
Canvas.LineTo(x + trunc(r2 * cos(210*pi/180)), y - trunc(r2 * sin(210*pi/180)));
Canvas.LineTo(x + trunc(r2 * cos(330*pi/180)), y - trunc(r2 * sin(330*pi/180)));
Canvas.LineTo(x, y - r2);
end;
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 21
Пол: Мужской

Репутация: -  0  +


Хм ... вроде бы и легко , но я бы врятли додумался сам mega_chok.gif
Огромное спасибо за помощь , уже не первый раз меня выручаете. good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 31.10.2020 15:04
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name