1

2つのラジアンの中間を見つける関数があります

function mrad(rb,ra){return (rb+ra)/2;}

しかし、Math.sin と Math.cos の 2 つの指定された長さで x と y をプロットすると、意図したものとは正反対の位置に新しい座標が出てくることがあります。

例えば; 新しいポイントが下と右にあると予想すると、上と左に出てくることがあります。これとは別に座標は正しいです!

新しい x と y をプロットする方法は次のとおりです

xnew=xold-(100)*Math.cos(radian);
xnew=yold+(100)*Math.sin(radian);

ラジアン B (rb) が ra よりも大きい場合、問題になる可能性があると推測しています。この場合、私は完全に一周していると思いますが、代わりに次のようなことをする必要がある場合があります

 function mrad(rb,ra){return (rb-ra)/2;}

私の質問は

  1. 私の仮定は正しいですか?

  2. 条件は何でしょうか、rb-rarb+raをいつ実行するかをどのように判断するか、またはより適切に言えば、一方のラジアンが他方の上を指しているか下を指しているかをどのように判断しますか?

このように見えるはずです

function mrad(rb,ra){return ((/*condition*/)?(rb-ra):(rb-ra))/2;}

編集

範囲を見つけるために、ラジアンで範囲を見つけるためにさまざまな値を表現しようとしましたが、対角線以上のものを見つけることができません

http://jsfiddle.net/roLLqfs6/

また、定義された長さは、例に書かれているように常に100ではありません

4

1 に答える 1