Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 08.10.2019
Сообщений: 10
1

Изобразить на экране прямоугольник, вращающийся в плоскости экрана вокруг одной из своих вершин

05.11.2019, 14:27. Показов 1810. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
uses graphABC;
type point=record
           x,y:integer;//координаты вершины
           r,u:real;//расстояние до центра и угол луча центр-вершина
           end;
     trg=array[1..4] of point;
//функция определения угла
function ugol(x1,y1,x2,y2:integer):real;
var r,c:real;
begin
r:=sqrt(sqr(x2-x1)+sqr(y2-y1));//расстояние от центра до вершины
c:=(x2-x1)/r; //косинус угла
if y2<y1 then ugol:=arccos(c)//вершина выше центра
else ugol:=2*pi-arccos(c);  //ниже или = y1
end;
//рисование треугольника
procedure draw(x,y:integer;a:trg);
var i:byte;
begin
//сам треугольник
setpencolor(clRed);
moveto(a[1].x,a[1].y);
for i:=2 to 4 do
lineto(a[i].x,a[i].y);
//точка в центре
setpencolor(clBlue);
setbrushcolor(clBlue);
circle(x,y,3);
end;
var a:trg;
    i:byte;
    y,xc,yc:integer;
begin
y:=windowheight div 2;
a[1].x:=10; a[1].y:=y+50;
a[2].x:=50; a[2].y:=y-60;
a[3].x:=100; a[3].y:=y+60;
a[4]:=a[1];
xc:=round((a[1].x+a[2].x+a[3].x)/3);
yc:=round((a[1].y+a[2].y+a[3].y)/3);
for i:=1 to 4 do
 begin
  a[i].r:=sqrt(sqr(a[i].x-xc)+sqr(a[i].y-yc));
  a[i].u:=ugol(xc,yc,a[i].x,a[i].y);
 end;
lockdrawing; 
repeat
clearwindow;
draw(xc,yc,a);
sleep(50);
xc:=xc+5;
for i:=1 to 4 do
 begin
  a[i].u:=a[i].u+0.1;
  a[i].x:=xc+round(a[i].r*cos(a[i].u));
  a[i].y:=yc-round(a[i].r*sin(a[i].u));
 end;
redraw;
until (xc>windowwidth)or false;
end.
Добавлено через 1 минуту
Изобразить на экране прямоугольник, вращающийся в плоскости экрана вокруг одной из своих вершин, при этом центр вращения с постоянной скоростью перемещается от од-
ного края экрана до другого параллельно горизонтальной оси экрана.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.11.2019, 14:27
Ответы с готовыми решениями:

Изобразить на экране прямоугольник, вращающийся в плоскости экрана вокруг своей середины
Изобразить на экране прямоугольник, вращающийся в плоскости экрана вокруг своей середины

Изобразить на экране треугольник, вращающийся вокруг одной из вершин
Изобразить на экране треугольник, вращающийся вокруг одной из вершин.

Изобразить на экране правильный треугольник, вращающийся в плоскости экрана вокруг своего центра
1. Изобразить на экране правильный треугольник, вращающийся в плоскости экрана вокруг своего...

Изобразить четырехугольник, вращающийся в плоскости экрана вокруг одной из своих вершин. Цвет фона, координаты вершин и
Нужно сделать и забыть, а разобраться толком не могу, помогите пожалуйста Вот задание :...

1
Почетный модератор
 Аватар для Puporev
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,182
05.11.2019, 20:20 2
Этот кол для Паскаля АВС.net, для простого нужно поправить
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//функция определения арккосинуса
function acos(x:real):real;
begin
if x=0 then acos:=pi/2
else if (x>0)and(x<=1) then acos:=arctan(sqrt(1-x*x)/x)
else if(x>=-1)and(x<0) then acos:=pi+arctan(sqrt(1-x*x)/x);
end;
//функция определения угла
function ugol(x1,y1,x2,y2:integer):real;
var r,c:real;
begin
r:=sqrt(sqr(x2-x1)+sqr(y2-y1));//расстояние от центра до вершины
c:=(x2-x1)/r; //косинус угла
if y2<y1 then ugol:=acos(c)//вершина выше центра
else ugol:=2*pi-acos(c);  //ниже или = y1
end;
1
05.11.2019, 20:20
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.11.2019, 20:20
Помогаю со студенческими работами здесь

