html5とcanvas/KineticJSを使用して小さなアプリケーションを開発しようとしています。カスタムの角度度を設定するだけで、2Dポイントから無限遠までの多数の光線をトレースしたいと思います。たとえば、90°に設定した場合、アプリは4つの光線をレンダリングする必要があります(2つの直線、1つは垂直、もう1つは水平で2Dポイントで交わります)。60°に設定すると、アスタリスクのように3本の直線が表示されます*
質問する
135 次
1 に答える
1
描画する必要がある最長の線は、キャンバスの対角線のサイズです。
var r = Math.sqrt(Math.pow(canvas.width, 2) + Math.pow(canvas.height, 2));
sin
およびを使用しcos
て、その半径での各エンドポイントを計算します。
var theta = delta * Math.PI / 180.0;
var dx = r * Math.cos(n * theta);
var dy = r * Math.sin(n * theta);
次に、(x、y)から(x + dx、y + dy)に線を引きます。シンプル。
于 2012-11-27T19:17:50.750 に答える