• ベストアンサー

座標系の偏倍なんて嫌いだあ(T-T)

guiterの回答

  • guiter
  • ベストアンサー率51% (86/168)
回答No.5

>やぱり長方形じゃなくて平行四辺形になってしまいました。 困りましたね。 こちらでは適当な n の値を代入して表示させると 長方形になっているようなのですが。 大丈夫だと思いますが誤解があるといけないので書いておきます。 下の回答での行列は n 回変換後の結果を出すだけですのでこの行列を何回も 掛けていくというものではありません。 1回ごとの結果を表示させるには n の値を1ずつふやして代入し そのたびに表示させていくことになります。 (このあたりが望みのものとは違うかもしれません) まだ、謎が解けていない状態ではあまり意味がないかもしれませんが 任意の倍率、回転の場合は次のようです。 k回目の操作である辺をAk倍、もう一つの辺をBk倍、回転角θkのとき n回操作後の結果を求める行列は   ┌ ΠAk*cos(Σθk) -ΠBk*sin(Σθk) ┐ A=│                    │   └ ΠAk*sin(Σθk) ΠBk*cos(Σθk)  ┘ のようになります。 ただし、ΠAk=A1*A2*…*An、Σθk=θ1+θ2+…+θnです。

kodemariman
質問者

お礼

