Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Контрольные работы » Розробка програми реалізує емуляцію пружного зіткнення м'ячів

Реферат Розробка програми реалізує емуляцію пружного зіткнення м'ячів





швидкості по x.

_dy: integer; - вектор швидкості по y.

Методи: Create (rad, color, dx, dy, x, y: integer); - створення об'екта.Destroy; override;-знищення об'єкта.

Властивості, що дозволяють зчитувати і встановлювати значення відповідних полів:

property x: integer read _x write _x; y: integer read _y write _y; rad: integer read _rad write _rad; color: integer read _color write _color; dx: integer read _dx write _dx; dy : integer read _dy write _dy;

Клас TBalls містить масив м'ячів, кожен з яких це об'єкт класу TBall.

Поля :: array [0 .. 100] of TBall; - масив м'ячів.

num: integer; - кількість елементів у масиві.

Методи властиві даному класу:

function Add (x, y, dx, dy, col, rad: integer): boolean; - додати м'яч.

function del (n: integer): boolean; - видалити мяч.GetData (i: integer): TBall; - метод чтенія.SetData (i: integer; Value: TBall); - метод запису.

Властивість дозволяє отримати інформацію про об'єкт:

property Items [i: integer]: Tball read GetData write SetData;


Опис алгоритму


Алгоритм визначення розрахунку руху м'ячів після зіткнення один з одним:

У вкладеному циклі порівнюємо кожен м'ячик окремо з усіма подальшими. Для цього визначаємо відстань між координатами центрів і порівнюємо із сумою радіусів. Якщо відстань між центрами стає менше суми радіусів тоді за правилом пружного удару, міняємо вектор швидкості одного з іншим. І після цього вони продовжують переміщатися вже з іншими швидкостями. При цьому для того, що б не виникало ніяких помилок при зіткненні їх один з одним, до координат по x і по y додаємо значення вектора швидкості на дану вісь і перемальовували. Це дозволяє уникнути залипання м'ячів один в одному, із за різних значень векторів швидкості одного й іншого. p align="justify"> Алгоритм перевірки на співудар кожного м'яча з межами екрану:

Ми повинні перевірити на досягнення м'ячем кордонів певної площі екрану, для цього визначаємо його кордон і порівнюємо з кількістю пікселів по даній осі. Якщо виконується одна з умов тоді змінюємо вектор швидкості на протилежний по даній осі. І після проробляємо теж саме для наступного кульки. Також враховуємо, що м'яч може перескочити через кордон із за великого значення вектора швидкості, щоб уникнути даної події зробимо також як і при зіткненні м'ячів, один з одним, тобто відкинемо м'яч призначення вектора швидкості від кордону по кожній осі при їх зіткненні.


Текст програми


Наведемо опис класів:

unit Unit2; Wi...


Назад | сторінка 2 з 4 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Блок обчислювача для радіолокаційного вимірювача висоти і складових вектора ...
  • Реферат на тему: Розробка програми для визначення залежності швидкості вала двигуна від часу ...
  • Реферат на тему: Оптичний метод визначення швидкості обертання диска на валу
  • Реферат на тему: Визначення прискорення, коефіцієнта тертя і швидкості руху
  • Реферат на тему: Засоби і методи виховання швидкості на короткі дистанції