0 / 0 / 0
Регистрация: 31.03.2019
Сообщений: 19
1

Вращение объекта pascalabc.net

11.04.2020, 19:28. Показов 967. Ответов 1

Author24 — интернет-сервис помощи студентам
Здравствуйте, есть нарисованная кукла в Pascalabc.net. Мне нужно повернуть ее полностью на любой угол. Помогите, пожалуйста. Заранее большое спасибо
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Program DollMasha; 
uses Graphabc; //подключение модуля GraphABC
 
procedure Doll(x,y,r:integer);
var i,j,l:integer;
begin
   {волосы}setpenwidth(1);setbrushcolor(rgb(210, 105, 30)); DrawPie(x+47,y+40,r+30,46,165); FillPie(x+47,y+40,r+30,46,165); DrawPie(x+87,y+40,r+30,0,150); FillPie(x+87,y+40,r+30,0,150); ellipse(x+47,y-15,x+87,y+5);
   setbrushcolor(rgb(255,220,177));//цвет кожи  
   {уши} setpenwidth(2); DrawPie(x+10,y+37,r-5,100,300); FillPie(x+10,y+37,r-5,100,300);    DrawPie(x+124, y+37, r-5, -120, 80); FillPie(x+124, y+37, r-5, -120, 80);
   {голова} DrawPie(x+67,y+16,r+50,-15,-165); FillPie(x+67,y+16,r+50,-15,-165);   
   {руки} setpenwidth(1); Line(x+42,y+120,x+10,y+160); Circle(x+10,y+160,r-5);    Line(x+92,y+120,x+124,y+160); Circle(x+124,y+160,r-5);
   {ноги} Line(x+55,y+240,x+55,y+270); Ellipse(x+56,y+273,x+35,y+265);    Line(x+75,y+240,x+75,y+270); Ellipse(x+75,y+273,x+96,y+265);
   {лицо}setbrushcolor(clblack); Ellipse(x+60,y+30,x+65,y+40); Ellipse(x+70,y+30,x+75,y+40); Arc(x+67,y+40,r+10,-30,-150);//левый, правый глаз, улыбка
   setbrushcolor(rgb(255, 182, 193));// цвет платья
   {рюшечки} i:=x+25; j:=y+225; for l:=1 to 7 do begin Circle(i,j,r); i:=i+15; if (l<3) then j:=j+3 else if (l=3) then j:=j+1 else if (l=4) then j:=j-1 else j:=j-3; end;
   {платье} setpenwidth(2); DrawPie(x+66,y+190,r+80,70,108); FillPie(x+66,y+190,r+80,70,108); DrawPie(x+66,y+80,r+140,-68,-110); FillPie(x+66,y+80,r+140,-68,-110);
end;
 
var x,y,r:integer;
begin 
   SetWindowWidth(800); //ширина окна программы 
   SetWindowHeight(600); //высота окна программы 
   x:=300; y:=150; r:=10;  
   Doll(x,y,r);
end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.04.2020, 19:28
Ответы с готовыми решениями:

В чем разница PascalABC.net и PascalABC
Скажите в чем разница PascalABC.net И PascalABC. Помню когда-то давно программы работающие в...

Установится ли PascalABC.NET на систему, где установлен только .NET 4.6.1?
Привет всем. Вопрос, собственно, озвучен выше. Конкретнее: есть компьютер со свежеустановленной...

Превращение PascalABC.Net в C#
Зачем разработчики превращают PascalABC.Net в подобие C#? В частности, зачем в разрабатываются...

Перевод из С# на PascalABC.NET
Здравствуйте, уважаемые форумчане! Помогите пожалуйста перевести код с С# на PascalABC.NET Вот...

1
5077 / 2649 / 2349
Регистрация: 10.12.2014
Сообщений: 10,026
11.04.2020, 19:41 2
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Program DollMasha; 
uses Graphabc; //подключение модуля GraphABC
 
procedure Doll(x,y,r:integer);
var i,j,l:integer;
begin
   {волосы}setpenwidth(1);setbrushcolor(rgb(210, 105, 30)); DrawPie(x+47,y+40,r+30,46,165); FillPie(x+47,y+40,r+30,46,165); DrawPie(x+87,y+40,r+30,0,150); FillPie(x+87,y+40,r+30,0,150); ellipse(x+47,y-15,x+87,y+5);
   setbrushcolor(rgb(255,220,177));//цвет кожи  
   {уши} setpenwidth(2); DrawPie(x+10,y+37,r-5,100,300); FillPie(x+10,y+37,r-5,100,300);    DrawPie(x+124, y+37, r-5, -120, 80); FillPie(x+124, y+37, r-5, -120, 80);
   {голова} DrawPie(x+67,y+16,r+50,-15,-165); FillPie(x+67,y+16,r+50,-15,-165);   
   {руки} setpenwidth(1); Line(x+42,y+120,x+10,y+160); Circle(x+10,y+160,r-5);    Line(x+92,y+120,x+124,y+160); Circle(x+124,y+160,r-5);
   {ноги} Line(x+55,y+240,x+55,y+270); Ellipse(x+56,y+273,x+35,y+265);    Line(x+75,y+240,x+75,y+270); Ellipse(x+75,y+273,x+96,y+265);
   {лицо}setbrushcolor(clblack); Ellipse(x+60,y+30,x+65,y+40); Ellipse(x+70,y+30,x+75,y+40); Arc(x+67,y+40,r+10,-30,-150);//левый, правый глаз, улыбка
   setbrushcolor(rgb(255, 182, 193));// цвет платья
   {рюшечки} i:=x+25; j:=y+225; for l:=1 to 7 do begin Circle(i,j,r); i:=i+15; if (l<3) then j:=j+3 else if (l=3) then j:=j+1 else if (l=4) then j:=j-1 else j:=j-3; end;
   {платье} setpenwidth(2); DrawPie(x+66,y+190,r+80,70,108); FillPie(x+66,y+190,r+80,70,108); DrawPie(x+66,y+80,r+140,-68,-110); FillPie(x+66,y+80,r+140,-68,-110);
end;
 
var x,y,r:integer;
begin 
   SetWindowWidth(800); //ширина окна программы 
   SetWindowHeight(600); //высота окна программы
  var angle:=0;
  LockDrawing;
  Coordinate.Origin := Window.Center;
  repeat
    Window.Clear;
    angle += 5;
    Coordinate.Angle := angle;
   x:=-100; y:=-150; r:=10;  
   Doll(x,y,r);
     Redraw;
     Sleep(10);
  until False;
end.
2
11.04.2020, 19:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.04.2020, 19:41
Помогаю со студенческими работами здесь

Звуки в PascalABC.net
Здравствуйте. Подскажите пожалуйста как реализовать звуки в PascalABC.net ведь в нем нет...

PascalABC.NET и Win ХР
Здравствуйте! Подскажите PascalABC.NET совместим с Win ХР? Спасибо.

Парсинг в PascalABC.NET
Приветствую форумчан! У меня вопрос: нет ли в PascalABC.Net оператора, процедуры или функции,...

Возможности PascalABC.NET
Возможно ли в PascalABC.NET создать web-приложение, например с помощью доп.программ? Если да, то...

Модуль в PascalABC.NET
нарисовать три окружности с радиусом R1=50, R2=30, R3=40 с центром в точках o1=(60;70)...

Модули в PascalABC.net
При создании модуля и подключении его в основной программе компилятором создался файл .pcu , хотя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru