Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для Lil Crazy
6 / 6 / 2
Регистрация: 23.03.2009
Сообщений: 198

Графика и анимация

17.05.2009, 19:37. Показов 1121. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно написать следующую задачу: написать программу, которая выводит на экран вращающуюся спиральную линию. Направление вращение и толщина линии задается пользователем. Вот этот вариант кода работает, но не так как надо:
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
program Spiral;
uses Graph,Crt;
var
  gDriver, gMode: Integer;
  r, a, arad: Real;
begin
  gDriver:=Detect;
  gMode:=0;
  InitGraph(gDriver, gMode, 'c:\bgi');
  ClearDevice;
  SetColor(White);
  Line(0, GetMaxY div 2, GetMaxX, GetMaxY div 2);
  Line(GetMaxX div 2, 0, GetMaxX div 2, GetMaxY);
  while a < 360 * 4 do begin
    arad := a * pi / 180;
    r := 2 * exp(0.2 * arad);
    PutPixel(Round(r*Sin(arad) + GetMaxX / 2),
             Round(r*Cos(arad) + GetMaxY / 2),
             Green);
    a := a + 0.1;
  end;
  while not KeyPressed do Delay(1);
  CloseGraph;
end.
Я его модифицировал до:
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
program Spiral;
uses Graph,Crt;
 
Procedure InputData(var SpLine,SpDirection:integer);
begin
  write('Введите толщину линии (1-тонкая, 3-толстая)');
  read(SpLine);
  write('Выберите направление (1-нормальное, -1-вобратную сторону)');
  read(SpDirection);
end;
 
Procedure PrintSpiral(SpLine,SpDirection:integer);
var
  gDriver,gMode:Integer;
  r,a,arad:Real;
begin
  gDriver:=Detect;
  gMode:=0;
  InitGraph(gDriver,gMode,'c:\bgi');
  ClearDevice;
  SetColor(White);
  Line(0,GetMaxY div 2,GetMaxX,GetMaxY div 2);
  Line(GetMaxX div 2,0,GetMaxX div 2,GetMaxY);
  while a < 360 * 4 do begin
    arad := a * pi / 180;
    r := 2 * exp(0.2 * arad);
    SetLineStyle(0,1,SpLine);
    PutPixel(Round(SpDirection*r*Sin(arad) + GetMaxX / 2),
             Round(r*Cos(arad) + GetMaxY / 2),
             Green);
    a := a + 0.1;
  end;
  while not KeyPressed do Delay(1);
  CloseGraph;
end;
 
var l,d:integer;
begin
  InputData(l,d);
  PrintSpiral(l,d);
end.
И он не выводит спираль. Как это исправить??? И как сделать спираль вращающейся???

Добавлено через 3 часа 7 минут 51 секунду
Help!!! :'(
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.05.2009, 19:37
Ответы с готовыми решениями:

Графика.Цена деления графика.
Нужно доделать сие творение!Не хватает цены деления хотя бы 3 засечки по иксу в право и по игреку в верх!И еще один вопрос почему на...

Графика: Анимация. Человек выгуливает собаку
Анимация. Человек выгуливает собаку.

Графика: одновременная анимация нескольких объектов
Привет, подскажите как сделать, чтобы все эти 4 объекта запускались одновременно, а не как сейчас по очереди. uses crt, graph; ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.05.2009, 19:37
Помогаю со студенческими работами здесь

Графика и анимация. Нарисовать грустную рожицу
Нужно нарисовать грустную рожицу, тоесть грустный смайлик. размеры и все такое на свое усмотрение. только нужно еще чтоб он при нажатии на...

Анимация, графика - пушка стреляет под углом к горизонту
Пушка стреляет под углом к горизонту, дуло пушки регулируется стрелками вверх, вниз. На горизонте мишень положение которой регулируется...

Графика: построить 2 графика в одной координатной плоскости
Нужно построить 2 графика в одной координатной плоскости, но для начала нужно протабулировать функции... С Графикой ни разу не встречалась,...

Написать программу построения графика функции.(Графика)
Написать программу построения графика функции y= x2 +2x-cos x на отрезке . Помогите пожалуйста)Заранее спасибо!)

Паскаль графика (построения графика функции)
как поставить х и у буквами в графике и пронумеровать ось рисками от 1... подскажите пож вот пример графика мне нужно сделать...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru