0

与えられた 2 点間に円弧を描く必要があります。円弧の半径もあります。これは標準 API を使用して実行できることは理解していcanvasますが、楕円弧の場合も処理する必要があります。このコードは一般化されたソリューションです。今の唯一の問題は、それが機能しないことです!

このコードの背後にある数学的概念はhttps://math.stackexchange.com/questions/53093/how-to-find-the-center-of-an-ellipseにあります。

私のJSコードはその実装です。私の JS コードはhttp://jsfiddle.net/BkEnz/2/にあります。理想的には、そこにある両方の円が 2 つの小さなピンク色の点を通過する必要があります。

誰かが私を正しい方向に向けてくれることを願っています。私は過去数日間、これを解決しようとしています!

4

1 に答える 1

0

この問題を修正しました。修正された作業コードはhttp://jsfiddle.net/ZxRBTにあります。

行に注意してください

var t = translate(-R1R2x, -R1R2y, IDENTITY_TRANSFORM());

以前のバージョンのコードでは、この行は

var t = translate(-R1R2x, -R1R2y, sr);

したがって、次のコードを使用してC1との値を計算していたときC2

C1 = compose(vut, [[R1x],[R1y],[1]]);
C2 = compose(vut, [[R2x],[R2y],[1]]);

とにもsr構図を適用していましたが、これらの点はすでに調整されていました。R1x,R1yR2x,R2ysr

これは、私が本当に長い間見落としていた重大な間違いでした。

于 2011-09-23T07:11:41.497 に答える