JSXGraph 从中心点拖动整个圆
JSXGraph drag entire circle from center point
我是 JSXGraph 的新手。我正在尝试使用两个点构造一个圆,其中 A 是中心点,B 位于圆本身上。我需要的是让 B 调整圆的大小(没问题,它会这样做)但是当拖动 A 时它可以移动整个圆而不调整它的大小。
他们在下面的 link 中给出的例子中 A 和 B 都调整了圆的大小:http://jsxgraph.uni-bayreuth.de/wiki/index.php/Circle
谁能指出我正确的方向?
谢谢。
这确实是一个棘手的问题。解决方案是使用组。像这样将两个(免费)点打包成一组:
var board, A, B, circ, grp;
board = JXG.JSXGraph.initBoard('box6',
{boundingbox:[-5,5,5,-5], keepaspectratio:true});
A = board.create('point',[-1, -1], {size: 5, name: 'A', color: 'blue'});
B = board.create('point',[2, -1], {size: 5, name: 'B', color: 'red'});
circ = board.create('circle', [A, B]);
grp = board.create('group', [A, B]);
grp.removeTranslationPoint(B);
在这种情况下,拖动两个点会移动圆,同时保持半径不变。
此外,如果您想通过在中心拖动来移动圆,但允许通过拖动 B 来调整圆的大小,则必须从组中的平移点列表中删除点 B:
var board, A, B, circ, grp;
board = JXG.JSXGraph.initBoard('box6',
{boundingbox:[-5,5,5,-5], keepaspectratio:true});
A = board.create('point',[-1, -1], {size: 5, name: 'A', color: 'blue'});
B = board.create('point',[2, -1], {size: 5, name: 'B', color: 'red'});
circ = board.create('circle', [A, B]);
grp = board.create('group', [A, B]);
grp.removeTranslationPoint(B);
我是 JSXGraph 的新手。我正在尝试使用两个点构造一个圆,其中 A 是中心点,B 位于圆本身上。我需要的是让 B 调整圆的大小(没问题,它会这样做)但是当拖动 A 时它可以移动整个圆而不调整它的大小。
他们在下面的 link 中给出的例子中 A 和 B 都调整了圆的大小:http://jsxgraph.uni-bayreuth.de/wiki/index.php/Circle
谁能指出我正确的方向?
谢谢。
这确实是一个棘手的问题。解决方案是使用组。像这样将两个(免费)点打包成一组:
var board, A, B, circ, grp;
board = JXG.JSXGraph.initBoard('box6',
{boundingbox:[-5,5,5,-5], keepaspectratio:true});
A = board.create('point',[-1, -1], {size: 5, name: 'A', color: 'blue'});
B = board.create('point',[2, -1], {size: 5, name: 'B', color: 'red'});
circ = board.create('circle', [A, B]);
grp = board.create('group', [A, B]);
grp.removeTranslationPoint(B);
在这种情况下,拖动两个点会移动圆,同时保持半径不变。
此外,如果您想通过在中心拖动来移动圆,但允许通过拖动 B 来调整圆的大小,则必须从组中的平移点列表中删除点 B:
var board, A, B, circ, grp;
board = JXG.JSXGraph.initBoard('box6',
{boundingbox:[-5,5,5,-5], keepaspectratio:true});
A = board.create('point',[-1, -1], {size: 5, name: 'A', color: 'blue'});
B = board.create('point',[2, -1], {size: 5, name: 'B', color: 'red'});
circ = board.create('circle', [A, B]);
grp = board.create('group', [A, B]);
grp.removeTranslationPoint(B);