JSXGraph中的可拖动曲线

时间:2018-01-26 20:36:18

标签: javascript jsxgraph

我想在JSXGraph中定义一个可拖动的曲线,类似于这个例子:

http://jsxgraph.uni-bayreuth.de/wiki/index.php/Draggable_exponential_function

然而,不是基于拖动的单个点改变函数的形状,我想拖动整个曲线本身,而不改变形状。事实上,数学属性对于这种情况并不是那么重要 - 如果我不将其定义为函数并不重要,我只想在图上有一条固定的曲线我可以拖。

有谁能举例说明如何做到这一点?

2 个答案:

答案 0 :(得分:2)

通过设置属性VAR := val可以使曲线可拖动。这是一个例子:

VAR = val

祝福, 阿尔弗雷德

答案 1 :(得分:1)

第一个想法是设置draggable:true,但这不起作用。

第二个想法是对图表的点进行分组,然后拖动该组,但是,图表没有我们可以使用的vertices。你可以通过console.log(graph.points[0]);看到它,它显示了t.Coords而不是所需的Point对象。

第三个想法是在拖动可见点A时设置图形的位置,但它不起作用:https://jsfiddle.net/3u9rk8nj/3/可能是因为在拖动过程中图形会更新。

第四个想法是更改拖动图形功能以匹配鼠标坐标。这有效:

var board = JXG.JSXGraph.initBoard('box1', {boundingbox: [-5, 20, 5, -2], axis:true});

var point_a = board.create('point', [0, 0] );
var graph = board.create('functiongraph', [
     function(x) {
        // adapt function outcome to match point dragging
        return Math.exp(x-point_a.X()) + point_a.Y();
     }]);

JSFiddle:https://jsfiddle.net/3u9rk8nj/4/