/pendulum-test

Симуляция математического маятника с помощью HTML5 Canvas.

Primary LanguageJavaScript

pendulum-test

Простое веб-приложение, симулирующее поведение математического маятника с помощью HTML5 Canvas.

Как запустить

  1. Склонировать этот репозиторий или скачать и распаковать архив с исходным кодом.
  2. Открыть index.html любым браузером

Кроме того, последняя версия проекта всегда доступна по адресу.

Документация

Classes

Application

Класс, представляющий приложение

Pendulum

Класс, представляющий маятник

Application

Класс, представляющий приложение

Kind: global class

new Application()

Создаёт приложение

application.clear()

Очищает холст

Kind: instance method of Application

application.redraw()

Перерисовывает весь холст заново

Kind: instance method of Application

application.getData() ⇒ *

Получает данные полей

Kind: instance method of Application
Returns: * - Данные полей или null, если они заполнены неправильно

application.validateData() ⇒ boolean

Выводит alert'ы о недопустимых значениях

Kind: instance method of Application
Returns: boolean - Флаг, верно ли заполнены поля

application.enableInputFields()

Активирует поля ввода

Kind: instance method of Application

application.disableInputFields()

Блокирует поля ввода

Kind: instance method of Application

Pendulum

Класс, представляющий маятник

Kind: global class

new Pendulum(supportX0, supportY0, radius, angle, length, deceleration)

Создаёт маятник

Param Description
supportX0 Координата точки крепления маятника по оси X
supportY0 Координата точки крепления маятника по оси Y
radius Радиус груза (так как он имеет форму шара)
angle Угол начального отклонения маятника (в градусах)
length Длина подвеса
deceleration Коэффицент затухания

pendulum.calcX() ⇒ number

Вычисляет предварительное значение x (без учёта начальных координат)

Kind: instance method of Pendulum
Returns: number - Значение x

pendulum.calcY() ⇒ number

Вычисляет предварительное значение y (без учёта начальных координат)

Kind: instance method of Pendulum
Returns: number - Значение y

pendulum.getTime() ⇒ number

Возвращает текущее время в секундах

Kind: instance method of Pendulum
Returns: number - Текущее время в секундах

pendulum.drawBob(context)

Рисует груз

Kind: instance method of Pendulum

Param Description
context Контекст 2D рендеринга для элемента canvas

pendulum.drawCord(context)

Рисует шнур/стержень (cord/rod), на котором висит груз

Kind: instance method of Pendulum

Param Description
context Контекст 2D рендеринга для элемента canvas

pendulum.draw(context, interval)

Рисует маятник целиком

Kind: instance method of Pendulum

Param Description
context Контекст 2D рендеринга для элемента canvas
interval Интервал, через который происходит перерисовка canvas

Pendulum.calcAmplitude(angle, length) ⇒ number

Вычисляет амплитуду колебания

Kind: static method of Pendulum
Returns: number - Амплитуда колебания

Param Description
angle Угол начального отклонения (в градусах)
length Длина подвеса

Pendulum.calcPeriod(length) ⇒ number

Вычисляет период колебания

Kind: static method of Pendulum
Returns: number - Период колебания

Param Description
length Длина подвеса