我想在JSXGraph中定义一个可拖动的曲线,类似于这个例子:
http://jsxgraph.uni-bayreuth.de/wiki/index.php/Draggable_exponential_function
然而,不是基于拖动的单个点改变函数的形状,我想拖动整个曲线本身,而不改变形状。事实上,数学属性对于这种情况并不是那么重要 - 如果我不将其定义为函数并不重要,我只想在图上有一条固定的曲线我可以拖。
有谁能举例说明如何做到这一点?
答案 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/