Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Turbo Pascal] Опыт Резерфорда


Автор: Dower 20.5.2011, 12:05
Помогите сделать задачу.

Надо на TP промоделировать опыт Резерфорда. 

Его суть: по направлению ядру золота движутся альфа--частицы. Необходимо построить траектории движения частиц при различных значениях прицельного параметра ρ.

Т.е. как я понял надо чтобы изначально на экране был только атом золота. А потом с левой стороны экрана по одной начинали вылетать частицы и уходить по траектории.

Вот рисунок http://s2.ipicture.ru/

Автор: Elerond 20.5.2011, 15:31
Dower, а проблема с физикой или с графикой на паскале?

Автор: Dower 20.5.2011, 17:31
С графикой, мне бы хотя бы основу чтобы частицы летели хоть куда нибудь, а потом я формулы наверно смогу подставить.

Вот в одном из учебников нашел такой код (правда это Basic), но самому с ним разобраться сложно.

Код
SCREEN 12: m1 = 1: m2 = 200: dt = .001            'QBASIC
LINE (0, 400)-(640, 400): LINE (320, 0)-(320, 480)
FOR i = 0 TO 30 STEP 3
x = -80: y = i: vx = 5: vy = 0
FOR t = 0 TO 30 STEP dt
r = SQR(x * x + y * y): F = -m1 * m2 / (r * r)
Fx = -F * x / r: Fy = -F * y / r: ax = Fx / m1: ay = Fy / m1
vx = vx + ax * dt: x = x + vx * dt: vy = vy + ay * dt: y = y + vy * dt
CIRCLE (320 + 5 * x, 400 - 5 * y), 1
NEXT: NEXT


Автор: Elerond 21.5.2011, 13:13
Основная идея анимации: фон и двигаемые объекты.

Анимация: рисуем фон - рисуем объект - рисуем фон (объект естественно затирается) - рисуем объект на новом месте - и повторять.

Автор: Dower 21.5.2011, 15:39
Спасибо, но не могли бы вы помочь с кодом этого

Цитата
Анимация: рисуем фон - рисуем объект - рисуем фон (объект естественно затирается) - рисуем объект на новом месте - и повторять.
, а то у меня с TP не очень.

И как сделать, чтобы частицы двигались по дуге?

Автор: Elerond 21.5.2011, 22:21
К сожалению, описать функции паскаля для работы с графикой я вряд ли тут смогу, их можно посмотреть в той же справке паскаля или в интернете.  А паскаля под рукой у меня сейчас нету...

Автор: Dower 22.5.2011, 15:36
Жаль, но все равно спасибо за помощь.

Может кто-другой сталкивался с подобными заданиями и знает как его сделать?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)