どうも、kodemarimanです。 謎は解けました。ちょっと正負の符号を間違えてました。(^^; じっちゃんの名にかけられるほどの謎じゃなかったです。(苦笑) で、私の目的の方ですが、教えていただいた行列式を元に、 こういう考えで解決しました。    ┌ 1.2*cos(nπ/6) -1.5*sin(nπ/6) ┐ An=│                    │    └ 1.2*sin(nπ/6)  1.5*cos(nπ/6) ┘ で、座標系の回転と拡大を行ったあと、再び回転をかけるまえに    ┌ 1/1.5 0 ┐ Bn=│         │    └ 0  1/1.2 ┘ をかけて、拡大率を1に戻します。(かなり力技ですが。(^^;) それからまた回転、拡大を書けるという処理を続けます。 これを繰り返す事で、目的は達成する事ができました。 どうもありがとうございました。

関連するQ&A

  • 座標系 三角関数 回転行列

    座標系 三角関数 回転行列 単位円において、θの正方向は反時計回りですがこれって右手系の座標系を採用しているからですか? x,y,zの3軸を考えると以下になってしまって混乱しています。 1.(Z軸が奥向きの場合) Y ↑ | |  --→X この座標系では、時計回りがθの正の方向ですよね? 2.(Z軸が手前向ききの場合)    Y    ↑    |    | X←-- この座標系では、反時計回りがθの正の方向ですよね? 参考書などに書かれている単位円はθの正方向は反時計回りだと認識しているのですが、その場合、2の座標系なんでしょうか? 私は、1の座標系で反時計回りを正にしているように思いました・・・ 回転行列を作ろうと思って考えた結果、自分でも混乱しています。。。 申し訳ないのですが、ご回答よろしくお願い致します。

  • エクセルを用いた3次元座標変換

    3次元座標空間において、座標軸を回転・平行移動させて3つの座標点のz座標をすべて0にする方法を教えていただけないでしょうか。 例:(x1,y1,z1), (x2,y2,z2), (x3,y3,z3) →(回転・平行移動)→ (x1',y1',0), (x2', y2', 0), (x3', y3', 0)  また、この3つの座標点以外の座標点についても、 これと同じ回転・平行移動を一括して行う方法があれば教えてください。 よろしくお願いします。

  • 座標の回転

    x,y座標で表されるある点を反時計回りにα°回転したX、Y座標に変換しました。 かつてこのサイトで教えていただいたとおり (x、y)=(rcosθ,rsinθ)とおき,αだけ回転した座標なので (X,Y)=(rcos(θ+α),rsin(θ+α)) 加法定理を使って X=xcosα-ysinα Y=xsinα+ycosα と計算しました。 ところが,ある本に同様の計算がついていたのですが, X=xcosα+ysinα Y=-xsinα+ycosα となっており正負が異なります。(私と同じように反時計回りの回転)  私の計算が違っているのでしょうか。それとも何かの仮定が異なっているのでしょうか。 (ちなみにある本は作図により上記の結果を求めています。)  分かりにくいかもしれませんが,適切な指摘をお願いいたします。

  • ワールド座標系で回転

    こんにちは。3Dプログラムの仕事の指示を受けました。 3Dプログラムは無知でして見よう見まねで行っています。 現在回転行列について困っています。 正方形のモデルをY軸に45度、X軸に45度回転させようとしています。 現在はモデルのローカル座標系で回転するのでY軸の回転でローカル座標系が変わった後にX軸で回転します。これを相対変換と言えばよろしいのでしょうか。 WorldMatrix = RotationX(AngleX) ; WorldMatrix *= RotationY(AngleY) ; WorldMatrix *= RotationZ(AngleZ) ; 上記の回転ではなく、ワールド座標系で回転させたいのですが、このときの回転行列はどのようにして求めればよろしいのでしょうか? Y軸に45度回転させても座標系はそのまま。そしてX軸で45度させるためにはどのようにすればよろしいのでしょうか? わかりづらいですが添付した図のようになればと思っています。

  • エクセルで回転する座標の出し方

    エクセルで回転する座標の出し方 (例) 座標X100、Y100の点から好きな角度を回したときのX、Yの座標の求め方 回転中心はX0、Y0 回転方向は反時計回り 例で言えば X141.421、Y0  が0度       X0、Y141.421  が90度       X-141.421、Y0 が180度       X0、Y-141.421 が270度 エクセルでの問題点は 1.角度計算がラジアンになる デグリも関数はあるけど書式がわからない  無理やり(PI()/180)などを使ってるがアークタンジェントでは書式がわからない 2.正と負の計算式・答えが負になるときの処理ができない  回転角度が270度とか 今電卓で打っているのは 100/100=ATAN ----------------------最初の角度 100*100+100*100の答えのルート--------回転中心からの直線距離 最初の角度+動かしたい角度------------求めたい座標の角度 SIN求めたい座標の角度*直線距離-------Y座標 答え COS求めたい座標の角度*直線距離-------X座標 答え 最初のX、Y座標と 動かしたい角度を入れると答えが出るような 物が作りたいです よろしくお願いします エクセル2000 WINXP

  • 座標変換

    座標変換についてわからないことがあります. 同じ座標系内で回転移動や,平行移動などはわかるのですが,別の座標系へ変換するにはどのようにすればよいのでしょうか? ある座標系oでz(r,θ)と表される極座標は,別の座標系o'ではどのように表されるのでしょうか? 変換方法を教えてください. よろしくお願いします.

  • 2つの座標系

    時刻t=0で一致する2つの座標系xy-系(S系)とx'y'-系(S'系)がある。 S'系はS系に対して、原点を中心に一定の角速度ωで回転している。 時刻tにおけるS系から見た質点Pの位置座標を(x(t),y(t))とし、S'系から見たそれを(x'(t),y'(t))とする。 S系から見ると、質点Pはy軸に平行な直線上を等速度Vで正方向に運動している。S'系から見た質点Pの運動を求めよ。 全くわかりません。 詳しい解説お願いします。

  • 傾いた座標の再計算について

    1600×1200の長方形の画像があり、X, Yの座標が存在します。 画像を20°の角度で右下がりに回転し、さらにその画像を長方形にぴったり収まるようにした場合にX,Yの座標を再計算したいのですが、方法がわかりません。 何か公式などに当てはめて計算することはできるでしょうか? 仮にX,Yを(300,400)にした場合の再計算方法をおしえて教えてください。

  • 2点の座標がある座標を中心に回転した場合の座標は?

    ある2点の座標 P1(x1,y1), Q1(x2,y2) が ある座標(X,Y)を中心に回転し、点 P2(x3,y3) Q2(x4,y4) に移動した場合、回転の中心となった座標(X,Y)を求めるにはどうしたら良いでしょうか。

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

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