Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 19.10.2012
Сообщений: 13
1

Алгоритмы.Анимации. Написать прогу для изображения анимации

19.10.2012, 20:17. Просмотров 2284. Ответов 7
Метки нет (Все метки)

нужно чтобы она двигалась во все стороны. вот эта фигура
Алгоритмы.Анимации. Написать прогу для изображения анимации
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.10.2012, 20:17
Ответы с готовыми решениями:

Ошибка в циклах отрисовки анимации в программе для изображения роста растений
Доброго времени! Пытаюсь написать программу для изображения восходов. В общем вводятся 2 числа, для...

Проигрывание анимации после анимации
Добрый день форумчане. Ищу уже пару дней информацию, нигде не смог зайти, пошел во все тяжкие -...

Размытие изображения при анимации
Здравствуйте. Подскажите, пожалуйста, как решить следующую проблему. На странице с каталогом...

Создание анимации появления изображения
В приложении нужно сделать плавно проявляющееся изображение, как сделать это по средствам wpf?

7
Модератор
62492 / 46685 / 32177
Регистрация: 18.05.2008
Сообщений: 112,945
19.10.2012, 20:21 2
Цитата Сообщение от gugusha Посмотреть сообщение
она двигалась во все стороны
Это в какие все?
0
0 / 0 / 0
Регистрация: 19.10.2012
Сообщений: 13
19.10.2012, 20:30  [ТС] 3
просто направо,налево,вверх,вниз и всё..

Добавлено через 1 минуту
если знаете напишите пожалуйста,очень прошу

Добавлено через 5 минут
вот чтобы типа вот этого была прога...
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
uses Graph,CRT;
var
Driver, Mode:Integer;
x,y,a,b:integer;
Xs,Ys:string;
k:char;
begin
Driver:=Detect;
InitGraph(Driver,Mode,' ');
if GraphResult <> grok then Halt(1);
x:=100;
y:=100;
a:=20;
repeat
SetColor(10);
Circle (x+120,y+140,a+20);
Circle (x+230,y+40,a+20);
Circle (x+340,y+140,a+20);
Line(x+190,y+40,x+120,y+100);
Line(x+270,y+40,x+340,y+100);
Line(x+230,y+80,x+160,y+140);
Line(x+230,y+80,x+300,y+140);
Line(x+160,y+140,x+230,y+200);
Line(x+230,y+200,x+300,y+140);
SetColor(0);
Str(x,Xs);
Str(y,Ys);
SetColor(5);
OutTextXY(300,150,'x='+Xs+' : y='+Ys);
k:=ReadKey;
SetColor(0);
Circle (x+120,y+140,a+20);
Circle (x+230,y+40,a+20);
Circle (x+340,y+140,a+20);
Line(x+190,y+40,x+120,y+100);
Line(x+270,y+40,x+340,y+100);
Line(x+230,y+80,x+160,y+140);
Line(x+230,y+80,x+300,y+140);
Line(x+160,y+140,x+230,y+200);
Line(x+230,y+200,x+300,y+140);
 
Str(x,Xs);
Str(y,Ys);
Setcolor(0);
OutTextXY(300,150,'x='+Xs+' : y='+Ys);
if k=#77 then x:=x+10;
if k=#75 then x:=x-10;
if k=#72 then y:=y-10;
if k=#80 then y:=y+10;
if k=#13 then a:=a+10;
if k=#8 then a:=a-10;
if k=#49 then b:=4;
if k=#50 then b:=2;
if k=#51 then b:=3;
if k=#52 then b:=5;
if k=#53 then b:=6;
if k=#54 then b:=7;
if k=#55 then b:=8;
if k=#56 then b:=9;
if k=#57 then b:=10;
if k=#58 then b:=1;
until k=#27;
CloseGraph;
end.
только величины кругов,линии не знаю как сделать не получается
0
Модератор
62492 / 46685 / 32177
Регистрация: 18.05.2008
Сообщений: 112,945
19.10.2012, 21:06 4
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
uses crt,graph;
var xc,yc,x,y,d1,d2,r1,r2,d:integer;
    k:char;
