• ベストアンサー

回転操作と伸縮操作2

ある楕円があり、以下の操作は楕円の中心をずらさないように行うものとします。 1をα度反時計回りに回す 1'をβ度反時計回りに回す 2を 縦x倍 横y倍 に拡大 2'を 縦x'倍 横y'倍に拡大 3をγ度半時計回りに回す 4を 縦X倍 横Y倍に拡大 として、 1→2→1'→2' と楕円を操作していったときに、これと等価な 3→4 という操作を実現するためには、γ、X、Yはどう表せばいいですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.3

一次変換では、 αの回転は (+cosα -sinα) (+sinα +cosα) x方向をa倍、y方向をb倍にするのは (a 0) (0 b) という行列になります。(カッコの縦並びで、行列だと読んでください) だから1→2→1'→2'の変換は、 (c 0)(+cosβ -sinβ)(a 0)(+cosα -sinα) (0 d)(+sinβ +cosβ)(0 b)(+sinα +cosα) です。(書きやすさのため、「x倍、y倍」「x'倍、y'倍」をa~d倍で表している) 途中計算は略しますが、点(x, y)をこの行列で変換した場合、得られる(x' y')は、 x' = c(+a*cosαcosβ - b*sinαsinβ)x + c(-a*sinαcosβ - b*cosαsinβ)y y' = d(+a*cosαsinβ + b*sinαcosβ)x + d(-a*sinαsinβ + b*cosαcosβ)y となります。(自信はないので検算してください) 積和の公式を使って変形もできますが、そうしてもあまり整理できそうにありません。 また、この変換によって、一般楕円の方程式がどう変換できるかは、 私にはわかりません。(能力を超えています)

arcsin
質問者

お礼

なるほど、ありがとうございます。 こういう場面でも線形代数が活躍するのですね^^; 復習しなおさなければ・・・ またよろしくお願いしますm(_ _)m

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.2

残念ですが、一般的には「できない」です。 (否定してばっかりで悪いけど) たとえば、もとの図形を円として、 1を 0度 反時計回りに回す(無変換) 1'を 45度 反時計回りに回す 2を 縦1倍 横10倍 に拡大 2'を 縦1倍 横1倍 に拡大(無変換) とします。 1→2→1'→2' とすると、斜め方向に伸びた楕円が得られます。 ここで3→4で同様の操作ができるか考えます。 まず3によっては、もとが円なので変化は起きません。 4でできるのは、縦か横に引き延ばすことなので、 斜め方向に引き延ばすことはできません。 変換2つだけでは希望する操作はできないということです。 では4→3ならどうかと言うと、 今度は斜めに伸びた楕円を円に変換することはできません。 この問題は1次変換そのものなので、 行列を使えば、1→2→1'→2'でも何でも、一回で可能なのですが…

arcsin
質問者

お礼

ありがとうございます。 やはり簡単にはいかないんですね^^; 行列を使うとどうなるのでしょう・・ もしよければ教えてください。

全文を見る
すると、全ての回答が全文表示されます。
  • hinebot
  • ベストアンサー率37% (1123/2963)
回答No.1

回転自体は、楕円の大きさに関係なく、回す方向もすべて反時計回りで同じなので、 γ=α+β でいいと思います。 伸縮は縦横それぞれの方向に対しての積になる、つまり X=xx’、Y=yy’ ではないでしょうか。

arcsin
質問者

お礼

