2015年6月27日土曜日

CAD遊び:平行四辺形に内接する楕円? (PART-II)

今回もまたイミフなタイトルですみません。

前回、平行四辺形の各辺の中点に内接するような楕円の一般形を求めました。今回は、中点に限らない場合について計算してみました。ハッキリ言って、悪乗りバージョン実用性ほぼゼロです(笑)。ナンのコッチャ分からんという方は、前回のレポートをご覧下さい。読まずに他所へ行くというのが正解かも(笑)。

さて、今回もCADと幾何学(高校数学)のお時間です。苦手な方はここでお引き取り下さい(笑)。

前回、x=±pとy=kx±qで作られる平行四辺形に内接する楕円の接点を、平行四辺形の各辺の中点としました。今回はこれを動かしてみます。
  • 上側の接点座標:(αp, kαp+q)
  • 下側の接点座標:(-αp, -kαp-q)
  • 右側の接点座標:(p, kp+βq)
  • 左側の接点座標:(-p, -kp-βq)
とします(-1<α<1, -1<β<1;前回はこのうちα=β=0のバージョンだったと言えます)。

図1:平行四辺形と内接楕円の各パラメタ定義

このようなp・q・k・α・βとその拘束条件、及び内接楕円の軸長a・b及び傾斜θを求めます。前回の経験があるので、ソレナリに見通し良く計算出来ますが、マトモに計算すると、やっぱりA4レポート用紙10~20ページ位になります(笑)。まぁそこはバッサリカットします。

で、結果。
  • β=α (αとβは独立には動けない)
  • θ=1/2×atan(2(k+α×q/p)/(1-k^2-(q/p)^2-2kα×q/p))
  • a=sqrt[{(k×sinθ+cosθ)^2×p^2-(sinθ)^2×q^2}/{2k×sinθcosθ+(cosθ)^2-(sinθ)^2}]
  • b=sqrt[{-(k×cosθ-sinθ)^2×p^2+(cosθ)^2×q^2}/{2k×sinθcosθ+(cosθ)^2-(sinθ)^2}]
図2: 計算&確認用MS-Excelシート (1)

入力パラメタ(黄色いセルの入力内容)に合わせて、右の絵がピコピコ動きます。

この結果も、前回同様、自由に使って頂いて構いません。が、今回も御利用の結果については無保証です(笑)。

図3: 計算&確認用MS-Excelシート (2)
「回転前の楕円」が縦長、回転角マイナスになってしまった!

※atan (正接tan()の逆関数)の値域(-π/2~+π/2)という都合上、上の計算式では-45°≦θ≦45°の範囲内で出力されます。

まぁθがマイナス(負の値)だろうと何だろうと、傾斜した楕円を描く際にちゃんと2D CADにパラメタ入力が出来れば良いのですよ。

・  ・  ・  ・  ・

…だからぁ、もっと普通の内容でブログ更新しなさいってば! >ワタシ (笑)

0 件のコメント:

コメントを投稿