• 締切済み

楕円の変形

先の QNo.752549 「回転操作と伸縮操作2」 で少し触れられていますが、この関係に類する件です。  長径a、短径b、傾きθ(度:長径の軸線)を持った楕円があります。  この楕円を、楕円中心を基点に、X方向でx倍、Y方向でy倍したときの長径、短径、傾きの値を導く  計算式はどのようになるのでしょうか?。

みんなの回答

  • acacia7
  • ベストアンサー率26% (381/1447)
回答No.5

あんまり深く考えず、 三平方の定理に従い、 長さの二乗はx^2+y^2ですから、 二乗和をガンマで微分。 その値が0になるときが極値ですから、 短径のγか長径のγかどちらかです。

kitanotaki
質問者

お礼

acacia7 様  ご返事が遅れまして、申し訳ありませんでした。  解決できました。

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.4

No.1です。 嘘書いてました。 短径、長径、傾きは元の楕円と一致しませんが、引き伸ばした図形も楕円っぽいです。 (お絵かきツールでぐにぐにして確認しただけですが…。)

kitanotaki
質問者

お礼

neKo_deux 様  ありがとうございます。

  • acacia7
  • ベストアンサー率26% (381/1447)
回答No.3

(a b/c d)は2*2の行列とします。 長径がa,短径がb,傾きθというだ円は 単位円に A=(a 0/0 b)*(cosθ sinθ/-sinθ cosθ) という一次変換を掛けたものです。 後段の変換は B=(x 0/0 y) という一時変換ですから, 出来上がった図形は 単位円にA*B=(a 0/0 b)*(cosθ sinθ/-sinθ cosθ)*(x 0/0 y) という1次変換をしたものです。 単位円を1次変換したものは基本的にだ円です。 求めるべき図形上の点はベクトル(α,β)= (cosγ,sinγ)*(a 0/0 b)*(cosθ sinθ/-sinθ cosθ)*(x 0/0 y)で表せ, このベクトルの大きさが最長になるγをを求めます。

kitanotaki
質問者

お礼

acacia7 様  お答えありがとうございます。  私も、(a 0/0 b)*(cosθ sinθ/-sinθ cosθ)*(x 0/0 y)  ここまでの計算式には、たどり着いたのですがその先が  わかりませんでした。お教示いただいています「最長になるγ」  を求めるには、どのようにするかで固まってしまいました。  出来ましたら、捕捉していただけないでしょうか。宜しく  お願いいたします。

  • ranx
  • ベストアンサー率24% (357/1463)
回答No.2

> X方向でx倍、Y方向でy倍したときの これはアフィン変換の一種です。 楕円にアフィン変換を行った結果はやはり楕円です。(円を含む。) 各変換を丹念に計算すれば、 Ax^2+Hhy+Bx^2=C という形の式になるはずです。 一方、楕円を回転させた式も上記の形式になります。 係数を比較すれば各値は求められるはずです。 なるはずというだけで、私は計算していないので、自信なしです。 ご自身で計算してみて下さい。

kitanotaki
質問者

お礼

ranx 様  お答えありがとうございます。  検証してみます。

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

> X方向でx倍、Y方向でy倍したときの この操作により、元の楕円の長径、短径が直交しなくなります。この時点で図形は楕円でなくなりますから、傾きは定義できなくなってしまうように思います。 長径、短径それぞれの端点の位置や、外接する長方形を考えると分かりやすいかも。

kitanotaki
質問者

お礼

neKo_deux 様  お答えありがとうございます。  しかし、楕円をX方向でx倍、Y方向でy倍しても、  楕円のままではないかと思いますが。

関連するQ&A