ありがとうございます。 #2さんのご回答を拝見し、自分でもためしたところ変換はできないことがわかりました^^; でもまたよろしくお願いします

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 回転操作と、伸縮操作は順不同かどうか

    回転も伸縮も中心を基準に操作するものとします。 ある楕円があったとして、この楕円に対して以下の2つの操作を行います。 1.この中心を軸としてある角度に回転させる操作 2.中心を変えずに、縦横拡大縮小する操作(倍率は縦と横違ってもかまいません) この2つをたとえば、 1→2→1'→2' と繰り返したとします。 (1'は1とは同じもしくは違う角度での操作。2'についても同様) これは 1→1'→2→2' としても最後に出来上がる図形は同じものになりますか?

  • 円と二次曲線と、楕円

    次の方程式の表す図形を描け。 4x^2+9y^2-8x+54y+49=0 教えてください!この問題の回答は 4(x-1)^2+9(y+3)^2=36 よって、だ円4x^2+9y^2=36をx軸、y軸の方向にそれぞれ1、-3だけ移動したものである。。。 っと書かれていて、二つの図が書いてありました! 二つともx軸の方向に横に伸びた、だ円でした。 <教科書では> 中心が0でー3から3までがx軸の範囲で y軸は2と-2が4x^2+9y^2=36の図です。 つまり横が半径±3、縦が±2のだ円でした。 <4x^2+9y^2-8x+54y+49=0の図> これは式を整理すると、確かに 4(x-1)^2+9(y+3)^2=36 になるのですけど、 教科書に書かれてる図をみると、x軸の方向に長いだ円で、中心が(1、-3)で、 半径が横が±3で、縦が±2と 4x^2+9y^2=36の式と同じでした。 そして教科書の説明どおりに、1、-3だけ移動しただけの事にはなってるのですけど、 私がわからないのは、どうして半径が横は3で縦が2なのか不明です!! だって4(x-1)^2+9(y+3)^2=36の 式を見ても、これって半径は6の円じゃないのですか?? スゴクナゾです!!

  • 一次関数の回転移動について

    y=-3xを原点を中心に時計回りに90度回転させるとy=1/3xですよね。これは傾きをかけると-1になることを利用してすぐに解けるのですが、y=-3xを原点を中心に時計回りに45度回転させた直線の式は、どのように求めればいいのでしょうか? 教えて下さい!

  • 楕円の変形

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

  • 回転移動した楕円

    長軸と短軸の長さが分かっている原点中心の楕円ですが、 原点を中心としてα[°]だけ回転移動した楕円の x切片およびy切片は求めることは可能でしょうか? それとも、楕円関数などの難しい計算になるのでしょうか? ご回答よろしくお願いします。

  • 楕円に内接する長方形の問題で・・・

    x^2/a^2 + y^2/b^2 = 1 の楕円に内接する長方形で、 面積が最大のものの辺の長さを求めよ。 という問題で、 (1)単位円に内接する長方形で面積が最大のものを求める。→正方形 (2)この楕円は単位円をx軸方向、y軸方向にそれぞれa倍、b倍に拡大したものだから この楕円に内接する面積が最大の長方形は(2)で求めた正方形を x軸方向、y軸方向にそれぞれa倍、b倍に拡大したものである・・・ という解き方は、解答として×でしょうか?

  • 続、VB 座標軸の回転?

    昨日 http://okwave.jp/qa/q7871613.html で質問したものです。 プログラムを作っていて上手に動かないので再度質問です。 xx = x0 - cx yy = y0 - cy x= xx * cosA - yy * sinA + cx y= xx * sinA + yy * cosA + cy x0 = x y0 = y xx:Xの中心からの相対座標 yy:Yの中心からの相対座標 x0:Xの現在地 y0:Yの現在地 cx:三角形の中心X cy:三角形の中心Y x:座標変換後のX y:座標変換後のY A:角度 このようにプログラムしたのですが、回転をさせると渦巻き状に広がってしまいます。 以下のようにプログラミングしたつもりなのですが、うまくいきません。 悪そうな部分を教えてくれるとありがたいです。 >> リーダーの座標を実座標を差し引いて原点(0,0)とし、メンバーの座標をリーダーからの相対座標(x1,y1)(x2,y2)・・・・とします 例えばメンバー(x1,y1)をリーダー中心に半時計周りへ10度回転させた場合の、移動先の座標を(xx1,yy1)とすると・・・ θ=10度(VBではラジアン単位へ変換してください) xx1=x1 * cosθ - y1 * sinθ yy1=x1 * sinθ + y1 * cosθ これで回転して移動した先xx1、yy1が求まります。 最初に差し引いた実座標を足して戻して完成です。

  • 座標軸の回転と楕円の方程式

    原点Oを中心に回転した座標系で、元の座標系で楕円の方程式を表す方程式は、どう変わるかがわからないので質問します。 問題は、Oxy軸をOのまわりに120°回転して、Ox'y'軸が得られたとする。このときOxy系で楕円x^2/9+y^2/4=1を表す方程式は、Ox'y'系でどのような方程式になるか?です。 以下では、{}で行列を表し、(,,・・・)で一行分の要素を列挙し,左の()から1行、2行・・・とします。例えば、{(cos120°,-sin120°),(sin120°,cos120°)}の2行1列目の要素は、sin120°です。 自分は、{(x),(y)}={(cos120°,-sin120°),(sin120°,cos120°)}*{(x'),(y')}より、x=-1/2x'-√3/2y'とy=√3/2x'-1/2y'を得て、x^2/9+y^2/4=1に代入しました。そうして31x'^2-10√3x'y'+21y'^2=144を答えとしたのですが、 本の解答は、31x'^2-10√3x'y'-21y'^2=144でした。どなたか正しい答えを教えていただけませんかお願いします。

  • 回転する楕円の問題

    (x^2/a^2)+(y^2/b^2)=1 (a, bは実数) で表される楕円を,原点Oを中心としてxy平面内で回転させる. 今,各辺がx 軸または y 軸に平行,かつ,この楕円に外接する長方形を考える.このとき, 長方形の面積Sの最大値と最小値を求めよ 問題です。 私の考えとしては、 まず (X) =(cosθ sinθ) (x) (Y) (-sinθ cosθ)(y) でx,yをX,Yで置き換え、回転する楕円の式に変える。 次に、式をXで微分して、dX/dYをだして、接線の方程式を求める。 最後に、x=0の接線とy=0の接線の積*4は長方形の面積Sでこれを微分するなり、 変形するなり、最大値と最小値を求める。 こういうふうにやってみましたが、式が複雑でかなりの時間をかかりました。 この問題の制限時間は10分なので、自分のやり方が間違っているか、もっと 簡単な方法があると思います。 ですので、どなた分かる方、ご教授お願いします。

  • 三角関数のグラフの書き方

    y=2(cosx/3)なら、y=cosxに書いたグラフに打った点xとyを数だけ書き直すって言うのはダメなんですかね? >それとも、y=cosxのグラフを微妙に横にスライドさせて、縦に2倍伸ばしたものをy=2(cosx/3)周期6πのグラフとしていいんですか? あと教科書だと、xが(-3π/2、3π/2、3π、9π/2)に打ってあるんですよね。-3π/2を打たないで、6πに打ったらいけないの?と思うんですよ。 普通のx(π/2、π、3π/2、2π)をそれぞれ3倍したわけですから。 縦は2倍にすればいいんですよね