Изобразить на экране прямоугольник, вращающийся в плоскости экрана вокруг своего центра
Здравствуйте. Помогите решить задачу. Изобразить на экране прямоугольник, вращающийся в...

Изобразить на экране прямоугольник, вращающийся в плоскости экрана вокруг своего центра
Здравствуйте. Помогите решить задачу. Изобразить на экране прямоугольник, вращающийся в...

Изобразить на экране прямоугольник, вращающийся в плоскости экрана вокруг своего центра
Здравствуйте. Помогите решить задачу. Изобразить на экране прямоугольник, вращающийся в...

Изобразить на экране прямоугольник, вращающийся в плоскости экрана вокруг своего центра
Помогите плиз, срочно нужно сделать задачку.:) Изобразить на экране прямоугольник, вращающийся в...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как сделать, чтобы grep выводил строки до и после найденной
hw_wired 25.01.2025
Утилита grep стала незаменимым инструментом для поиска и фильтрации информации в Unix-подобных операционных системах. Эта командная утилита позволяет осуществлять поиск строк, соответствующих. . .
Как клонировать определенную ветку в Git
bytestream 24.01.2025
Одной из ключевых функций Git является возможность клонирования веток, что позволяет создавать локальные копии удаленных репозиториев и работать с определенными версиями проекта. Этот механизм. . .
Как в цикле обойти строки DataFrame в Pandas Python
bytestream 24.01.2025
DataFrame представляет собой одну из основных структур данных в библиотеке Python Pandas, которая организует информацию в виде двумерной таблицы с строками и столбцами. Эта структура данных особенно. . .
Как получить имя текущей ветки в Git
bytestream 24.01.2025
При работе с Git часто возникает необходимость определить имя текущей ветки, в которой ведется разработка. Знание текущей ветки является критически важным аспектом для эффективного управления. . .
Как отсортировать массив объектов по значению поля объекта в JavaScript
bytestream 24.01.2025
При разработке веб-приложений на JavaScript разработчики часто сталкиваются с необходимостью работать с массивами объектов. Эти структуры данных представляют собой упорядоченные наборы элементов, где. . .
Ошибка "src refspec master does not match any" при пуше коммита в Git
bytestream 24.01.2025
При работе с системой контроля версий Git разработчики нередко сталкиваются с различными ошибками, одной из которых является сообщение "src refspec master does not match any". Эта ошибка возникает. . .
Как округлить не более двух цифр после запятой в JavaScript
bytestream 24.01.2025
При работе с числами в JavaScript разработчики часто сталкиваются с необходимостью округления десятичных значений до определенного количества знаков после запятой. Это особенно важно при работе с. . .
Как сделать UPDATE из SELECT в SQL Server
hw_wired 24.01.2025
В современных системах управления базами данных операции обновления и выборки данных являются фундаментальными инструментами для работы с информацией. SQL Server предоставляет мощные команды UPDATE и. . .
Как вставить элемент в массив на указанный индекс в JavaScript
hw_wired 24.01.2025
Массивы являются одной из фундаментальных структур данных в JavaScript, предоставляющей разработчикам мощный инструмент для хранения и управления упорядоченными наборами данных. Они позволяют хранить. . .
Чем отличаются HashMap и Hashtable в Java
hw_wired 24.01.2025
В мире разработки на Java существует множество инструментов для работы с коллекциями данных, и среди них особое место занимают структуры данных для хранения пар ключ-значение. HashMap и Hashtable. . .
Как конвертировать видео в GIF
hw_wired 24.01.2025
В современном мире анимированные изображения стали неотъемлемой частью цифровой коммуникации. Формат GIF (Graphics Interchange Format) представляет собой особый тип файлов, который позволяет. . .
Как скопировать текст в буфер обмена на JavaScript во всех браузерах
hw_wired 24.01.2025
Копирование текста в буфер обмена стало неотъемлемой частью современных веб-приложений, значительно улучшающей пользовательский опыт и упрощающей работу с контентом. В эпоху активного обмена. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru