タグ

algorithmに関するll_koba_llのブックマーク (17)

  • Safe from the Losing Fight » How to implement smudge and stamp tools

    smarter than your average squirrel, on most non-acorn related topics I like the smudge tool because, like the brush, it has a real world analog, which means it’s a bit easier for new users to figure out how it works. Just about everyone has played with finger paints before, and knows what happens when you drag your finger through paint. I originally thought the smudge tool would be rather complex.

    ll_koba_ll
    ll_koba_ll 2008/05/01
    指先ツールのアルゴリズム xcodeのプロジェクトいり
  • NUTSU » [as]正規乱数

    正規乱数というのは、統計確率の分野では形而上学的存在ではなかろうかと思われる正規分布(ガウス分布)に従う乱数のことで。今回はその乱数を生成するスクリプトです。 乱数の計算は、ボックス=ミューラー法を用いています。 package { public class Random { private static var generate_nrand_flg:Boolean = false; private static var generate_nrand_tmp:Number; /** * 正規乱数 */ public static function normal():Number{ if ( generate_nrand_flg = !generate_nrand_flg ) { var u1:Number = Math.sqrt( -2.0*Math.log( Math.random()

    ll_koba_ll
    ll_koba_ll 2008/03/20
    分布
  • いろいろな曲線

    グラフ描画についての指針 グラフを調べる場合、次のことを念頭において計算を進めればよい。 (1) 曲線の存在範囲(Existence)や座標軸に対する対称性(Symmetry) (2) 座標軸との交点(Intersection)や曲線上の特殊な点の座標(Special point) (3) 関数の増減と極値(One) (4) 関数の凹凸と変曲点(Two) (5) 漸近線(Straight line) 私の高校時代、上記手順を覚えるために頭文字をつなぎ合わせて、 SESIOTS(セシオッツ) などという語呂合わせを考案したものだ。 例 曲線 Y2=X2(1-X2) のグラフを描いてみよう。 式の特徴から、曲線は、X軸に関して対称、Y軸に関して対称、原点に関して対称である ので、計算する範囲を、X≧0、Y≧0 としてよい。さらに、Y2≧0 であるので、 0≦X≦1 としてよい。このとき、与えら

  • http://www.vision.cs.chubu.ac.jp/VU/html/index.html

  • Visual C++ 2005 Express Editionの易しい画像処理(14)―原画像から赤を抽出し、一旦膨張させて収縮させる―

    特定の色を有する物体を検出する方法と、検出後に生じるノイズの除去を紹介する。具体的には、赤色の交通標識を想定し、その検出の予備的処理に応用できる。 概要 ここで紹介する内容は二種類の異なった画像処理からなる。最初に紹介するのは、原画像から、特定の色(ここでは赤)を持った物体を抜き出す方法で、天候や日照、順光や逆光の条件などによる色の変動を許容する必要があり、画像をRGBに分解して、その比率から特定の色を判定する。二番目は、上記で得られた画像から邪魔なノイズを除去する方法で、一旦膨張させて小さな穴を埋め、次に収縮させて元に戻すモーフィング処理を使用する。ただし、ここで用いた例では、顕著な効果は期待できなかった。 赤の検出方法 明暗に影響されずに、特定の色を検出するには、RGBをHSV(HSBや HSIなどとも呼ばれる)に変換して、hue(色相)、saturation(彩度)、valu

  • [を] 転置インデックスによる検索システムを作ってみよう!

    転置インデックスによる検索システムを作ってみよう! 2007-11-26-5 [Algorithm][Programming] 転置インデックス[2007-06-17-6]による検索システムの実装は パフォーマンスを無視すれば意外と簡単です。 それを示すために Perl で簡単な検索システムを作ってみました。 検索方式は転置インデックス(Inverted Index)、 ランキングには TF-IDF[2005-10-12-1] を用いました。 検索対象ファイルは一行一記事で以下のフォーマットとします。 [記事ID][SPC][記事内容]\n 記事IDは数字、記事内容は UTF-8 の文字で構成されるものとします。 以下のようなサンプル test.txt を用意しました。 1 これはペンです 2 最近はどうですか? 3 ペンギン大好き 4 こんにちは。いかがおすごしですか? 5 ここ最近疲れ

    [を] 転置インデックスによる検索システムを作ってみよう!
  • ゲーマーでなくても仕組みぐらいは知っておきたいアルゴリズムx40

    高校生の時、数学の先生がこう言いました。 ゲームなんて、開発者が作ったルールの上で遊ばれるだけだ。 と。 その時、ゲーマーな自分はこう思いました。 ゲーマーは、開発者が作ったルールの上で遊ばれたい。 と。 というわけで、普段何気なくプレイしているゲームには、どのようなルール(アルゴリズム)があるのか。それを知るために、いろいろなゲームのアルゴリズムなどを解析しているページへのリンク集を作りました。 ほとんどのゲームのアルゴリズムは正式に発表されていないので、ユーザーの手による逆解析だったり、大学の研究による真面目な考察だったりします。(リンク先には、一部アルゴリズムと呼べないものも含まれています) 各種ゲームのプログラム解析 ドラクエ、FF、ロマサガのプログラム解析 DQ調査報告書(リンク切れ) ドラクエの物理ダメージ計算式は質的にどれも同じだが、細かい部分で微妙に違う RPG INST

    ゲーマーでなくても仕組みぐらいは知っておきたいアルゴリズムx40
    ll_koba_ll
    ll_koba_ll 2007/11/27
    このリンクはイイ!
  • 汎用画像認識アルゴリズム

    回転や明度変化に不変な特徴量として,階調重心ベクトル(各濃度領域をベクトル化したもの)を用いて照合を行います。

    ll_koba_ll
    ll_koba_ll 2007/11/09
    パターンマッチ
  • C言語による輪郭追跡処理について

    ここでは、私、酒井理雄(TSUGU)が卒業研究において作成した DIB画像の輪郭追跡プログラムのアルゴリズムについて解説をしたいと思います。 ご意見やご感想、また、ここおかしいんじゃない?というような所があれば連絡していただけると作者が喜びます。 最初にこのドキュメント中の画像の見方について説明します。 下のような画像が多数出てきますが、その色は次のような意図で塗られています。

    ll_koba_ll
    ll_koba_ll 2007/11/09
    輪郭
  • lucille development blog » Blog Archive » Xorshift RNGs

    G. Marsaglia. Xorshift RNGs. Journal of Statistical Software, 8(14) :1 6, 2003 http://www.jstatsoft.org/v08/i14/xorshift.pdf George Marsaglia 氏により 2003 年に考案された、xor とシフトを使うだけの超高速な擬似乱数生成器(Random Number Generator, RNG)です。周期は 2^k-1(k = 32, 64, 96, 128, 160, 192)。ランダム性のテストにも十分合格するとのこと。たとえば、周期が 2^128-1 の場合のルーチンは以下のようになり、乱数値の計算部分はわずか 1 行である。 unsigned long xor128(){ static unsigned long x=123456789,y

    ll_koba_ll
    ll_koba_ll 2007/08/31
    超高速な擬似乱数生成器
  • リアルな映像を作るグラフィックス・アルゴリズム

    3次元コンピュータ・グラフィックス(3DCG)の世界で,リアリティは非常に重要なテーマです。リアルな3DCGを作るため,これまで様々な研究/開発がなされ,その成果は映画やビデオ・ゲームなどで誰でも目にすることができるようになっています。そして,現在でもさらなるリアリティの追求のため,日々研究や開発が続けられています。このパートでは,そうしたリアルな3DCGの裏側にある技術の一端をお見せします。 3DCGのリアリティは「形状」「色/質感」「動作」という三つの要素に分けて考えることができます。これらが技術的にどのような難しい点を含んでおり,どのように解決されてきたかは,最後のカコミ記事「3DCGのリアリティを実現する三つの要素」を参照していただくとして,これらの三要素が一定の水準に達したところで浮かび上がってきた,ある問題に焦点を合わせてみましょう。それは自然な動作の大量生成が難しい,という問

    リアルな映像を作るグラフィックス・アルゴリズム
  • 404 Blog Not Found:グラフィックに役立つ数学的事実

    2007年06月20日10:30 カテゴリ翻訳/紹介Math グラフィックに役立つ数学的事実 del.icio.us経由。 Handy Mathematics Facts for Graphics 単なる翻訳ではなく、もう少し使いやすくしてみた。 定数 実際にJavaScriptに計算させています。 √2 = sqrt(2) = Φ = (sqrt(5) + 1)/2 = 黄金比の長い方。短い方は小文字のφをあてることが多い。φ = 1/Φ = Φ - 1 = √3 = sqrt(3) = e = exp(1) = π = 4 * atan2(1,1) = ファイゲンバウム定数 詳しくは Feigenbaum Constant -- from Wolfram MathWorld Feigenbaum constants - Wikipedia, the free encyclopedia

    404 Blog Not Found:グラフィックに役立つ数学的事実
  • 定番アルゴリズムを徹底理解! - 今からでも遅くない!アルゴリズム入門:selfup

    このパートでは,プログラミングを勉強するうえで欠かせないアルゴリズムの中でも定番中の定番を紹介します。ソート(並べ替え)やサーチ(検索)などの機能は今では標準のライブラリとして提供されています。実用的なプログラムを作るときにそのものずばりをいちいち書く機会は少ないかもしれません。しかし定番のアルゴリズムは,様々に形を変えて普段のプログラミングに登場します。 解説を読んで仕組みがわかったら,ぜひそれをプログラムにしてみてください。読んだだけではプログラムを書けるようにはなりませんし,プログラムを書いてみて初めて,実は十分に理解できていなかったと気付くことがよくあります。しかもアルゴリズムは特定のプログラミング言語に依存しないので,一度身に付ければ,後でどんな言語を学ぶ場合でも役に立ちます。 1番目から6番目まではソートのアルゴリズム,7番目から9番目まではサーチのアルゴリズムです。一つひとつ

    定番アルゴリズムを徹底理解! - 今からでも遅くない!アルゴリズム入門:selfup
    ll_koba_ll
    ll_koba_ll 2006/11/02
    ソートとサーチのアルゴリズム
  • アルゴリズム for Ruby

    ●冨倉メモ Ruby のソートメソッドは、クイックソートを使っている。 バブルソート 基的な考え方 先頭から順に見ていって、左右の並びがおかしいところがあれば、入れ替える。 最後までたどり着いたら再び先頭に戻って、同じように見ていく。 1度も並び替えをすることなく先頭から最後まで見終わったら完了。 class BubbleSort def initialize( n ) @target = Array.new(n) end def main puts "準備中" @target.each_index do |i| # ----- 配列にランダムな値を格納 @target[i] = rand(1000) end p @target puts "並び替え開始" bubbleSort() puts "終了" p @target end private # ----- ソートアルゴリズム def

    ll_koba_ll
    ll_koba_ll 2006/08/23
    ソートなどのアルゴリズムをrubyで
  • アルゴリズムの紹介

    ここでは、プログラムなどでよく使用されるアルゴリズムについて紹介したいと思います。 こんなことやって意味あるのかどうか正直言って迷いました。プログラマはたいてい知っているような内容だし見る人もいないんじゃないかと思いましたが、これからプログラミングを始めてみようという方にとっては参考になるかもしれないし、何よりも自分にとって頭の中を整理できたりするので、これから定期的にやっていこうかと考えてます。 ところで、紹介する内容はほとんど過去に出版された書物関係から抜粋しています。一応下の方に参考文献として挙げておきますので興味を持たれた方は書店などで探してみてはいかがでしょうか? ということで、まずはライン・ルーチン(画面に直線を描画する)についての紹介です。

    ll_koba_ll
    ll_koba_ll 2005/11/15
    画面描画系のアルゴリズムの説明
  • 画像を同じ特徴を持つ複数の領域に分ける方法:CodeZine

    ここでは、最も簡単な「色を基準に分割する方法」を解説します。また、時間のかかる処理なので、高速化にも注力します。 また余談ですが、この方法を改良して「PRMUアルゴリズムコンテスト」に応募された方が審査員特別賞を受賞されました!対象読者 C++言語とWin32APIの基礎を習得している方を対象とします。C++言語はクラスの基礎がわかっていれば大丈夫です。画像の入出力方法については解説しませんが、便利なクラスを付加しますので、よくわからない方は使い方だけを覚えて下さい。DIB(デバイス独立ビットマップ)やDIBSectionがわからない方、画像入出力を勉強したい方は私のホームページに来て下さい。必要な環境 Visual C++ .NET 2002で開発し、Windows XP SP2で動作確認を行っています。Windowsプログラムが動く環境が必要です。時間のかかるプログラムなので、あまりに

    ll_koba_ll
    ll_koba_ll 2005/11/15
    難しいがFlashでも応用できるか?
  • Life is beautiful: ビル・ゲイツの面接試験―私の場合

    マイクロソフトの採用面接がユニークであることは、「ビル・ゲイツの面接試験-富士山をどう動かしますか」というで一時話題になった。もちろん、私自身もマイクロソフト社で面接官として数え切れないほどのエンジニアの面接を担当し、自分なりに工夫して作り出した試験問題を幾つも用意していた。今日は、その一つを披露して、得意のうんちくを展開しよう。 [問題] 二次元座標上に、それぞれの辺がX軸・Y軸と平行に置かれた長方形Aと長方形Bがあるとする。その時、長方形Aと長方形Bが一部でも重なるかどうかを判断する条件式を書け。フォーマットは、CやJavaなどのコンピューター言語でも良し、単なる数式でも良い。制限時間は30分。ただし、考えていることを声に出し、ホワイト・ボードを使って自分の考えのプロセスを説明しながら解くこと。 もし、これからプロのソフトウェア・エンジニアを目指そうという理科系の学生がこのブログを

    ll_koba_ll
    ll_koba_ll 2005/11/15
    Life is beautiful: ビル・ゲイツの面接試験―私の場合
  • 1