Вычислительная геометрия Javascript

Я думаю о кодировании нескольких примеров для моего класса вычислительной геометрии (2D), я хочу использовать html5 и javascript.

Может ли кто-нибудь порекомендовать библиотеку javascript или у html5 есть все, что мне нужно для начала?

В основном я буду работать с точками и строками, но было бы неплохо иметь что-то, что рисует картезианскую плоскость как ссылку и, возможно, некоторые структуры данных, готовые к использованию.

Ответ 1

JSXGraph

В частности, основное внимание уделяется динамической геометрии и визуализации функций. Поставляется из академических кругов. Авторы - немецкий университет.

Использует SVG (с возвратом к Canvas и VML для IE). Работает на iOS и Android.

API - очень абстрактный SVG API. Он работает на фигурах и группах фигур, тангенсов, гипербол и с.

хорошая документация.

SVG не считается частью HTML5, но стоит посмотреть. Это гибкая, вездесущая и, я думаю, векторная графика - лучший вариант для геометрии, чем растровые изображения (Canvas).

Ответ 2

Я думаю, что либо raphael должен быть полезным:

Raphaël - небольшая библиотека JavaScript, которая должна упростить вашу работу с векторной графикой в ​​Интернете. Например, если вы хотите создать свою собственную графику или изображение и повернуть виджет, вы можете легко и просто достичь этой библиотеки.

http://raphaeljs.com/

или processing.js

Processing.js - это сестра проекта популярного языка визуального программирования Processing, предназначенного для Интернета. Processing.js делает ваши визуализации данных, цифровое искусство, интерактивную анимацию, образовательные графики, видеоигры и т.д. Работать с использованием веб-стандартов и без каких-либо подключаемых модулей.

http://processingjs.org/

Ответ 3

Лучше всего использовать <canvas> и изучить API. Он должен иметь базовые примитивы, которые вам нужны.

Ответ 4

Я могу порекомендовать EaselJS, потому что я использовал его много раз, чтобы быстро создавать динамические чертежи, такие как треугольники, круги, дуги и т.д. Я даже писал простой инструмент для рисования с текстом для студентов, называемый Geodrafter.

Однако, если вы хотите добавить e. г. слайдеры и имеют динамическую среду (например, легко перетаскивая точки), тогда JSXGraph является лучшим выбором, поскольку они обеспечивают множество компонентов для этого. Галерея в их wiki дает несколько хороших идей.

И как сказано выше: JSXGraph основан на векторной графике, которая всегда будет производить точную графику. EaselJS основан на холсте и может привести к размытым линиям.