角度の左右・上下反転について

このQ&Aのポイント
  • ゲーム制作の要素として、角度を左右・上下に反転させる処理が必要です。
  • 角度の左右反転は、現在の角度に180度を加えた値になります。
  • 角度の上下反転は、360度から現在の角度を引いた値になります。
回答を見る
  • ベストアンサー

角度を左右・上下反転させる

趣味でゲームを制作している者です。 ゲームの要素として「角度」を左右・もしくは上下に反転させる処理が必要になりました。 以下、すべて度数法で角度を表現し、上方向を「0度」と定義します。 90度回転しているときに左右反転すると270度になり、上下反転しても90度のままです。 180度回転しているときに左右反転しても180度のまま、上下反転すると0度になります。 45度回転しているときに左右反転すると315度になり、上下反転すると135度になります。 60度回転しているときに左右反転すると300度になり、上下反転すると120度になります。 これをすべての角度で左右・上下に反転させたいのですが、法則を見出すことができません。 「角度」の「左右反転」と「上下反転」はどのような計算式になるでしょうか。 なお、弧度法も理解しておりますので、計算に弧度法を使っても問題ありません。

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

  • ベストアンサー
  • jcpmutura
  • ベストアンサー率84% (311/366)
回答No.2

基準の向きを上方向(i)とする iから t°回転して左右反転すると t=0の時,iから0°になり 0<t<360°の時,iから(360-t)°になる iから t°回転して上下反転すると 0≦t≦180°の時,iから(180-t)°になる 180°<t<360°の時,iから(540-t)°になる iから左回りに tだけ回転すると iにe^{it}をかけたものになり ie^{it}=icost-sint ie^{it}を 左右反転すると ie^{it}の共役複素数に-1をかけたものになり -[ie^{it}]~ =sint+icost =i(cost-isint) =ie^{-it} だから iから左回りに2nπ-tだけ回転する 0≦2nπ-t<2π だから t=0の時n=0で2nπ-t=0 0<t<2πの時n=1で2nπ-t=2π-t ie^{it}を 上下反転すると ie^{it}の共役複素数になり [ie^{it}]~ =-sint-icost =i(-cost+isint) =i{cos(π-t)+isin(π-t)} =ie^{i(π-t)} だから iから左回りに(2n+1)π-tだけ回転する 0≦(2n+1)π-t<2π だから 0≦t≦πの時n=0で(2n+1)π-t=π-t π<t<2πの時n=1で(2n+1)π-t=3π-t

myosotis3970
質問者

お礼

度数法・弧度法双方についての公式を挙げていただきありがとうございました! 2つ回答をいただいておりますが度数法の公式を挙げていただいたこちらの回答をベストアンサーとさせていただきます。

myosotis3970
質問者

補足

度数法での公式、弧度法での公式を双方挙げていただきありがとうございます! 弧度法の公式ですが、プラス方向が左方向への回転(反時計回り)になっているようです。 ゲームの仕様が右方向への回転(時計回り)をプラス方向とするのですが、右方向をプラス方向とする場合でも、同様の計算方法で適応可能でしょうか?

その他の回答 (2)

  • jcpmutura
  • ベストアンサー率84% (311/366)
回答No.3

基準の向きを上方向(i)とする iから右回りにtだけ回転すると iから左回りに-tだけ回転するから iにe^{-it}をかけたものになり ie^{-it}=i(cost-isint)=icost+sint ie^{-it}を 左右反転すると ie^{-it}の共役複素数に-1をかけたものになり -[ie^{-it}]~ =-(icost+sint)~ =-(sint-icost) =-sint+icost =i(cost+isint) =ie^{it} =ie^{i(t-2nπ)} だから iから左回りにt-2nπだけ回転するから iから右回りに2nπ-tだけ回転する 0≦2nπ-t<2π だから t=0の時n=0で2nπ-t=0 0<t<2πの時n=1で2nπ-t=2π-t ie^{-it}を 上下反転すると ie^{-it}の共役複素数になり [ie^{-it}]~ =(icost+sint)~ =sint-icost =i(-cost-isint) =i{cos(t-π)+isin(t-π)} =ie^{i(t-π)} =ie^[i{t-(2n+1)π}] だから iから左回りにt-(2n+1)πだけ回転するから iから右回りに(2n+1)π-tだけ回転する 0≦(2n+1)π-t<2π だから 0≦t≦πの時n=0で(2n+1)π-t=π-t π<t<2πの時n=1で(2n+1)π-t=3π-t

noname#232123
noname#232123
回答No.1

点P(x, y)を「原点」のまわりにφだけ回転するとき、移動先P'の座標を求めるには、 R(φ)=(cosφ -sinφ / sinφ cosφ)=(c -s / s c) を左からかけます。また、x軸についての対称移動は、 (1 0 / 0 -1) をかけ、y軸についての対称移動は、 (-1 0 / 0 1) をかけることで実現します。したがってこれらの合成を考えると、 ● まずθだけ回転しさらにy軸について対称移動するときPの移動先P'は、 (-1 0 / 0 1)*(c -s / s c)=(-c s / s c) をかけることです。 ● まずθだけ回転しさらにx軸について対称移動するときPの移動先P'は、 (1 0 / 0 -1)*(c -s / s c)=(c -s / -s -c) をかけることです。 ----------------------------- ※計算ミス、タイプミスがあればご指摘ください。

myosotis3970
質問者

補足

