Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/41: Рейтинг темы: голосов - 41, средняя оценка - 4.54
1 / 1 / 0
Регистрация: 23.12.2011
Сообщений: 31
1

Броуновское движение (задача на графику с анимацией)

23.12.2011, 16:03. Показов 8112. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Частица (от заданной начальной точки) совершает хаотическое движение, двигаясь в случайном направлении на случайное расстояние (в пределах экрана). Получить на экране траекторию движения частицы до прерывания с клавиатуры.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2011, 16:03
Ответы с готовыми решениями:

Нарисовать движение шарика по графику y=(e^x)+2
Помогите пожалуйста написать программу. Нарисовать график y=(e^x)+2 (с координатными осями) и...

Броуновское движение
Господа, помогите сделать программу , надо сделать как можно проще . Спасибо.

Броуновское движение в 3d
помогите написать программу в делфи .3д модель броуновского движения

Броуновское движение
В общем дело обычное - Курсач, приходится учится программировать. 1. Создать несколько точек,...

8
Почетный модератор
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
23.12.2011, 22:30 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
uses graphABC,crt;
var x,y,x0,y0: integer;
begin
setwindowsize(700,500);
hidecursor;
x:=random(701);
y:=random(500);
setpencolor(clblue);
setbrushcolor(clblue);
SetPenMode(pmNot);
circle(x,y,2);
repeat
if (x<680) and (x>20) then x:=x+(random(3)-1) else
   if x>680 then x:=x+(random(3)-3) else x:=x+(random(3));
if (y<480) and (y>20) then y:=y+(random(3)-1) else
   if y>480 then y:=y+(random(3)-3) else y:=y+(random(3));
circle(x,y,2);
sleep(1);
until keypressed;
end.
0
0 / 0 / 1
Регистрация: 01.05.2014
Сообщений: 94
05.07.2016, 11:00 3
Что то нечего не работает , программа запускается и нечего не происходит.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
05.07.2016, 11:09 4
Все рисует, вот в простом АВС (не .net).
Миниатюры
Броуновское движение (задача на графику с анимацией)  
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
05.07.2016, 11:13 5
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Вот чуть переписал для .net.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
uses graphABC;
var x,y,x0,y0: integer;
begin
setwindowsize(700,500);
x:=random(701);
y:=random(500);
setpixel(x,y,clBlue);
repeat
if (x<680) and (x>20) then x:=x+(random(3)-1) else
   if x>680 then x:=x+(random(3)-3) else x:=x+(random(3));
if (y<480) and (y>20) then y:=y+(random(3)-1) else
   if y>480 then y:=y+(random(3)-3) else y:=y+(random(3));
setpixel(x,y,clBlue);
sleep(1);
until false;
end.
Миниатюры
Броуновское движение (задача на графику с анимацией)  
0
0 / 0 / 1
Регистрация: 01.05.2014
Сообщений: 94
07.07.2016, 22:02 6
Спасибо большое что перевели код в PaskalABC.Net.
А как прервать анимацию с помощью клавиатуры?
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
07.07.2016, 22:47 7
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
uses graphABC;
var f:boolean;
procedure KeyPress(key:char);
begin
if key<>#0 then f:=false;
end;
var x,y,x0,y0: integer;
begin
setwindowsize(700,500);
x:=random(701);
y:=random(500);
f:=true;
onkeypress:=KeyPress;
setpixel(x,y,clBlue);
repeat
if (x<680) and (x>20) then x:=x+(random(3)-1) else
   if x>680 then x:=x+(random(3)-3) else x:=x+(random(3));
if (y<480) and (y>20) then y:=y+(random(3)-1) else
   if y>480 then y:=y+(random(3)-3) else y:=y+(random(3));
setpixel(x,y,clBlue);
sleep(1);
until f=false;
end.
0
0 / 0 / 1
Регистрация: 01.05.2014
Сообщений: 94
07.07.2016, 23:11 8
Спасибо большое тебе!!!

Добавлено через 2 минуты
а где взять таб. асин кодов наверное я неверно выражаюсь
ну вот которые #..
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
08.07.2016, 07:33 9
http://pascal.net.ru/1251
0
08.07.2016, 07:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.07.2016, 07:33
Помогаю со студенческими работами здесь

Броуновское движение
Всем доброго времени суток. Есть идея проекта (нужно защитить 19 июля), но не знаю как к ней...

Броуновское движение
Всем привет! Подскажите люди какой функцией можно описать Броуновское движение, нужно запрогать вот...

Броуновское движение
Как сделать чтобы частицы отталкивались друг от друга при сталкновении... вот мой код ...

Броуновское движение
Здравствуйте помогите пожалуйста создать Броунское движение такое как на картинке :cry:


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru