C++

巡回インデックスアダプターを発明したよ

C++

やあ子どもたち。ウィンタースポーツやってるか。おじさんの友達がこの前スキーに行ったら腰を痛めてってそれはいいのだけど、とにかく20代の若者がいなかった、リフトなんかも客が少なくて動いてないのとかあったしなんて行ってたけど、寒い時こそ外に出て…

3次元での三角形の外心を求めるプログラム

やあ子どもたち。今年の冬は寒いけどみんな元気でやっているか。 2次元での三角形の外心を求める計算はよく紹介されているけれども、今日は2次元ではなく3次元空間における三角形の外心を求めるプログラムを作成したので紹介するぞ。 以下ソース冒頭のコメ…

GLSLで異方性反射もどきを作って見たよ

C++

やあ子どもたち。GLSLの練習課題として今日はGLSLで異方性反射もどきを作って見たので紹介しておくぞ。こんなやつだよ。 まるでキューブの各面の中心を中心として何かこう円形に磨き上げた金属のような光沢の感じがでていないか。iPadなんかでもこんなのを各…

XCode 4.5.2 でOpenCV 2.4.2 を使う

やあみんな元気にしてるかい。風邪は引き始めが肝心だから甘く見るなよ。今日はXCode 4.5.2でOpenCV 2.4.2を軽く使った、OSX上で動くコンソールアプリを作ってみようという自分用メモだよ。とくにここではXCodeでの使い方操作的なことに焦点をあてるものであ…

離散関数曲線の描画

やあ子どもたち。元気でやっているか。プログラムから単値関数 の曲線グラフを画面などの表示デバイスに出力する際にはみんなはどうしているかい。この場合「関数」とは理論式だったり、デジタル信号処理とかの実測データや、各種科学技術系の実験データだっ…

ちょっとしたstd::vector 内容の正規化について

C++

やあ子どもたち。秋だね秋がやってきたね。日増しに寒くなっていくこの季節、風邪などひかないように気をつけてくれよな。インフルの予防注射も受けとけ周りに迷惑かけないためにもな。今日は実数値の入ったSTLのvectorの内容の正規化(規格化とも言うかな)…

黒画面への道(CocoaでOpenGL)

やあ子供たち。今日はMacOSX 10.7.4上で、XCode 4.3.2を使ってのOpenGL黒画面を出すまでの道を端的にメモしていくぞ。(後日記:MaxOSX 10.8.2上の、XCode 4.5.2でも本記事の操作説明は有効であることを確認したよ)まとめてくれてるページとかいくつかある…

glBufferData()呼び出し前夜〜インデックス形状をFloat配列に展開

やあ子供たち。今日もみんなは何か進歩したかな。日々努力し、自ら進歩を重ねていかないとだめだぞ。一年経てばすごい差になるからな。 「描画に必要な全情報をFloat配列にして一気に流し込んでください。」これが昨今のOpenGLAPIの心であり、実際に実現され…

インデックス形状の簡単法線計算

