annytaj

Вращение прямоугольника вокруг точки

11.06.2013, 01:45. Показов 3314. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста, прямоугольник вращается, Но, "след" за собой оставляет, не стирается предыдущее положение прямоугольника. Вроде должна с помощью "cleardevice", но работает только если его удалить, не понимаю почему так. И еще хотела узнать как сделать, чтобы прямоугольник вращался относительно заданной точки.
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
program three;
uses crt,GraphABC;
var
a,b: integer;
d,m : smallint;
x1,x2,x3,x4,y1,y2,y3,y4: integer;
alpha,beta,koef : real;
x0,y0 : integer;
ch : char;
begin
clrscr;
alpha := 0;
koef := 1;
x0 := 300;  
y0 := 300;
a := 100;   
b := 200;   
beta := arctan(b/a);
repeat
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x4,y4);
line(x4,y4,x1,y1);
 
x1 := x0;
y1 := y0;
x2 := x0+round(a*cos(alpha));
y2 := y0+round(a*sin(alpha));
x3 := x0+round(sqrt(sqr(a)+sqr(b))*cos(alpha-beta));
y3 := y0+round(sqrt(sqr(a)+sqr(b))*sin(alpha-beta));
x4 := x0+round(b*cos(alpha-pi/2));
y4 := y0+round(b*sin(alpha-pi/2));
 
alpha := alpha + koef*0.1;
if alpha>=2*pi then alpha := 0;
delay(70);
cleardevice;
 
if keypressed then
 begin
  ch := readkey;
  if ch = '1' then koef := 1
  else if ch='2' then koef := -1
  else if ch=#27 then break;
 end;
until ch=#27;
 
 
end.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.06.2013, 01:45
Ответы с готовыми решениями:

Вращение многоугольника вокруг произвольной точки
Всем здравствуйте. Прошу помощи. Суть задания:написать программу, реализующую вращение многоугольника вокруг произвольной точки. Моя...

Организовать вращение отрезка вокруг своего центра
Организовать вращение отрезка вокруг своего центра. Помогите!

Отобразить вращение прямоугольника, используя модуль crt
Добрый день, форумчане. есть вопрос. Реально ли сделать такое, используя только модуль CRT. Вот сама задача: 3. Разработать...

1
SausageFlat
 Аватар для Striker
242 / 221 / 154
Регистрация: 19.08.2012
Сообщений: 499
Записей в блоге: 1
11.06.2013, 08:21
Вот, след не оставляет.

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
program three;
 
uses
  crt, GraphABC;
 
var
  a, b: integer;
  d, m: smallint;
  x1, x2, x3, x4, y1, y2, y3, y4: integer;
  alpha, beta, koef: real;
  x0, y0: integer;
  ch: char;
 
begin
  clrscr;
  alpha := 0;
  koef := 1;
  x0 := 300;  
  y0 := 300;
  a := 100;   
  b := 200;   
  beta := arctan(b / a);
  repeat
    lockdrawing;
    clearwindow;
    line(x1, y1, x2, y2);
    line(x2, y2, x3, y3);
    line(x3, y3, x4, y4);
    line(x4, y4, x1, y1);
    
    x1 := x0;
    y1 := y0;
    x2 := x0 + round(a * cos(alpha));
    y2 := y0 + round(a * sin(alpha));
    x3 := x0 + round(sqrt(sqr(a) + sqr(b)) * cos(alpha - beta));
    y3 := y0 + round(sqrt(sqr(a) + sqr(b)) * sin(alpha - beta));
    x4 := x0 + round(b * cos(alpha - pi / 2));
    y4 := y0 + round(b * sin(alpha - pi / 2));
    
    alpha := alpha + koef * 0.1;
    if alpha >= 2 * pi then alpha := 0;
    delay(70);
    redraw;
    
    if keypressed then
    begin
      ch := readkey;
      if ch = '1' then koef := 1
      else if ch = '2' then koef := -1
      else if ch = #27 then break;
    end;
  until ch = #27;
  
  
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.06.2013, 08:21
Помогаю со студенческими работами здесь

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

Вращение точки по окружности
Здравствуйте! Объясните пожалуйста как вращать точку по окружности, а также, как перемещать её по траектории при помощи стандартных функций...

Как сделать вращение четырехугольной пирамиды вокруг оси Ох, как в примере?
Как сделать вращение четырехугольной пирамиды вокруг оси Ох, как в примере? uses crt,graphabc,events; type Cube=array of real; var ...

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

Графика: Движение точки вокруг квадрата
Здраствуйте. Никак неполучается написать программу в которой бы точка двигалась вокруг квадрата. Нижний левый угол квадрата нужно взять...


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

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

Новые блоги и статьи
Динамические массивы в C++ - создание и использование
NullReferenced 27.04.2025
Динамические массивы представляют собой один из фундаментальных инструментов программирования на C++, позволяющий создавать структуры данных, размер которых определяется во время выполнения. . .
Асинхронный JavaScript: Промисы, Async/Await и Fetch API
Reangularity 27.04.2025
Пользователь заходит на веб-страницу, нажимает кнопку и. . . ничего не происходит. Сайт словно замер. Через несколько секунд всё внезапно оживает, но пользователь уже успел закрыть вкладку. Знакомая. . .
Management on GitLab and repository management in Visual Studio code
jigi33 27.04.2025
- repo management on GitLab - CI/ CD in GitLab - VCS repository management in Visual Studio code (see attachments)
Kanban или Scrum - что выбрать?
EggHead 27.04.2025
Kanban и Scrum — уже много лет удерживают лидирующие позиции среди гибких подходов. Руководители проектов и команды разработчиков то и дело сталкиваются с дилеммой: какой из этих двух методов выбрать. . .
Кастомные Middleware на C# в ASP.NET Core
UnmanagedCoder 27.04.2025
Разработка веб-приложений сегодня мало напоминает монолитное программирование прошлых лет. На смену громоздким блокам кода пришла модульная архитектура, где каждый компонент выполняет строго. . .
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
Паттерны в Python: Singleton, Factory и Observer
py-thonny 26.04.2025
Паттерны проектирования — это проверенные временем решения типовых проблем разработки программного обеспечения. Их история берёт начало с книги "Приёмы объектно-ориентированного проектирования. . . .
Исключения в C#: Stack Overflow, Access Violation и Out of memory
stackOverflow 26.04.2025
Исключения в C# — это не только механизм оповещения о проблемах, а целое искусство управления потоком выполнения программы в экстремальных ситуациях. Обычное исключение, например,. . .
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Структура "железный OnKeyUp" вместо антидребезга. Полностью асинхронный счётчик.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru