0

ポイントの座標を動的に変更できません。ベクトル計算を作成しようとしていますが、座標点を要素に設定できません。

a = board.create('point', [1, 1], {name: 'A',color:'green',size: .5,withLabel:false}),
board.create('arrow', [[0,0], a], {color:'green'});

b = board.create('point', [-1, 1], {name: 'B',color:'red',size: .5,withLabel:false}),
board.create('arrow', [[0,0], b], {color:'red'});

let xr = a.X() + b.X();
let yr = a.Y() + b.Y();
r = board.create('point', [xr, yr], {name: 'R',color:'black',size: .5,withLabel:false}),
board.create('arrow', [[0,0], r], {color:'black'});

board.on('update', function(){
    let xr = a.X() + b.X();
    let yr = a.Y() + b.Y();
    r.point2.setPosition([xr,yr]);
    board.fullUpdate();
});

setPosition が機能していません。更新イベントが呼び出されるたびに xr と xy の更新された値を設定したい。 ここに画像の説明を入力

4

2 に答える 2

0

あなたの例を実現するための最も「JSXGraphy」な方法は、ポイントの座標をr関数として定義することです。

var a = board.create('point', [1, 1], {
            name: 'A', color:'green', size: .5, withLabel:false
        }),
    b = board.create('point', [-1, 1], {
            name: 'B', color:'red', size: .5, withLabel:false
        }),
    r = board.create('point', [
            function() { return a.X() + b.X(); },
            function() { return a.Y() + b.Y(); }], {
            name: 'R', color:'black', size: .5, withLabel:false
        });

board.create('arrow', [[0,0], a], {color:'green'});
board.create('arrow', [[0,0], b], {color:'red'});
board.create('arrow', [[0,0], r], {color:'black'});
于 2020-04-26T20:06:09.303 に答える