やあ子供たち。今日はインデックス形式で表記されたポリゴン形状情報に対し、各頂点参照ごとのフラットな法線を一気に計算してくれるスペシャルな関数を紹介するぞ。ソースは以下のようになったよ。 (各頂点参照ごとに定義された法線をここでは"index align…

簡単キューブ描画 CreateIndexCube()

やあ子供たち、元気にしてるかい。glDrawArrays()を使ってGL_TRIANGLESでちょっとしたキューブを描くことを考えてみてくれ。この場合、キューブのテセレーションを真面目に考えた上で、似たような頂点座標が実に36個並んだ頂点配列を作成しなくてはならない…

ボルツマン分布の実験

人は世に連れ世は人に連れ、全ては流れ行く世の常を思わずには居られないこの季節、子供たちはいかがお過ごしかな。元気にしてるかい。原発をめぐる話からもわかるように現在の科学技術はこの程度だ。この悔しさを勉強のエネルギーにして君たちはぜひ物理学…

スコープ冒頭のコメント位置について

やあ子供達、元気にしてたかい。みんなはスコープをちゃんと使っているか。局所的にのみ使用する変数とその処理はスコープを切ってその中で簡潔させるように徹底してコードを書くととても見やすくなるぞ。 そんなこんなで日々重宝するスコープなわけだが、コ…

WindowsでCLAPACKを使おう

やあ子供たち。もうすっかり秋も深まり、庭の柿の木になってる柿もすっかり刈り取り時期を迎えたよ。けど今年はあまり採れなかった。昨年は300個近くとれたのだけど今年は50個も採れてないんじゃないかな。 さあ今日はWindowsでCLAPACKを使う話だよ。それも…

glBegin/glEndが消えた訳/頂点配列ヘルパークラス

やあ子供たち元気にしてたかな。今日はOpenGLESでちょっとした形状を表示させたいときに便利なヘルパークラスの紹介だよ。OpenGLESと言えばiPhoneやAndroidのアプリ開発なんかにおける、glBegin/glEndがホントに使えなくなてしまったという冗談みたいな状況…

WindowsでのPing機能の自前実装

やあみんな、元気にしてたかい。今日はWindowsでPingを自分のプログラムの中から行いたいとかいってICMP送受信をしたいのだが、生ソケットだと、ローカルアドミン権限ユーザーでのみ動くものしか実装できない。それじゃ困るから、SOCK_RAW なしで、ICMP送受…

マーチングキューブズ(7) テセレーション準備

3D Volumentric Visualization of MRI Images with Improved Marching Cube: A Smart way to diagnose作者:Patel, NikhilLAP LAMBERT Academic PublishingAmazonマーチングキューブズ(MarchingCubes)アルゴリズムの探求も、残すところ14のプライマリコンフィ…

pairインスタンスの作成ルール化事例

C++

やあ子供たち、元気にしてたかな、おじさんが日記を久しく書かない間に、今日本はとても大変な試練の時を迎えているね。みんなも病気や怪我にだけは気をつけて、一刻も早く日常を取り戻すべく、頑張ろう。プログラミングで国の復興に貢献するってのも全くで…

テンプレート引数としてのローカルクラス

C++

やあ子供たち、寒いね。先週はそうでもなかったけど今週はまた肌の表面が痛くなるような寒さだな。 今回は、ローカルクラスのお話だよ。ローカルクラスの意味は憶えてるかな。ローカルクラスとは関数内のコードブロックの中で定義されたクラスのことだよ。内…

deleting items within a for loop

C++

やあ子供たち、元気にしてたかな。おじさんは環境のせいかもうすっかり精神エネルギーがすり減らされて日記も書く気力が失せてしまっていた感じだよ。子供たちは元気にしていたかい。子供は風の子だからな。スノボとか行ってちゃんと遊んでるか。 今日は要素…

「#」演算子を使いマクロで楽々リテラル作成

C++

やあ子供たち、元気にしてたかな、悪いものを食べ過ぎたり体調が悪かったりストレスがあったりして蕁麻疹なんかにはなってないかい?大丈夫かな。今日は任意キーワードをリテラルにしてしまうマクロ技の話だよ。 引数付きマクロの定義中では、引数の前に「#…

大規模疎行列のデータ構造とアルゴリズムその3

さて、数日前に、大規模疎行列のCRS,CCS構造体の話をし、次の日にはタプル要素間の任意値での比較用ファンクタ、そしてまた次の日にはstable_sortの本質と使い方について順を追って説明してきたね。 以上の流れで見てきた中で気付くのは、 CRSは、非ゼロ要素…

そしてstable_sortを知る

C++

(後日記)注意:以下CompTupleByはC+11のラムダ式でとって変わられるべき前時代の遺物ですので気にせず、stable_sortに関する説明のみ参考とするようにして下さい。さて、CompTupleBy を得た今、std::sortと、std::stable_sortとの違いを実験してみたくなっ…

CompTupleBy〜tupleのソート

C++

(後日記)注意:以下ではCompTupleByを紹介していますが、C++11の使える環境ではラムダ式というもっと便利なものがあるので、こうした工夫は前時代の遺物になります。(作った時は便利だったんだけどね)なので以下歴史家の人以外は読まないで下さい。やあ…

疎行列のデータ構造入門再び

やあみんな。秋シーズンもいよいよ本番だね、今日なんかはもみじ狩りに最適なんじゃないかこれ。 以前疎行列のデータの持ち方について書いたけど読み返してみると本命のCCSやCRSの説明は最後までせずに回り道だけして終ってしまうという非常に残念な内容とな…

vs2010/C++編集における中かっこハイライトの問題

やあ子供たち元気にしてるかい、今日はVisualStudio2010を使い始めてみた際にかっこ({, })の自動一致視覚アクションがわずらわしいからその回避方法を模索する話だよ。 使ってみればわかるけど、vs2010でC++のソース編集画面では、中括弧にカーソルを持っ…

指定したディレクトリが存在しなければ作成

やあ子供たち。今日はMakeSureDirectoryPathExistsWin32APIの紹介だよ。 ファイルの作成・保存とはちがい、ディレクトリ(=フォルダ)のあるなしを調べたり、ディレクトリを作成したりするのはなかなか面倒なことだね。 でもWindows環境でプログラムを作っ…

CFileDialogとデフォルトパス

やあ子供たち、ようやく最近は涼しくなってきて頭も少しは動くようになったかな。ついに今年もプログラミングの秋がやってきたな。 さて今日はMFCでファイル保存やファイル読み込みをするときに出す、CFileDialogの話だよ。 とても便利で多機能なCFileDialog…

簡易円描画用アルゴリズム

C++

やあ子供たち元気にしてたかな。最近はおじさんも日記の更新もすっかりせずに購読者も一人二人と減ってしまった次第だが日記に書けるほど普遍性の高いコードを開発することが出来なくなっていたのも事実だ。 そんな中、今日紹介するのは誰でも簡単に円周上の…

std::map ユーティリティpocMapUtil

C++

やあみんな選挙には行ったかな。今回の参議院選挙も投票率は50%を切っていてつまり国民の半分が政治に参加してないという状態なんだね。今回は、ポインタ値を、std::mapの様に、std::mapの「値」として持つ場合にありがちな動作を実装したよ。ありがちな実…

インデックス球体の簡単作成

やあみんな。よくポリゴンメッシュをインデックスフォーマットで作成するための実験として、球体のインデックスフォーマットデータを作りたい!なんてことがあるね。 ところが球体ときたら、まあ極座標ベースで構築する話だけれども、球体の極座標ベース構築…