Редактирование: Суперэллипс и суперпарабола
Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 4: | Строка 4: | ||
Суперэллипс и суперпарабола — кривые, обобщающие понятие эллипса и параболы на произвольную положительную степень. Ниже приведены простейшие интерактивные графики этих кривых ''(перемещение слайдера меняет показатель степени).'' | Суперэллипс и суперпарабола — кривые, обобщающие понятие эллипса и параболы на произвольную положительную степень. Ниже приведены простейшие интерактивные графики этих кривых ''(перемещение слайдера меняет показатель степени).'' | ||
+ | <addscript src=SEP/> | ||
+ | <htmlet nocache="yes">SEP_TM</htmlet> | ||
− | + | Текст программы построения графиков на языке JavaScript: <toggledisplay status=hide showtext="Показать↓" hidetext="Скрыть↑" linkstyle="font-size:default"> | |
− | |||
− | |||
− | |||
Файл '''"SEP.js"''' | Файл '''"SEP.js"''' | ||
− | < | + | <source lang="javascript" first-line="1"> |
// Суперэллипс и суперпарабола | // Суперэллипс и суперпарабола | ||
// Superellipse & superparabola (SEP) | // Superellipse & superparabola (SEP) | ||
Строка 16: | Строка 15: | ||
// 03.05.2014 | // 03.05.2014 | ||
// 15.05.2014 коррекция для совместимости с Google Chrome | // 15.05.2014 коррекция для совместимости с Google Chrome | ||
− | |||
// Интернет: tm.spbstu.ru/SEP | // Интернет: tm.spbstu.ru/SEP | ||
Строка 28: | Строка 26: | ||
var n = 2; | var n = 2; | ||
− | + | const fps = 50; // f rames per second - число кадров в секунду (качество отображения) | |
// Область построения графика | // Область построения графика | ||
− | + | const x_min = -2; | |
− | + | const x_max = -x_min; | |
− | + | const y_min = x_min; | |
− | + | const y_max = -x_min; | |
// Настройка элементов управления | // Настройка элементов управления | ||
Строка 52: | Строка 50: | ||
// Расчет параметров графики | // Расчет параметров графики | ||
− | + | const N = canvas.width; // число точек по оси x | |
− | + | const dx = x_max / N; // шаг по оси x | |
− | + | const sx = canvas.width / (x_max - x_min); // масштаб по оси x | |
− | + | const sy = canvas.height / (y_max - y_min); // масштаб по оси y | |
− | + | const X0 = canvas.width + x_min * sx; // положение 0 оси x в экранных координатах | |
− | + | const Y0 = canvas.height + y_min * sy; // положение 0 оси y в экранных координатах | |
draw(); // Отображение | draw(); // Отображение | ||
Строка 127: | Строка 125: | ||
} | } | ||
} | } | ||
− | </ | + | </source> |
Файл '''"SEP.html"''' | Файл '''"SEP.html"''' | ||
− | < | + | <source lang="html" first-line="1"> |
<!DOCTYPE html> | <!DOCTYPE html> | ||
<html> | <html> | ||
Строка 173: | Строка 171: | ||
</body> | </body> | ||
</html> | </html> | ||
− | </ | + | </source> |
− | </ | + | </toggledisplay> |
− | |||
Строка 194: | Строка 191: | ||
|<math>2</math> || окружность (эллипс) | |<math>2</math> || окружность (эллипс) | ||
|-align="center" | |-align="center" | ||
− | |<math>4</math> || | + | |<math>4</math> || сквиркл ([http://en.wikipedia.org/wiki/Squircle squircle]) |
|-align="center" | |-align="center" | ||
|<math>\infty</math> || квадрат (прямоугольник) | |<math>\infty</math> || квадрат (прямоугольник) | ||
|} | |} | ||
+ | |||
== См. также == | == См. также == |