Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
 Аватар для Zero-cool
5 / 5 / 2
Регистрация: 05.01.2011
Сообщений: 30

Рисование

10.01.2011, 21:42. Показов 2315. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот задача:
Нарисовать квадрат, который в каждый момент своего движения качается одной из сторон к кругу с центром в центре экрана.
никак не могу понять как задать движение по кругу((
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.01.2011, 21:42
Ответы с готовыми решениями:

Рисование=)
Помогите пожалуйста дописать код так, что бы ограничивалось поле для рисования "следа" звезды в рамках прямоугольника с...

рисование символами
символы должны отделяться пробелами выведите на экран: 1 1 1 2 ...

Рисование планеты
где здесь ошибка не могу найти?можете помочь!? uses GraphABC; var z: integer; x:char; begin write ('выберите планету...

6
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
11.01.2011, 09:26
Цитата Сообщение от Zero-cool Посмотреть сообщение
качается одной из сторон
Типа пьяный квадрат, или касается?
0
 Аватар для Zero-cool
5 / 5 / 2
Регистрация: 05.01.2011
Сообщений: 30
11.01.2011, 09:34  [ТС]
касается(там очепятка=))
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
11.01.2011, 09:41
Немного по Турбо Паскалевски, но работает в АВС.
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
uses crt,graphABC;
{процедура вращения точки вокруг центра}
procedure Vrash(a:real;var x,y:integer;const centrx,centry:integer);
var px:integer;
begin
x:=x-centrx;
y:=y-centry;
a:=a*pi/180;
px:=x;
x:=round(x*cos(a)-y*sin(a))+centrx;
y:=round(y*cos(a)+px*sin(a))+centry;
end;
var ch:char;
    tx,ty,ax,ay,bx,by,cx,cy,dx,dy:integer;
    tax,tay,tbx,tby,tcx,tcy,tdx,tdy:integer;
    w,h,r:integer;
    a:real;
begin
textout(50,20,'Ввыход - Esc');
r:=100; {радиус окружности}
w:=80; {сторона квадрата}
tx:=windowwidth div 2;ty:=windowheight div 2; {центр экрана}
{координаты вершин квадрата}
ax:=tx-r;ay:=ty-(w div 2);
bx:=ax-w;by:=ay;
cx:=ax-w; cy:=ay+w;
dx:=ax; dy:=cy;
dx:=ax; dy:=cy;
Setpencolor(clred);
Circle(tx,ty,r-1);{окружность}
a:=0;
repeat
{в цикле меняем координаты вершин, соединяем их линиями}
tax:=ax;tay:=ay;Vrash(a,tax,tay,tx,ty);
tbx:=bx;tby:=by;Vrash(a,tbx,tby,tx,ty);
tcx:=cx;tcy:=cy;Vrash(a,tcx,tcy,tx,ty);
tdx:=dx;tdy:=dy;Vrash(a,tdx,tdy,tx,ty);
setpencolor(clgreen);
moveto(tax,tay);
lineto(tbx,tby);
lineto(tcx,tcy);
lineto(tdx,tdy);
lineto(tax,tay);
{делаем задержку и все стираем(рисуем цветом фона)}
delay(100);
setpencolor(clwhite);
moveto(tax,tay);
lineto(tbx,tby);
lineto(tcx,tcy);
lineto(tdx,tdy);
lineto(tax,tay);
a:=a+1;{увеличиваем угол поворота}
if keypressed then
ch:=readkey;
until ch=#27;
end.
1
 Аватар для Zero-cool
5 / 5 / 2
Регистрация: 05.01.2011
Сообщений: 30
11.01.2011, 14:27  [ТС]
Спасибо!
вот подправил под pascalABC
Delphi
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
uses graphABC;
//процедура вращения точки вокруг центра
procedure Vrash(a:real;var x,y:integer);
var px:integer;
begin
  x:=x-320;
  y:=y-240;
  a:=a*pi/180;
  px:=x;
  x:=round(x*cos(a)-y*sin(a))+320;
  y:=round(y*cos(a)+px*sin(a))+240;
end;
var
    ax,ay,bx,by,cx,cy,dx,dy:integer;
    tax,tay,tbx,tby,tcx,tcy,tdx,tdy:integer;
    w,r,i:integer;
    a:real;
begin
  r:=150; //радиус окружности
  w:=80; //сторона квадрата
  //координаты вершин квадоата
  ax:=320-r;
  ay:=240-(w div 2);
  bx:=ax-w;
  by:=ay;
  cx:=ax-w;
  cy:=ay+w;
  dx:=ax;
  dy:=cy;
  dx:=ax;
  dy:=cy;
  pen.color:=clred;
  Circle(320,240,r-1);//круг
  a:=0;
  lockdrawing;
 repeat
   Window.Clear(clWhite);  
   //в цикле меняем координаты вершин, соединяем их линиями
   tax:=ax;
   tay:=ay;
   Vrash(a,tax,tay);
   tbx:=bx;
   tby:=by;
   Vrash(a,tbx,tby);
   tcx:=cx;
   tcy:=cy;
   Vrash(a,tcx,tcy);
   tdx:=dx;
   tdy:=dy;
   Vrash(a,tdx,tdy);
   moveto(tax,tay);
   lineto(tbx,tby);
   lineto(tcx,tcy);
   lineto(tdx,tdy);
   lineto(tax,tay);
   //делаем задержку и все стираем(рисуем цветом фона)
   sleep(10);
   pen.color:=clblue;
   moveto(tax,tay);
   lineto(tbx,tby);
   lineto(tcx,tcy);
   lineto(tdx,tdy);
   lineto(tax,tay);
   a:=a+1;//увеличиваем угол поворота
   pen.Color:=clred;
   Circle(320,240,r-1);
   redraw;
   inc(i);
  until i=999;
end.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
11.01.2011, 14:40
А разве такое
pen.color:=clblue;
Window.Clear(clWhite);
работает?
0
 Аватар для Zero-cool
5 / 5 / 2
Регистрация: 05.01.2011
Сообщений: 30
11.01.2011, 21:21  [ТС]
вполне, у меня стоит непонятная версия ABC(толи ABC толи ABC.Net сам досих пор не понял) паскаля ,работают оба варианта корректно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.01.2011, 21:21
Помогаю со студенческими работами здесь

Рисование звездочек
Помогите, пожалуйста на Паскале ABC) Нарисуйте последовательность из 16 разноцветных заполненных звёзд. Поставьте свою подпись и номер...

Рисование радуги
Составьте пожалуйста программу, которая рисует радугу (процедура colArc(x,y,R). Спасибо!

Рисование кругов
В целочисленный массив, размерность (количество элементов) которого задается в программе константой, занесите с помощью датчика случайных...

Рисование узора.
Граф, с применением анимации РЕБЯТА ЛАБА ВЫРУЧАЙТЕ!!!!!

Рисование часов.
Привет! собственно,вот.требуется нарисовать такие часики..и чтобы стрелки ходили..


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru