Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
3 / 3 / 1
Регистрация: 03.05.2010
Сообщений: 69

Нарисовать прямоугольник, который движется по синусоиде вдоль экрана

23.10.2011, 11:44. Показов 1558. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нарисовать прямоугольник, который, вращаясь вокруг своего центра, движется по синусоиде вдоль экрана.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.10.2011, 11:44
Ответы с готовыми решениями:

Нарисовать на экране прямоугольник желтого цвета, который движется по горизонтали
Нарисовать на экране прямоугольник желтого цвета, который движется по горизонтали, в прямом и обратном направлении, и за ним тянется «след»...

Нарисовать на экране круг красного цвета, который движется по периметру экрана
Нарисовать на экране круг красного цвета, который движется по периметру экрана, не проходя нижнюю часть экрана, в прямом и обратном...

Нарисовать на экране овал зеленого цвета, который движется по вертикали по центру экрана
Нарисовать на экране овал зеленого цвета, который движется по вертикали по центру экрана. При достижении границы экрана овал меняет цвет на...

1
135 / 135 / 29
Регистрация: 18.10.2011
Сообщений: 306
23.10.2011, 19:02
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Прикольно он по экрану двигается ))
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
uses Graph,crt;
type
points = record
x,y:integer;
end;
rectpoints = array[1..4] of points;
procedure drawrect(rect:rectpoints;xofs,yofs:integer);
var i:integer;
begin
for i:=1 to 4 do
 if i < 4 then line(rect[i].x+xofs,rect[i].y+yofs,rect[i+1].x+xofs,rect[i+1].y+yofs)
 else line(rect[i].x+xofs,rect[i].y+yofs,rect[1].x+xofs,rect[1].y+yofs);
end;
function DegToRad(deg:integer):real;
begin
DegToRad:=(deg*pi)/180;
end;
Procedure rotatepoints(var points:rectpoints;angle:integer);
var
i:integer;
rad,x0,y0:real;
begin
rad:=DegToRad(angle);
for i:=1 to 4 do begin
x0:=points[i].x*cos(rad) - points[i].y*sin(rad);
y0:=points[i].y*cos(rad) + points[i].x*sin(rad);
points[i].x:=round(x0);
points[i].y:=round(y0);
end;
end;
var
x1,y1,x0,y0,rw,rh,rotateangle,gd,gm,error:integer;
xStep,SinAmp,SinAngFreq,yOffset,xOffset:integer;
ar,r:real;
rect:rectpoints;
begin
gd := detect;
initGraph(gd,gm,'');
error:=GraphResult;
if error <> 0 then begin
   writeln(GraphErrorMsg(error));
   halt;
end;
rw:=50;
rh:=25;
 
x0:=0;
y0:=0;
x1:=rw;
y1:=rh;
 
rect[1].x := x0 - rw div 2;
rect[1].y := y0 - rh div 2;
rect[2].x := x0 + rw div 2;
rect[2].y := y0 - rh div 2;
rect[3].x := x0 + rw div 2;
rect[3].y := y0 + rh div 2;
rect[4].x := x0 - rw div 2;
rect[4].y := y0 + rh div 2;
rotateangle:=20;
xStep:=5;
SinAmp:=100;
SinAngFreq:=5;
setwritemode(1);
xOffset:=0;
yOffset:=getmaxY div 2;
repeat
rotatepoints(rect,rotateangle);
drawrect(rect,xOffset,yOffset);
delay(100) ;
drawrect(rect,xOffset,yOffset);
inc(xOffset,xStep);
yOffset:=round(sin(xOffset*SinAngFreq)*SinAmp)+getmaxY div 2;
if(xOffset >= getmaxx) then xOffset:=0;
until keypressed;
closeGraph;
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.10.2011, 19:02
Помогаю со студенческими работами здесь

Нарисовать прямоугольник, внутри него квадрат, который движется вдоль стен прямоугольника
Нарисовать прямоугольник, внутри него квадрат, который движется вдоль стен прямоугольника.

Нарисовать прямоугольник, внутри него квадрат, который движется вдоль стен прямоугольника
Нарисовать прямоугольник, внутри него квадрат, который движется вдоль стен прямоугольника, длины сторон прямоугольника и ребро квадрата...

Нарисовать прямоугольник со сторонами 20 и 30 пикселей, который движется по кругу
Прямоугольник со сторонами 20 и 30 пикселей движется по кругу диаметром 220 пикселей, не меняя ориентации и меняя окраску на каждом витке.

Нарисовать птицу, летящий вдоль экрана
Нарисовать птицу, летящий вдоль экрана, имея при этом крыльями.

Построить прямоугольник зеленого цвета, который движется снизу вверх. Траектория движения у = х
Построить прямоугольник зеленого цвета, который движется снизу вверх. Траектория движения у = х. Я построил программу для этой задачи в...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru