Сделать элемент планера перетаскиваемым в JSXGraph - PullRequest
0 голосов
/ 21 апреля 2020

Я хочу разрешить перетаскиванию элемента-планера, который первоначально перемещается вдоль линии A, на другую линию B. После перетаскивания элемента-планера на новую линию он должен функционировать как планер на новой линии.

Какой лучший способ реализовать эту функцию?

Спасибо

1 Ответ

1 голос
/ 22 апреля 2020

Это может быть реализовано с намагниченными точками . Точка JSXGraph может получить атрибут массива attractors. Это делает точку планером, если она достаточно близка к одному из элементов аттрактора. «Достаточно близко» определяется атрибутом attractorDistance. Точку можно снова сделать «свободной», перетащив ее из объекта. Количество перетаскивания определяется атрибутом snatchDistance. Вот пример с snatchDistance, который делает невозможным перетаскивание точки за пределы линий:

var line1 = board.create('line', [[-4,4], [4,1]]);
var line2 = board.create('line', [[-4,1], [4,2]]);
var p = board.create('point', [4,1], {
    attractors: [line1, line2], 
    attractorDistance: 0.5, 
    snatchDistance: 1000
});

Смотрите его вживую на https://jsfiddle.net/dcf2o85j/2/. Другой пример: https://jsxgraph.org/wiki/index.php/Magnetized_points.

...