サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
猫
nu-pan.hatenablog.com
まぎらわしいよね 3次元の回転行列とクォータニオンとオイラー角の3つの話でもすでにめんどくさいのにそれに右手系と左手系の話が入ってくるともう脳細胞の活動が止まって気持ちええんじゃ。ということで、ここらへんのよく知られている事実をまとめてみようと思います。 右手系と左手系 「右手系 左手系」で画像検索をかけてください。それです。 フレミングのあの手つきをして X --> Y --> Z 親指 --> 人差し指 --> 中指 を当てはめた時の向きがそれです。 また、回転方向も違います。 各軸の方向(フレミングの指が向いてる方向です)に、右手系なら右ねじの、左手系なら左ねじの親指を添わせた時の、残りの指の向きが回転方向です。 右手系と左手系の違いは、X軸とY軸が同じ向きになるように合わせた時 Z 軸が逆向き X 軸と Y 軸の回転が逆 となります。 ちなみに、右手系を使いたいけどZ軸は奥を向いて
この記事は FFTってどうやるんだっけ? のレベルから始まるチョー簡単な位相限定相関法のお勉強ノートです。基本的には参考にしたページをぺたぺたしてセクションごとのまとめだけ書いていく感じで進めます。 そもそも何をしたいのか 位置固定で360度パンする動画の各フレームを合成して全周パノラマ画像を作る モデルは円筒で、貼りあわせ(モザイキング)は並進のみで行う(拡大と回転が無いと仮定するのでアフィン変換ですらない) つまりは2画像の位置合わせができればいいのだが、折角なので結構精度がいいらしいPOCを使ってみたい 要するにPOCベースで画像の位置合わせをしたいってこった! 何を勉強するのか(ヤクの毛刈り) 必要な知識を列挙するとこんな感じ。 位相限定相関法(Phase Only Correlation, POC) 画像のフーリエ変換 離散フーリエ変換(主にFFT) 別にそんなに多くなかった。
この記事は DebianとかUbuntuとかで外付けHDDつないでCUIからマウントしたりアンマウントする時の方法とかのまとめ。 つながってるドライブの調べ方とか つながっている名前一覧は``/dev''以下に並んでいる。HDDとかのドライブは``sda1''とか``sdb1''とかそういう名前の。名前だけ見てもどれがどれなのかわからないので以下のコマンドで把握する。 $ sudo parted -l Model: ATA ST1000DM003-9YN1 (scsi) Disk /dev/sda: 1000GB Sector size (logical/physical): 512B/4096B Partition Table: msdos Number Start End Size Type File system Flags 2 1049kB 872GB 872GB primary
この記事は intrinsicsを使ってSSEでベクタライズするのに必要な足がかりを自分用にまとめたものです。 そもそもSSEって何 SIMD(http://ja.wikipedia.org/wiki/Streaming_SIMD_Extensions)を実現する拡張命令セットの名前。いろいろ種類があるしバージョンもある。基本的な考え方をすごく乱暴に言うと、floatの掛け算を4回繰り替えすよりも4つのfloatの掛け算を一息にやったら早くね? という感じ。 intrinsicsって何 前述の通り、SSEとかAVXはCPUの命令なので直接使おうと思うと自分でアセンブラを書かなくてはいけない。が、既存のC++コードを何とかしたいというのが調べてる動機なのでgccのSIMD intrinsicsを使うことにする。このSIMD intrinsicsはコンパイラーの組み込み関数で、こいつらを使うこ
この記事は ffmpegを使って映像+音声の動画ファイルから映像のみの動画ファイルと音声ファイルを作成する方法のメモ。 やりかた まずはffmpegに放り込んでどんなストリームが存在するかをチェック ffmpeg -i source.mp4 例えば動画のみの抜き出しなら以下の要領(0:映像ストリーム,1:音声ストリーム) ffmpeg -i source.mp4 -vcodec copy -map 0:0 destination.mp4 例えば音声のみの抜き出しなら以下の要領(0:映像ストリーム,1:音声ストリーム) ffmpeg -i source.mp4 -acodec copy -map 0:1 destination.mp4 例えばまるごとコピーなら以下の要領(0:映像ストリーム,1:音声ストリーム) ffmpeg -i source.mp4 -vcodec copy -map 0
何があった 多重継承のケースで コンストラクタの初期化子リスト内でthisはどうなっているのか? 初期化子リストにthisを渡すと何がまずいのか? 多重継承でnewでもらったポインタとdeleteに渡すポインタが一致しない時どうなってしまうのか? 多重ではない通常の木構造の継承の時の話は何も問題ないので触れないです。 追記(2014/6/5) 多重継承とdeleteのお話についてはちゃんとあれこれ調べたのでそちらを参照してください 試した環境(追記:2014/6/5) g++-4.7.2(Ubuntu/Linaro 4.7.2.2-2ubuntu1) コンストラクタの初期化子リスト内でのthisポインタ 多重継承のクラス作って初期化子リスト内でアドレスをダンプしてみる。 #include <iostream> using namespace std; class CPrint; class
この記事は google-perftoolsのcpu profilerを使ってC++プログラムのプロファイリングする時の一連の手順をまとめた記事です。 ほとんどgoogle-perftoolsの各サブセットのhow toに乗っている事の焼き直しです。 公式へのリンクとか google-perftools : https://code.google.com/p/gperftools/ cpu profiler : http://gperftools.googlecode.com/svn/trunk/doc/cpuprofile.html 確認した環境 ubuntu 12.10 g++-4.6 google-perftools 2.0-3ubuntu1 インストール apt-getで"libgoogle-perftools-dev"と"kcachegrind"をインストールするだけ。 kcac
何があった GitLab使う上で必要そうな知識まとめたほうの記事のまとめでも書いてたけど、windowsからGitとGitLabでソース管理することになったので、そのインストールからごく基本的な使い方までまとめまとめる。 GitLabのほうの基本的な設定は前回の記事で終わってるってことにします。 まず環境 使ったソフトは次みたいな感じ。 windows 7 Professional SP1(64bit) msysGit (version 1.7.11-preview2010710)(32bit版のみ) TortoiseGIT 1.7.14.0(64bit) msysgitもTortoiseGitもググればすぐに出てくるけど一応URLを msysgit(http://msysgit.github.com/) TorroiseGIT(http://code.google.com/p/torto
何があった emacs+gccで書いてたコードをVisualStudio 2010に持っていったらコンパイルできない! 割と意味不明なエラーでコンパイルできない! 定数が二行目に続いてますってなんだ! で、原因はやっぱり文字コードっぽい。だって特定の文字に反応してるっぽいんだもん。 やりたいこと emacs+gccでもcl(VisualStudio 2010でビルドに使ってるコンパイラ)でもどっちでも編集してコンパイルできるようにしたい。 ただし、文字コードはutf-8で。 日本語使わない 究極的にはこれが一番確実っぽい。要は2バイト文字を排除してASCII文字だけでプログラム書きましょうって話。なので、表示するメッセージ類も全部英語に・・・。言うても短いメッセージだけだしそんなに困りませんけど・・・。 BOMについて UTF-8といってもBOMがあるとか無いとかって言う話があるらしいです
動機とか g++とemacsでC++コード組んでたけど、リファクタリングが無い! って所で乗り換えを決意。なんだかんだで生産性ほしかったらIDEに落ち着くんですかね。 CUI環境でアレだけの機能使えるのはメリットだと思うので、二度と使わないって言うことは無いと思いますけど、メインで使う開発環境はeclipse CDTにお引越し。 Eclipse CDTって何? Eclipseは統合開発環境(IDE)というヤツで、いろんな言語のプログラミングを強力にサポートしてくれる。 CDTはC/C++ Development Toolingの略で、EclipseをC/C++の開発に対応させるためのプラグイン。 この二つのプラグインがあればとりあえずC/C++での開発ができるという事。 バージョンとか環境 Ubuntu 12.04 LTS 32bit Eclipse Platform 3.7.2 ecli
この記事は VC++プロジェクトを立ち上げたあと、gitにどのファイルを含めればいいのかを毎回忘れてしまうのでメモしとこうという記事です。 突然加筆修正入るかも。 前提 環境としてはVS2010とGit Bashで ソリューションごとリポジトリに追加する 追加しないとまずいファイル .sln .vcxproj .vcxproj.filters この3つとソースコードは残さないとまずい 追加しないほうが良いファイル .sdf .suo icphフォルダ Debugフォルダ Releaseフォルダ .vcxproj.user こいつらは無くても大丈夫なファイル プロジェクト読み込み時とかビルド時とかファイル開いた時とかに自動的に生成される。 むしろ、こいつらを含めてしまうとリポジトリが無駄に重くなったり、何も変更していないのに変更があったことになってマージが必要になって面倒だったり、で面倒を引
この記事は 自宅のwindowsマシンから研究室にある自分のマシン上のgitサーバーにささっとアクセスしたい。ただし、研究室のゲートウェイマシンを踏み台にしてsshでなんとかする。 環境とか windows 7 professional 32 bit(ローカル) Debian 6.0.7(踏み台) Ubuntu 12.10(目的のサーバー) 踏み台サーバー上でncを使えること。sudoerならパッケージを入れてしまいましょう。 なにはともあれgitを入手 ここ(http://msysgit.github.io/)から左側の通常のgit for windowsを入手。 インストールはOK連打で。 先に進む前に そもそもsshでアクセスできることを確認する。 ローカルで"ssh fumidai.foo.bar.jp"で踏み台サーバーにログインして、その状態で"ssh mokuteki.foo.
なにがあった 使いたくなった。 一応メモ。 インストール windows x64にビルド済みのffmpegをインストールしてコマンドラインから作業できるようにする。 まずは(http://ffmpeg.zeranoe.com/builds/)からffmpegのバイナリを入手。とりあえずx64 staticを選択。 選択したら解凍して"C:\Program Files\"以下に展開。間違ってx86の方に展開しないように。 ついでに解凍したディレクトリを"ffmpeg"にリネーム。 これでインストールはOK。 実際に使う時 今度はコマンドラインから操作する手順というかなんというか。 コピーしただけだとコマンドライン開いて"ffmpeg"とタイプしても出てこないのでパスを通す。 "システムの詳細設定"の"詳細設定"タブから環境変数を選択。 ユーザー変数に 変数名:"PATH" 変数値:"C:\P
事のおこり gitlabをユーザーとして使うことになったので、gitの使い方込みでまとめておく。 gitってそもそも? 分散管理型のバージョン管理システム。subversionなんかの中央一括管理型のバージョン管理システムを少し発展させた感じの使い方。 リポジトリは全体で一つではなく一人一人が持つ ソースコード編集したら自分の持ってるリポジトリにコミットする 自分の変更を他人(もしくは自分)に適用したくなったら、大元のリポジトリにpush 自分のリポジトリを最新版にしたくなったら大本のリポジトリからpull subversionのコミットと更新が細かいステップに別れた感じでしょうか。 わかりやすい説明がされているので次のページなんかをチェック。 (http://blog.asial.co.jp/894) で、gitlabって? gitでsubversionみたいな事しようとすると共有用の中
このページを最初にブックマークしてみませんか?
『nu-pan.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く