pendulum-test
Простое веб-приложение, симулирующее поведение математического маятника с помощью HTML5 Canvas.
Как запустить
- Склонировать этот репозиторий или скачать и распаковать архив с исходным кодом.
- Открыть
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, если они заполнены неправильно
boolean
application.validateData() ⇒ Выводит 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
- Pendulum
- new Pendulum(supportX0, supportY0, radius, angle, length, deceleration)
- instance
- .calcX() ⇒
number
- .calcY() ⇒
number
- .getTime() ⇒
number
- .drawBob(context)
- .drawCord(context)
- .draw(context, interval)
- .calcX() ⇒
- static
- .calcAmplitude(angle, length) ⇒
number
- .calcPeriod(length) ⇒
number
- .calcAmplitude(angle, length) ⇒
new Pendulum(supportX0, supportY0, radius, angle, length, deceleration)
Создаёт маятник
Param | Description |
---|---|
supportX0 | Координата точки крепления маятника по оси X |
supportY0 | Координата точки крепления маятника по оси Y |
radius | Радиус груза (так как он имеет форму шара) |
angle | Угол начального отклонения маятника (в градусах) |
length | Длина подвеса |
deceleration | Коэффицент затухания |
number
pendulum.calcX() ⇒ Вычисляет предварительное значение x (без учёта начальных координат)
Kind: instance method of Pendulum
Returns: number
- Значение x
number
pendulum.calcY() ⇒ Вычисляет предварительное значение y (без учёта начальных координат)
Kind: instance method of Pendulum
Returns: number
- Значение y
number
pendulum.getTime() ⇒ Возвращает текущее время в секундах
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 |
number
Pendulum.calcAmplitude(angle, length) ⇒ Вычисляет амплитуду колебания
Kind: static method of Pendulum
Returns: number
- Амплитуда колебания
Param | Description |
---|---|
angle | Угол начального отклонения (в градусах) |
length | Длина подвеса |
number
Pendulum.calcPeriod(length) ⇒ Вычисляет период колебания
Kind: static method of Pendulum
Returns: number
- Период колебания
Param | Description |
---|---|
length | Длина подвеса |