procedure Fig(x,y,c:integer);
begin
setcolor(c);
r1:=10;r2:=20;d1:=r2+r1;
d2:=r2+2*r1;
circle(x,y,r2);
circle(x-r2-r1,y,r1);
circle(x,y-r2-r1,r1);
circle(x+r2+r1,y,r1);
circle(x,y+r2+r1,r1);
rectangle(x-d1,y-d1,x+d1,y+d1);
rectangle(x-d2,y-d2,x+d2,y+d2);
line(x-d2,y+d2,x+d2,y-d2);
line(x-d2,y-d2,x+d2,y+d2);
end;
begin
initgraph(xc,yc,'');
xc:=getmaxX div 2;
yc:=getmaxY div 2;
outtextXY(xc-80,20,'Upravlenie - Strelki');
outtextXY(xc-50,40,'Exit - Esc');
x:=xc;y:=yc;
Fig(x,y,12);
repeat
if keypressed then
  begin
    k:=readkey;
    if k=#80 then
      begin
        delay(100);
        Fig(x,y,0);
        if y>getmaxY-d2-10 then d:=0
        else d:=10;
        y:=y+d;
        Fig(x,y,12);
       end;
    if k=#72 then
      begin
        delay(100);
        Fig(x,y,0);
        if y<2*d2+10 then d:=0
        else d:=10;
        y:=y-d;
        Fig(x,y,12);
      end;
    if k=#77 then
      begin
        delay(100);
        Fig(x,y,0);
        if x>getmaxX-d2-10 then d:=0
        else d:=10;
        x:=x+d;
        Fig(x,y,12);
       end;
    if k=#75 then
      begin
        delay(100);
        Fig(x,y,0);
        if x<d2+10 then d:=0
        else d:=10;
        x:=x-d;
        Fig(x,y,12);
      end;
    if k=#27 then exit;
  end;
until k=#27;
end.
2
0 / 0 / 0
Регистрация: 19.10.2012
Сообщений: 13
20.10.2012, 17:59  [ТС] 5
Цитата Сообщение от gugusha Посмотреть сообщение
Circle (x+120,y+140,a+20); Circle (x+230,y+40,a+20); Circle (x+340,y+140,a+20); Line(x+190,y+40,x+120,y+100); Line(x+270,y+40,x+340,y+100); Line(x+230,y+80,x+160,y+140); Line(x+230,y+80,x+300,y+140); Line(x+160,y+140,x+230,y+200);
ПОНИМаете,мне нужно было именно в этом виде описать процедуру величины линиий,кругоы(в градусах)..и остальное также должно вроде оставаться...эх не шарю даже в таком простом,пыталась не получаются эти линии правильно расставлять..там градусы нужно знать что где отмечно...
0
Модератор
62492 / 46685 / 32177
Регистрация: 18.05.2008
Сообщений: 112,945
20.10.2012, 18:04 6
r1:=10;//малый радиус=10 пикселей(единица измерения разрешения экрана)
r2:=20;//большой радиус
d1:=r2+r1;//половина стороны малого квадрата
d2:=r2+2*r1;//то же большого квадрата
все остальное берется из этих размеров.
0
0 / 0 / 0
Регистрация: 19.10.2012
Сообщений: 13
21.10.2012, 19:21  [ТС] 7
Не знай,вот ошибка такая вышла,все правильно набрала хоть: Error: 200 Division by zero
0
Модератор
62492 / 46685 / 32177
Регистрация: 18.05.2008
Сообщений: 112,945
21.10.2012, 19:34 8
Это значит что ваша система не желает работать с имеющимся модулем CRT.
Попробуйте заменить его на вложение из этой темы.
Откуда в коде взялось деление на нуль?

Добавлено через 3 минуты
Цитата Сообщение от gugusha Посмотреть сообщение
все правильно набрала хоть
Не нужно набирать, нужно просто копировать в Блокнот или другой текстовый редактор и сохранять с расширением .pas
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.10.2012, 19:34

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Создание анимации вращения изображения
Без javascript. При наведении на 3 секунды на 15 градусов и дальше фиксация,например.

Вынести часть изображения или анимации за рамку окна
Здравствуйте, подскажите, пожалуйста, как можно осуществить данную задумку: пытаюсь вынести часть...

Нужно написать програму с использованием анимации
Помогите плз. Я ещё не выучил графику в с#, а програму уже нужно написать :( програма на...

Код для анимации
Нужно создать код для анимации едущий велосипедист. Вот пример на едущий грузовик using System; ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.