座標のことを解説されているようですが、左右反転・上下反転させたときの「角度」を求める公式についての質問です。 質問文中で例示したように左右反転・上下反転したときの「角度」を求めたいのです。 イメージとしては、ある方向を指している矢印があり、その矢印を左右反転・上下反転させた時に上方向を0度とする場合何度回転しているかというものです。 なお、ベクトルは実装していますが行列については実装していないため、できればベクトルのみで完結するとありがたいです。 なお追記となりますが角度はプラス方向で時計回り、マイナス方向で反時計回りとなります。 言葉が足らず申し訳ございません。

関連するQ&A

  • 液晶モニタを上下反転できませんか?

    私の液晶は安物の為か下から見ると黒ずんでしまいます 上と左右はほぼ180度は色は変わりませんですが下からだと30度くらい下から覗き込むともうダメです 体が悪く寝たきりの為下から見上げる事が多いので不便です 明るい映像は何とも無いのですが映画などの夜の場面や暗い設定だと結構辛いです 上と左右からは見た場合は何とも無いので液晶を上下反転させ上からぶら下げた状態で使用できないものかと思っています 液晶(内部の画面)は上下反転できるのでしょうか? 液晶モニタ自体にはそういった機能は無いタイプです よろしくお願いします

  • ペットボトルの水を通して見た文字。左右が反転?

    先ほどビックリしたのですが、 水の入ったペットボトルをふと見ると、何か文字が浮かんでるな。と思い、 ペットボトルの後ろを見たら、やはり文字がありました。 ですが、ビックリしたのは、その後ろの文字列と、ペットボトルを通して見えた文字列が左右反転してたことです。 多少なり、物理・化学の知識はありますが、 私の眼に入ってくる、その文字列の情報は、普通上下反転して入るものなのではないでしょうか? 何故、左右反転で入るのでしょう。 ペットボトル内の水で光の屈折・・・頭の中がゴチャゴチャしてきて、よく分からないです。 その文字列が、ペットボトル内の水に反射して左右反転して見え、その映った左右反対のペットボトルの水に移った像を、そのまま後ろから見たように感じました。 それぞれの位置は、私、文字列の間に、ペットボトルがあります。 また、上下逆に見えなかったのは何故でしょうか? 上下左右逆さま、上下逆さまに見えない理由も知りたいです。 お手数ですが、ご意見。ご回答お願いします。

  • 画面を反転するソフト

    WindowsMEです。 フリーソフトで、画面を反転させたまま作業できるものはありませんでしょうか? 因みに上下だけ反転ではなく180度回転です;

  • パワーポイントで最終ページのみ上下反転で印刷したい

    お世話になります! 長編を閉じて製本したいのですが、最終ページのみ上下反転で印刷しないと、逆さになってしまいます! スライドごと全て反転するにはどうしたらいいでしょうか? オブジェクト選択だと、オブジェクトのみの反転で位置もそのままでした。 スライド背景含めて全て上下反転のやり方を教えてください。 詳しい方、よろしくお願いします!

  • Inkscapeで画像を好みの角度に回転したいです

    こんばんは。 90度には回転・反転は出来るのですが 好きな角度に回転する方法がみつかりません。 教えてください。 よろしくお願いいたします。

  • アイロンプリント印刷(左右反転印刷方法)について

    アイロンプリント印刷(左右反転印刷方法)をしたいと思っております。 ExcelデータをエプソンPC980Cか、CC600PXで印刷を考えいますが、アイロンプリント印刷をするための、左右反転印刷設定がどこにあるか分かりません。 印刷の詳細設定で、180度回転がありますが、反転印刷でないようです。どのように対応したらいいか、分かりましたら教えてください。

  • 角度同士の演算

    角度同士の演算 弧度法の証明 半径rの円で,半径に等しい長さの弧に対する中心角の大きさをa°とすると,弧の長さと中心角の大きさは比例するから r/2πr=a°/360° よって a°=360°/2π 教えてほしいところ 360°×a°/360°=a°となる理由がわかりません。 1°×a°=a°といえないと無理ですよね。 角度×角度なんてできるんですか?? という質問をしたところ以下のような回答をいただきました。 r/(2πr)=a°/360° 左辺を約分して, 1/(2π)=a°/360° 両辺に360°をかけて 360°/(2π)=a° 左右入れ替えて a°=360°/(2π) これは結局、a°/1°=a°ということが成り立たないと成り立ちませんよね。 角度同士の演算なんて定義されているんですか??

  • 不等式 cosθ +√(3)sinθ = √(2) (0≦θ≦2π)の

    不等式 cosθ +√(3)sinθ = √(2) (0≦θ≦2π)の分りやすく教えてください。 できれば、弧度法(π)を用いずに具体的な角度を使って計算をし、最後に弧度法に直す方法でお願いしたいです。

  • 金型の反転のしくみ。

    こんにちわ、金型を180度反転させる構造について質問です。 どの様に回転しているのか分からず知りたいです。 中心に筒状のものがあり、その左右にシリンダーがついていいます、その左右のシリンダの伸び縮で回転しているのでしょうが、内部はどのようになっているのでしょうか? 筒とシリンダのイメージは→ ー○ー と言った感じです、-が左右のシリンダで○が筒です。 分かりにくくてすみません、宜しくお願いします。

  • マウス 動作反転ソフトはありますでしょうか?

    FPSのゲームソフトでマウスの動きを上下左右反転させたく、ネットで色々検索して調べてみたのですがありませんでした。 ベクター、窓の杜も調べました。 このようなソフトをご存知であれば教えて頂けるとありがたいです。 どうかよろしくお願いいたします。