Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/19: Рейтинг темы: голосов - 19, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 04.05.2010
Сообщений: 4

Спирограф

15.05.2010, 03:51. Показов 3735. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста, дали задание, а я вообще не шарю в паскале
1. В рисованных мультфильмах иллюзия движения создаётся сменой кадров, каждый из которых фиксирует очередное положение движущегося объекта. Используя этот принцип, получить мультфильм, показывающий: о прыжках в длину.
2. Спирограф-это зубчатый диск радиуса В, расположенного внутри колеса, радиуса А. Диск вращается против часовой стрелкии всегна находится в зацеплении с внешним колесом. В диске имеется небольшое отверствие на расстоянии D от центра диска, в которое помещается карандаш. Грифель карандаша в процессе вращения вычерчивает рисунок; вычерчивание заканчивается, когда карандашь возвращается в исходное положение. Уравнение кривой, вычерчиваемой грифелем, в параметрической форме имеет вид: x=(A-B)*cost+D*cosϕ, y=(A-B)*sint-D*sinϕ, где ϕ=(A/B)*t, D<B<A. Угол t меняется от 0 до 2nπ; n равно В, делённому на наибольший общий делитель В и А. Даны натуральные A,B,D(D<B<A). Составить программу, моделирующую спирограф.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.05.2010, 03:51
Ответы с готовыми решениями:

Спирограф
Помогоите составить программу. В поиске искала, нашла, но это далеко не то:cry:.

вопросик :) спирограф...
нашел на этом форуме решение своей задачки, но вот что-то не получается... uses crt,graph; type kard=record{тип запись с полями} ...

Спирограф
Срочно!!! Помогите написать простой спирограф, который состоит из окружности в которую вписано от 1 до 11 еще окружностей; Так же от 1 до...

2
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
15.05.2010, 12:57
Лучший ответ Сообщение было отмечено Аэлита как решение

Решение

2.
Для изображения вращающегося диска приходится перерисовывать все точки спирали, мерцание жуткое.
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
uses crt,graph;
type kard=record{тип запись с полями}
          x,y,{точки кардиоиды}
          x1,y1:integer;{центр движущейся окружности}
          end;
mass=array[1..5000] of kard;{массив точек чуть с запасом}
{заполнение массива}
function Nod(m,n:integer):integer;
begin
if m mod n=0 then Nod:=n
else Nod:=Nod(n mod m,m);
end;
procedure Point(cx,cy,a,b,d:integer;var k:mass;var p:integer);
var t:real;
    n:real;
begin
p:=0;{количество точек спирали}
t:=0;{начало рисования}
n:=b/Nod(b,a);
while t<=2*n*pi do{делаем нужное число оборотов}
 begin
  p:=p+1;
  {точки спирали по параметрическому уравнению, сх, су - центр}
  k[p].x:=cx-round((a-b)*cos(t)+d*cos(a*t/b));
  k[p].y:=cy+round((a-b)*sin(t)-d*sin(a*t/b));
  {центр круга вычисляем}
  k[p].x1:=cx-round((a-b)*cos(t));
  k[p].y1:=cy+round((a-b)*sin(t));
  t:=t+0.01;
 end;
end;
{рисование}
procedure Spiral(var k:mass;n,cv,cx,cy,a,b:integer);
var i,j:integer;
begin
i:=1;
while i<n-5 do
 begin
  {рисуем цветом фона - стираем}
  setcolor(0);
  moveto(k[1].x,k[1].y);
  setlinestyle(0,0,1);
  for j:=1 to i do
  lineto(k[j].x,k[j].y);
  setlinestyle(0,0,1);
  Circle(k[j].x1,k[j].y1,b);
  setlinestyle(0,0,3);
  Circle(k[j].x,k[j].y,1);{отверстие}
  i:=i+5;{шаг вперед, можешь поменять}
  {рисуем в цвете}
  setcolor(12);
  setlinestyle(0,0,1);
  moveto(k[1].x,k[1].y);
  for j:=1 to i do
  lineto(k[j].x,k[j].y);{спираль}
  setcolor(8);
  setlinestyle(0,0,1);
  Circle(cx-a,cy,a);{неподвижная окружность}
  Circle(k[j].x1,k[j].y1,b);{подвижная}
  setcolor(12);
  setlinestyle(0,0,3);
  Circle(k[j].x,k[j].y,1);{отверстие}
  delay(50);{задержку тоже можно подобрать самому}
 end;
end;
var x0,y0,a,b,d,cv,n,i:integer;
    t:real;
    k:mass;
begin
clrscr;
{назначем радиус колеса}
repeat
write('Radius kolesa [20..200] a=');
readln(a);
until a in [20..200];
{назначем радиус диска}
repeat
write('Radius diska >=10 <',a,' b=');
readln(b);
until b in [10..a-1];
{расстояние отверстия от центра диска}
repeat
write('Rasstoyanie ot centra diska >=2 <',b,' d=');
readln(d);
until d in [2..b-1];
{переход в графический режим}
x0:=0;
initgraph(x0,y0,'');
{белый фон}
setbkcolor(15);
{центр экрана}
x0:=getmaxX div 2;
y0:=getmaxY div 2;
Point(x0,y0,a,b,d,k,n);
Spiral(k,n,12,x0+a,y0,a,b);
readln
end.
По 1 задаче читайте здесь, писать для Вас лень, очень долго, да еще картинки по фазам прыжка придумывать.
https://www.cyberforum.ru/atta... 1241779566
В разделе модуль Graph есть простой пример рисования движущегося человечка, Вам нужно вместо двух картинок сделать больше, но суть там изложена.
1
0 / 0 / 0
Регистрация: 04.05.2010
Сообщений: 4
15.05.2010, 16:49  [ТС]
Спасибо ОГРОМНОЕ!!! хотя врят ли я сама первую допишу

Добавлено через 5 минут
Спасибо ОГРОМНОЕ!!! хотя врят ли я сама первую допишу
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.05.2010, 16:49
Помогаю со студенческими работами здесь

Построить спирограф в Excel 2003
Доброго времени суток коллеги! Задали такую задачку: Ссылка удалена для меня это дикий лес, помогите пожалуйста

Нарисовать кривую грифеля(спирограф)
пожалуйста помогите! срочно надо!

Ошибки в коде программы Спирограф
пока ничего не получается... public partial class FormGrafocicles : Form { Graphics graph; Pen pen; ...

написать программу уравнение кривой вычерчиваемой грифелем(спирограф) на С++
уравнение кривой, вычерчиваемой грифелем, в параметрической форме имеет вид: x=(А-В)cost+Dcosf; у=(А-В)sint-Dsinf; где...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru