jsxgraph:如何更新一条线的点?
jsxgraph: How do I update a line's points?
假设我创建了一行:
var line = board.create('line', [2, 2], [3, 3], { ... });
Line.point1 的文档说明:
You really should not set this field directly as it may break JSXGraph's udpate system so your construction won't be updated properly.
在 jsxgraph 中更新我传递给构造函数的这些点坐标的推荐方法是什么?
更新:
我刚试过:
line.point1.moveTo(4, 4);
line.point2.moveTo(5, 5);
但这似乎把事情搞砸了,也就是说,在我这样做之后,线是不可拖动的。
根据the documentation moveTo
取一个坐标移动到的数组:
line.point1.moveTo([4, 4]);
line.point2.moveTo([5, 5]);
它还需要一个时间作为动画持续时间的第二个参数(以毫秒为单位)。当您正在寻找即时移动时(当省略毫秒或 0 时会发生同样的事情),您可以改用 setPosition
。
另一种选择是setPositionDirectly method. I believe it is faster than moveTo。如果您不需要为运动设置动画,这可能是更好的选择。之后确实需要更新调用。
line.point1.setPositionDirectly(JXG.COORDS_BY_USER,[4,4]);
line.point2.setPositionDirectly(JXG.COORDS_BY_USER,[5,5]);
board.update();
假设我创建了一行:
var line = board.create('line', [2, 2], [3, 3], { ... });
Line.point1 的文档说明:
You really should not set this field directly as it may break JSXGraph's udpate system so your construction won't be updated properly.
在 jsxgraph 中更新我传递给构造函数的这些点坐标的推荐方法是什么?
更新: 我刚试过:
line.point1.moveTo(4, 4);
line.point2.moveTo(5, 5);
但这似乎把事情搞砸了,也就是说,在我这样做之后,线是不可拖动的。
根据the documentation moveTo
取一个坐标移动到的数组:
line.point1.moveTo([4, 4]);
line.point2.moveTo([5, 5]);
它还需要一个时间作为动画持续时间的第二个参数(以毫秒为单位)。当您正在寻找即时移动时(当省略毫秒或 0 时会发生同样的事情),您可以改用 setPosition
。
另一种选择是setPositionDirectly method. I believe it is faster than moveTo。如果您不需要为运动设置动画,这可能是更好的选择。之后确实需要更新调用。
line.point1.setPositionDirectly(JXG.COORDS_BY_USER,[4,4]);
line.point2.setPositionDirectly(JXG.COORDS_BY_USER,[5,5]);
board.update();