数学に関するlichengのブックマーク (14)

  • 射影変換

  • 画像処理 画像処理ソリューション

    ニックネーム:Akira 東京都の町田事業所に勤務 画像処理ソフトの開発を行っています。リンクフリーです! 詳細プロフィールは こちら お問い合わせは、こちら↓ 【補助HP】 画像処理ソリューションWeb版 【Newブログ】 イメージングソリューション

  • アフィン変換 画像処理ソリューション

    メインページ > 画像処理 画像の拡大縮小、回転、平行移動などをまとめて3×3の行列を使って変換する事をアフィン変換と呼びます。 変換前の座標を(x, y) 変換後の座標を(x',y') とすると、アフィン変換では のように実質的には2行3列の行列を使って変換します。 変換前の画像を以下のようにすると、 拡大縮小X軸方向の拡大率をSx、Y軸方向の拡大率をSyとすると拡大縮小のアフィン変換は と表されます。 例)X軸方向に2倍 例)Y軸方向に2倍 例)X軸、Y軸方向に2倍 例)Y軸方向に-1倍 このように、ある軸(上記の例ではX軸)に対して反転する処理の事を鏡映と呼びます。 平行移動X軸方向にTx、Y軸方向にTyだけ移動するアフィン変換は のように表されます。 回転原点を中心に反時計回りにθ°回転する時のアフィン変換は のように表されます。 スキュー(せん断)四角形の画像を平行四辺形に変形す

  • クォータニオンとは何ぞや?:基礎線形代数講座 - SEGA TECH Blog

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

    クォータニオンとは何ぞや?:基礎線形代数講座 - SEGA TECH Blog
    licheng
    licheng 2021/06/15
    “ 第2講 初等関数 第3講 ベクトル”
  • c言語で微分方程式を解く(ルンゲクッタ法) - pypy.com/

    こんにちは。 今日はc言語を使って、ルンゲクッタ法で微分方程式を解きたいと思います。 過去二回、それぞれオイラー法と修正オイラー法で解いてみましたが、ルンゲクッタ法はそれよりも精度の良い方法となります。 前回の修正オイラー法でも、それなりの精度での計算が可能でしたが、さらに精度が必要な場合はルンゲクッタ法を使うことになります。 オイラー法と修正オイラー法の記事は以下から見ることができるので、興味のある方は是非ご覧ください。 c言語で微分方程式を解く(オイラー法) - pypy.com/ c言語で微分方程式を解く(修正オイラー法) - pypy.com/ ルンゲクッタ法の考え方 実際にc言語でルンゲクッタ法のコードを書いてみる ルンゲクッタ法の考え方 まず、以下の式を考えます。 考え方は以下の図を使って説明したいと思います。 まず、ある点(xi,yi)の傾きを考え、図のk1を求めます。 次に

  • Runge-Kutta法 - [物理のかぎしっぽ]

    4次近似の常微分方程式の数値解 † Heun法によって 随分と精度の高い常微分方程式の数値解を得ることができるようになりましたが, もっと精度の良い4次のRunge-Kutta法を作成してみます. Runge-Kutta法は5次以上のものもあるようなのですが,4次のものが優れており, 4次のRunge-Kutta法に手を加える形になるようです. ところで自分は4次のRunge-Kutta法を導出することはできませんので, 以下の図等で直感的に精度が良さそうだと思って頂ければ幸いです. まずEuler法のときのような感じで 幅を半分で計算し傾きk1を算出します.幅dt/2の間,yの関数の傾きはk1で あったと仮定しy(dt/2)の値を仮定します.その後y(dt/2)を初期値とし, dt/2からdtまでの間のyの関数の傾きk2を算出します.Euler法であれば これを解とし,どんどん先に進んで

  • Fast inverse square root - Wikipedia

    Lighting and reflection calculations, as in the video game OpenArena, use the fast inverse square root code to compute angles of incidence and reflection. Fast inverse square root, sometimes referred to as Fast InvSqrt() or by the hexadecimal constant 0x5F3759DF, is an algorithm that estimates , the reciprocal (or multiplicative inverse) of the square root of a 32-bit floating-point number in IEEE

    Fast inverse square root - Wikipedia
  • 13. ラプラス変換 (やる夫で学ぶディジタル信号処理)

    13.1 線形微分方程式 13.2 ラプラス変換による微分方程式の解法 13.3 ラプラス変換とは何なのか 13.4 なぜラプラス変換で微分方程式が解けるのか 13.5 なぜ を にするのか 13.6 周波数応答と伝達関数 13.7 初期値が 0 でない場合 13. ラプラス変換 13.1 線形微分方程式 やらない夫 前回からの話の流れは,これから線形差分方程式で表されるディジタルフィルタを考えていこうということだったわけだ. やる夫 そうだったお. やらない夫 線形差分方程式を解析するためのツールとして z 変換というものがものがある.これについて学んでいこうと思う. やる夫 これまでも何度か名前だけ出て来たお.いったい何者なんだお? やらない夫 線形微分方程式を解析するためのツールとして,ラプラス変換が強力だというのは知っているだろう? z 変換は,大雑把にいうと,微分方程式じゃなくて

  • ラプラス変換とフーリエ変換の関係 - Qiita

    はじめに 理工学部の学生にとって、フーリエ変換、ラプラス変換は必須の科目であろう。しかし、フーリエ変換については物理的な意味がわかりやすく、変換もきれいなので受け入れられる学生さんも多いのだが、ラプラス変換については「逆変換の積分がなぜ複素平面を「縦」に、しかも軸がずれて走るのかわからない」とか「微分をラプラス変換するとゴミがでるのが気持ち悪い」など、「フーリエ変換に比べると美しくない」と感じる人がいるようだ。 しかし、ラプラス変換とフーリエ変換はきってもきれない仲である。稿では、あまり話題にされないラプラス変換とフーリエ変換の関係についてまとめておく。 まず、フーリエ変換を定義しておこう。変換前の変数を$x$、変換後は$k$としよう。これは実空間と波数空間に対応する。関数$f(x)$のフーリエ変換は以下のように定義する。 $$ \mathcal{F}[f] \equiv \tilde{

    ラプラス変換とフーリエ変換の関係 - Qiita
  • 漸化式でsin波を高速に生成する方法

    初期値計算。 y[0] = sin(phi); y[1] = sin(phi + 2*PI*f/k); ar1 = 2*cos(2*PI*f/k); 生成式(n>2)。 y[n] = ar1*y[n-1] - y[n-2]; 誤差が累積します。float型でためしたところ、(パラメータにもよりますが)1000回の計算で0.00012程度、10000回の計算で0.0012程度の誤差が出ました。doubleで生成すれば相当低誤差で使えそうです。 もしfがkで割り切れるなら1周した段階で(予め計算してある)初期値に戻してあげる方が良いです。割り切れない場合は、(もしsinを計算可能な環境ならば)適当な回数を演算したところで初期値計算を再度行うと良いでしょう。 永遠に計算し続けると、誤差の累積により発散するか0に収束すると思われます。 サンプル Excelファイル(xls)。 Cのソース。 #in

    漸化式でsin波を高速に生成する方法
  • 四元数と回転行列の関係 (証明付) ~   - 理数アラカルト -

    と表せる。 従って、 $3$ つの成分を持つ四元数 $\hat{r}$ に対して、 左から四元数 $\hat{q}$ を掛け、 右からその共役 $\hat{q}^{*}$ を掛けること ($\hat{q}\hat{r}\hat{q}^{*} $ ) は、 $\hat{r}$ の成分からなる $3$ 次元ベクトルに行列 $R$ を掛けることに対応する。 以下では、条件 $|\hat{q}| = 1$ がある場合には、 $R$ が回転行列になることを示す。

  • その58 やっぱり欲しい回転行列⇔クォータニオン相互変換

    算出されるyzwの符号に注目です。真のxの符号が+の時は正しく出ていますが、真のxの符号が-の場合は符号が反転しています。しかし、実はこれは問題ないんです。というのは「回転クォータニオンのQと-Qは同じ回転になる」という性質があるためです。時計の回転する長針を正面から見るか裏から見るかの違いでして、同じ回転であるのに違いありません。つまり、4*|x|さえ分かれば良いんです。そして、それはもう先の式で計算してあるではないですか(^-^)v。±の符号の「+」を採用して4*|x|を作ればいいだけです。 ここまでの情報があれば「よしゃー、変換はこれでできたぜ!」と思いたくなります。しかし、実は落とし穴がありまして、もう少し考慮が必要になります。右辺を4*|x|で割る時、xが0である可能性があるんです。例えば回転軸nが(0,1,0)とすると、|x|はあっさりと0になってしまいます。この場合、4*|x

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

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

    回転ベクトル・回転行列・クォータニオン・オイラー角についてまとめてみた - かみのメモ
  • 線形代数の知識ゼロから始めて行列式「だけ」理解する - アジマティクス

    この記事は、線形代数において重要な「行列式」の概念だけを、予備知識ゼロから最短距離で理解したい人のための都合のいい記事です。 そのため、わかっている人から見れば「大雑把すぎじゃね?」「アレの話するんだったらアレの話もしないとおかしくね?」という部分が少なくないかもですが、趣旨をご理解いただいた上でお付き合いください。明らかな間違いに関しては、ご指摘いただけますと助かります。 線形変換 ↑座標です。 座標を変形することを考えます。つまり、座標変換です。 座標変換にもいろいろあって、以下のようにグニュッと曲げたやつ も座標変換には違いありませんが、今回ここで考えるのは線形変換だけにします。線形変換とは大雑把に言えば「すべての直線を直線に保つ」「原点を動かさない」という条件を満たす変換です。 そういう変換には例として、伸ばしたり縮めたりの拡大・縮小(scale)、原点中心に回す回転(rotate

    線形代数の知識ゼロから始めて行列式「だけ」理解する - アジマティクス
  • 1