background preloader

Programming

Facebook Twitter

真・コンピュータ用語辞典. 減色アルゴリズム. 単純な方法 使用可能な色は全部で256色。

減色アルゴリズム

単純に考えるのなら、RGBのぞれぞれに数ビットずつ割り当てて、機械的に色を生成すればいい。 例えば、赤に2bit、緑に3bit、青に3bit割り当てて色を生成するなら、こんな感じになる。 上のコードはHTMLのコードを生成するようになっている。 実行するとこういう出力が得られる。 Coltbl1.html この方法では、全ての色を平等に取り扱うことになる。 この画像では、赤や白・黒といった色は使用していない。 まず初めに、各色がそれぞれ何ピクセルずつ使用されているのか、を数え上げる。 2.近い色同士をまとめる 使用可能なカラーパレットの数は256個しかない。 3.256色以下になるまで2を繰り返す 読んで字のごとく。 以上の方法で、何となくそれっぽい色を抽出することができる。 カラーパレットの256色が決定したら、次は各ピクセルごとのインデックス値を決定する必要がある。 多少ムラがあるような気もするが、元画像には存在しなかった亀甲模様が浮かび上がるよりかはマシだと思われる。 C++の便利ツール・ライブラリ: DO++

フルタイムで働きはじめて4ヶ月。

C++の便利ツール・ライブラリ: DO++

いろんなことがありました。 今日はインターンが来ているということもあり日頃のC++コーディングライフの中で大変重用しているツールを紹介します。 といってもどれも有名なツールでググれば解説がでてくるとは思いますので、一言ずつだけ紹介してみます。 みなさんも何かよさげなライブラリ・ツールがありましたら教えてください。 - valgrind/callgrind/cachegrind プログラムの実行結果を解析するツール群。 プログラムのどのが計算量的にボトルネックになっているかを調べるにはcallgrindを使います。 Cachegrindはcallgrindと同様にプログラムのどこで何回キャッシュミスしているかどうかを調べることができます。 - gtest かゆいところに手が届くGoogle製C++テストフレームワークです。 - glog Google製ロギングライブラリでサーバーなどを書いてログを吐く場合に使う。

- re2 Google便利ツール三つ目、正規表現ライブラリ。 4096 Color Wheel Version 2.1. Professor Cloud. Cppguide. 定義: ストリームは printf() や scanf() の代わりになります。

cppguide

賛成意見: ストリームを使うと、プリントしているオブジェクトの型を知る必要がなくなります。 書式文字列が引数リストとマッチしないといった問題は起こりません。 (ただしgccだと printf でも問題は起こりません)。 ストリームには自動のコンストラクタとデストラクタがあり、ファイルのオープンとクローズを自動的にやってくれます。 反対意見: ストリームを使って pread() のような動作を実現するのは困難です。 結論: ログ記録のためのインタフェースとして必要な場合を除き、ストリームを使ってはいけません。 ストリームの使用については賛否両論あります。 さらなる議論 この問題には長い議論があったので、理由についてさらに詳しく説明しておきます。 ストリームの支持者らはストリームが選ばれるのは疑う余地がないと主張しましたが、実際のところ問題はそれほど明快ではありません。 Cout << this; // アドレスを出力 cout << *this; // その内容を出力 このときコンパイラはエラーを吐いてくれません。 Printf は不恰好で読みにくいという人もいますが、ストリームにも同じことが言えるでしょう。 Cerr << "Error connecting to '" << foo->bar()->hostname.first << ":" << foo->bar()->hostname.second << ": " << strerror(errno); fprintf(stderr, "Error connecting to '%s:%u: %s", foo->bar()->hostname.first, foo->bar()->hostname.second, strerror(errno));

株式会社ロングゲート - 製品案内. ソースコードで発見した奇妙なコメント集. コーダー・デベロッパー・プログラマーさん達はそのソースコードにわかりやすい説明書きを「コメント」として残し、後から他の人が修正・編集しやすいようにコードを書いていきます。

ソースコードで発見した奇妙なコメント集

Stackoverflowの中でなんだそりゃー! というコメントがまとめられていたのでいくつか翻訳してみます! 「クライアントからのムチャぶり迷言集 」に続き久しぶりにネタ系記事です。 楽しんでください! プログラマーさん達の名誉のため、先に言っておきますが、全てのプログラマーがこういったコメントを残しているわけではありませんよ! 自信を失したプログラマー達 自虐コメント多数! 日記と化したコメント達 まるで日記帳のようにプログラマーの感情が現れているソースコード。 TODOリスト プログラマーさんはソースコードにTODOリストを書くようですね! 俺のコードが最強説 そのコードはいじらないのが懸命です。 いいから仕事しなよ…っていう 全く意味のないコメント達。 その他のクスリときたコメント達 解決してません そこはよかったものの、そのコードのせいで他3箇所が動作しなかったようです。 全ては課長の気分次第 とりあえず仕事は終わった 友達と飲んだ後、家に帰って酔っ払いつつもちょっと仕事してから寝た投稿者。 しかもちゃんと動作してたそうです。 コメントの意味なし 私自身そんなコメントは見たことないのですが、「こんなの見たよ!」 元記事: What is the best comment in source code you have ever encountered? 0からのゲームプログラミング ~ ゲームプログラマーへの第一歩を踏み出そう ~ Cursesの基本的な関数. Shared notebook: TheNotebook. Table of Contents. C++でcoutやcerrの挙動を変える。 Getting Real by 37signals. OpenGL de プログラミング. [t-pot] PROGRAMMING. GLUTによる「手抜き」OpenGL入門. 和歌山大学システム工学部デザイン情報学科 床井浩平 この文書の位置づけ この文書は学生実験のテーマ「VR実験」の参考資料の, GLUT を用いた OpenGL のチュートリアルです. 180 分× 2 日+αで実験部分に到達できると思います.

GLUTによる「手抜き」OpenGL入門

ただし内容は不十分なので, 必要に応じて資料やオンラインマニュ アル等を参照してください. また間違いも含まれていると思います. 初版 1997/09/30, 最終更新 2014/04/09 目次 資料: 1.はじめに 1.1 なぜ GLUT か OpenGL は Silicon Graphics 社 (現 SGI 社, 以下 SGI) が開発した, OS に依存しない三次元のグラフィックスライブラリ (正確には Application Program Interface, API) です. 実はこれが結構面倒な作業なので, 教科書の OpenGL Programming Guide の第 1 版 では, 補助ライブラリ (AUX ライブラリ, 一種の toolkit) というのを導入して, その部分をとりあえず隠していました. OpenGL Programming Guide の第 2 版以降では, AUX ライブラリに代えて GLUT を使っています.

ところで, Microsoft 社 (以下 MS) が SGI から OpenGL のライセンスを買って自分のところの OS に載っけたので, OpenGL は一気にグラフィックスライブラリの業界標準の地位に登り詰めました. しかし, AUX ライブラリはもともと学習用であり, ちゃんとしたアプリケーションを書こうとすると機能に不足を感じます. そこで AUX ライブラリを, 多少なりともまともなアプリケーションが作れるように改良したものが GLUT (The OpenGL Utilitiy Toolkit) だと言えます. Linux や Macintosh では Mesa の上に AUX ライブラリや GLUT が移植されました. 1.2 それ以前に, なぜ OpenGL か. WiX チュートリアル (日本語訳) — Windows Installer XML ツールセット入門. Boostjp. XMLの読み込み/書き込み - boostjp.