タグ

CGと四元数に関するmakayaのブックマーク (11)

  • 回転ベクトル・回転行列・クォータニオン・オイラー角についてまとめてみた - かみのメモ

    以前の記事(OpenCVで取得したカメラパラメータをUnityで使う - かみのメモ)を書いたのをきっかけに、三次元座標系での回転の表現方法について色々調べたので、まとめておきたいと思います。 はじめに 三次元座標系で回転を表現するための方法として、回転ベクトル, 回転行列, オイラー角, クォータニオン(四元数)がよく知られています。 この記事では、これら4つの表現方法について 原理とその特徴 右手系・左手系の変換 各表現の相互変換(代表的なもののみ) の3つを紹介していきます。 実際にPythonで回転後の座標を計算したり各表現を相互変換したりするプログラムは、以下の記事で紹介しています↓。 なお、この記事はコンピュータビジョンと航空力学をかじっただけの人が書いたものです。 できるだけ誤りのないように書いているつもりですが、もし間違いを見つけた場合は報告していただけるとありがたいです。

    回転ベクトル・回転行列・クォータニオン・オイラー角についてまとめてみた - かみのメモ
  • ロドリゲスの回転公式 - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "ロドリゲスの回転公式" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2018年7月) 三次元回転におけるロドリゲスの回転公式(英: Rodrigues' rotation formula)とは、ベクトル空間において、与えられた回転軸に対して回転を行うための効率的なアルゴリズムを指す。またこの公式は、任意の3つの基底ベクトルに対する、SO(3) 群上の回転行列を用いた変換の軸角度表現を与えている。つまり、この式は so(3)(SO(3) のリー代数)から SO(3) への指数写像を、行列の指数関数を計算せずに与えるアルゴリズムとなって

  • クォータニオンを真に理解する qpq-1の導出 - Qiita

    TL;DR; ある頂点Pを任意の軸Aの周りにθ回転させた時の頂点P'は、 ベクトル空間上では、以下のように表すことが出来ます。 式1 (ベクトル空間による頂点の回転式) \begin{multline} \vec{P}' = \vec{P}\cos\theta + (\vec{A} \times \vec{P})\sin\theta + \vec{A} (\vec{A}\vec{P})(1 - \cos\theta) \end{multline}

    クォータニオンを真に理解する qpq-1の導出 - Qiita
  • モーションにおける3次元回転 #4 〜オイラーの公式からロドリゲスの式へ〜|SPORTS SENSINGスポーツ科学研究室

    前章「モーションにおける3次元回転 #3」では,オイラーの公式を用いて2次元平面内の回転について説明した. 2次元と比べて3次元の回転運動の表現方法はかなり複雑である.この章では,3次元の回転行列のもう一つの表現方法である,ロドリゲスの式について説明する.クォータニオンはロドリゲスの式と密接に関係することから,ここでの目的は,これを学ぶことによって,次章(モーションにおける3次元回転 #5)で述べるクォータニオンの幾何学的意味をより深く理解することにある. オイラーの定理オイラーの定理は, 3次元において物体の回転を「ひとつの回転軸と回転角度で表すことができる」 ということを示している. 図1:オイラーの定理たとえば,任意のベクトル$${\bm{a}}$$を回転行列$${\bm{R}}$$によって回転させたベクトル$${\bm{a}'}$$は $${\bm{Ra}=\bm{a}'}$$ と

    モーションにおける3次元回転 #4 〜オイラーの公式からロドリゲスの式へ〜|SPORTS SENSINGスポーツ科学研究室
  • クウォータ二オン(四元数)を理解したいメモ

    はじめに CG系のソフトウェアを使っていると回転周りでクウォータ二オンがでてくるが何となくの概要の理解だけで、いつかちゃんと理解したいなぁと思いつつ逃げてきた。 重い腰を少しあげれたのでそれをメモする。 モチベーション 自分たちのモチベーション xyzの三次元空間を扱うCGにおいての回転を表現する方法で一番最初に思いつくのがオイラー角による回転表現がある。 こんな直交座標系があったとして、 初期姿勢 引用画像 https://www.sky-engin.jp/blog/eulerian-angles/ 各軸に〇〇度回転みたいなことを考えて回転を表現する方法。 オイラー角 引用画像 https://www.sky-engin.jp/blog/eulerian-angles/ こうすれば、任意の角度の姿勢を表現することができそうって思いつく。 シンプル。 オイラー角を簡単に体験できるものを作っ

    クウォータ二オン(四元数)を理解したいメモ
  • クォータニオン2:オイラーの公式からロドリゲスの式へ | 株式会社スポーツセンシング

    3次元の物体の回転は「ロドリゲスの式」に示したように,ひとつの回転軸 n と回転角度θで表すことができます. これは,2次元平面の回転を表すオイラーの公式(クォータニオン1:複素数とオイラーの公式)において,複素数に虚数 i をかけることによる,複素平面上で90度の回転に相当します

    クォータニオン2:オイラーの公式からロドリゲスの式へ | 株式会社スポーツセンシング
  • 四元数による回転の記述

    $$\newcommand{ii}[0]{\mathrm{i}} \newcommand{jj}[0]{\mathrm{j}} \newcommand{kk}[0]{\mathrm{k}} $$ 3次元の回転変換を四元数で記述する方法を紹介します。なお、この内容は先日開催された 第3回すうがく徒のつどい の「四元数と回転」で話した内容の一部です。その際の 講演資料 では計算を省略しましたが、今回は計算も書きます。 四元数の定義 $x_0+x_1\ii+x_2\jj+x_3\kk$($x_i\in\mathbb{R}$)とあらわされる数を、四元数と呼びます。ここで、$\ii$、$\jj$、$\kk$は実数とは異なる数であり、次の関係式を満たすものです。四元数の虚数単位と呼ばれます。 \begin{gather} \ii^2=\jj^2=\kk^2=-1\\ \ii\jj=-\jj\ii=\k

    四元数による回転の記述
  • クォータニオンとは何ぞや?:基礎線形代数講座 - SEGA TECH Blog

    ---【追記:2022-04-01】--- 「基礎線形代数講座」のPDFファイルをこの記事から直接閲覧、ダウンロードできるようにしました。記事内後半の「公開先」に追記してあります。 --- 【追記ここまで】--- みなさん、はじめまして。技術部 開発技術部のYです。 ひさびさの技術ブログ記事ですが、タイトルからお察しの通り、今回は数学のお話です。 #数学かよ って思った方、ごめんなさい(苦笑) 数学の勉強会 弊社では昨年、有志による隔週での数学の勉強会を行いました。ご多分に漏れず、コロナ禍の影響で会議室に集合しての勉強会は中断、再開の目処も立たず諸々の事情により残念ながら中止となり、用意した資料の配布および各自の自学ということになりました。 勉強会の内容は、高校数学の超駆け足での復習から始めて、主に大学初年度で学ぶ線形代数の基礎の学び直し 、および応用としての3次元回転の表現の基礎の理解

    クォータニオンとは何ぞや?:基礎線形代数講座 - SEGA TECH Blog
  • Quaternionによる3次元の回転変換 - Qiita

    コンピュータグラフィックスにおいて、図形を変換するには、ベクトルやマトリックス(行列)の演算が多用されます。その中でも、Quaternion(= 4元数 = 虚数単位が3つある複素数)を用いて回転変換を表現する手法の数学的な解説をしたいと思います。通常の複素数の掛け算が、2次元複素平面での回転変換を表現できることの3次元への応用ともなっています。 補記:この記事は、Qiita でLaTeXを利用してみたい(参照:『Qiita 上で数式を美しく書けるようになっていた件 (MathJax)』)、というモチベーションで書いています。この記事『Java3Dの数学』の一部抜粋を読みやすくしたものです。また、コンピュータグラフィックスに慣れた読者には、最初の準備は長いと思いますので、後半のみ読んでください。 (準備1) 点とベクトル、それらの座標系を用いた表現 数学的な準備からはじめましょう。点もベク

    Quaternionによる3次元の回転変換 - Qiita
  • クォータニオン (Quaternion) を総整理! ~ 三次元物体の回転と姿勢を鮮やかに扱う ~ - Qiita

    0. はじめに: クォータニオンについて思うこと はじめまして! NTTデータ数理システムで機械学習やアルゴリズムといった分野のリサーチャーをしている大槻 (通称、けんちょん) です。 記事は、東京大学航空宇宙工学科/専攻 Advent Calendar 2018 の 3 日目の記事として書きました。僕は学部時代を工学部 航空宇宙工学科で過ごし、情報理工学系研究科 数理情報学専攻で修士取得後、現職に就いて数年になります。 航空宇宙時代は人工衛星の姿勢制御について関心を抱き、特に磁気センサや磁気トルカを用いた姿勢制御系について研究していました。数理工学へと分野を変えてからも、当時お世話になった先輩方と磁気トルカを用いた姿勢制御手法について共同研究して論文を書いたり、ディープラーニングなどを用いた画像認識技術を追求する過程ではリモートセンシングに関する話題ものぼったりなど、航空宇宙業界とは何

    クォータニオン (Quaternion) を総整理! ~ 三次元物体の回転と姿勢を鮮やかに扱う ~ - Qiita
  • 回転(ロール・ピッチ・ヨー、オイラー、クォータニオン)にまつわる数式、損失関数を全展開で総整理 (Unity & Maximaコード付き) - Qiita

    回転(ロール・ピッチ・ヨー、オイラー、クォータニオン)にまつわる数式、損失関数を全展開で総整理 (Unity & Maximaコード付き)UnityQuaternionEulermaximaLossfunction 0. 概要 姿勢を推定しようとしたところ、意外に困ったことが多かったので足回りの数式をまとめてみた。 特に、一般的な変換順序の回転行列は検索すれば出てくるのだけれども、いざ自身の開発しているプログラムに取り込もうとするとオーダーが異なっていて上手く取り込めないという事態が多く、ゼロベースから計算しているウェブサイトも余り見当たらなかったので、その辺について重点的に触れている。 1.0 姿勢について まず、ある物体の姿勢を表す時に用いる代表的な数式とその長短について説明する。 1.1 ロール・ピッチ・ヨー/オイラー角 (Euler angles) ロール・ピッチ・ヨー 一番、シン

    回転(ロール・ピッチ・ヨー、オイラー、クォータニオン)にまつわる数式、損失関数を全展開で総整理 (Unity & Maximaコード付き) - Qiita
  • 1