タグ

algorithmとtipsに関するruedapのブックマーク (7)

  • アルゴリズムの紹介

     ここでは、プログラムなどでよく使用されるアルゴリズムについて紹介したいと思います。 元々は、自分の頭の中を整理することを目的にこのコーナーを開設してみたのですが、最近は継続させることを目的に新しいネタを探すようになってきました。まだまだ面白いテーマがいろいろと残っているので、気力の続く限りは更新していきたいと思います。 今までに紹介したテーマに関しても、新しい内容や変更したい箇所などがたくさんあるため、新規テーマと同時進行で修正作業も行なっています。 アルゴリズムのコーナーで紹介してきたサンプル・プログラムをいくつか公開しています。「ライン・ルーチン」「円弧描画」「ペイント・ルーチン」「グラフィック・パターンの処理」「多角形の塗りつぶし」を一つにまとめた GraphicLibrary と、「確率・統計」より「一般化線形モデル」までを一つにまとめた Statistics を現在は用意して

  • 5年後に後悔しないJavaプログラムの書き方 - L'eclat des jours(2009-07-02)

    _ 5年後に後悔しないJavaプログラムの書き方 ここ数日、死ぬほど後悔しまくっているので、あらためて(というのは、数年前にも一度後悔しまくって、そのときの知見はあらかた処方箋とかコーディングの掟に書いているからだが)後悔しないための書き方をいくつか紹介する。 とにかく、ファクトリメソッドパターンを使うこと。 これは当に重要。しかも簡単でありながら効果は絶大。 だめな例。 public class FooBar { private Connection conn; ... protected void setup() { ... conn = DriverManager.getConnection(url); ... } urlを指定することや、DriverManagerの実装を交換すれば良いだろうと想定していても(というか、Connectionならそういう方法もあり得るが、そうはいかな

  • いろいろな曲線

    グラフ描画についての指針 グラフを調べる場合、次のことを念頭において計算を進めればよい。 (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 としてよい。このとき、与えら

  • Flashで数値計算を高速化する方法 - yukobaのブログ

    Flashで3Dなどでシュミレーションをすると、今後ますます高速な数値計算が求められると思います。Adobe MAXでの発表にあたり、数値計算のベンチマークをとっていったら、どんどん速くなっていったので、現状ここまで速くなったというのをまとめます。この件について、id:gyuque さんに激しく色々と教えてもらいました。深くお礼を申し上げます。 テスト内容 テスト内容として、要素数 100K のベクトルの内積を扱います。ベクトルの内積や行列の掛け算は、数値計算の最重要計算であり、かつ、ベクトルの内積は実装しやすいので、これにしました。ベンチマーク環境は、Win XP の Pentium4 3.2GHzです。2次キャッシュは 1MB なので、ベクトルは2次キャッシュに収まりきっていません。また、Flash Player は flashplayer_10_sa_debug.exe を使用してい

    Flashで数値計算を高速化する方法 - yukobaのブログ
  • ベジエ曲線の仕組み (1) - 昔話 - てっく煮ブログ

    asドローソフトなどでもお世話になることが多いベジエ曲線について解説していくシリーズ。小学生のころ、BASIC でのサンプルを入力して遊んでいたのですが、あまりのきれいさに衝撃を受けたプログラムがありました。それはこんな絵を出力するプログラムでした。左上と左下の点をそれぞれの x 座標、y 座標を少しずつ増やしながら、直線を引いています。いくつもの四角形が端に行くにしたがって変形していくところが、いかにも近未来風の CG に見えました(当時は)。しかも、この絵は直線だけで構成されているのに、カーブして見えるところが不思議でなりませんでした。さて、15年のときを経て、このプログラムを ActionScript で実装してみました。点をドラッグして曲線の変化を楽しんでみてください。前置きが長くなりましたが、実はこのカーブして見える曲線の部分は2次ベジエ曲線になっています。3つの黒い点がベジエ

    ruedap
    ruedap 2009/03/09
    return new Point(p0.x * (1 - t) + p1.x * t, p0.y * (1 - t) + p1.y * t);
  • ActionScript3 最適化・高速化Tips 簡易まとめ - actionscriptグループ - ConquestArrow.addEventListener( LifeEvent.WORK, this.studyActionScript);

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    ActionScript3 最適化・高速化Tips 簡易まとめ - actionscriptグループ - ConquestArrow.addEventListener( LifeEvent.WORK, this.studyActionScript);
  • source-lab. scrap - slideshow.yugop.com 2007@多摩美術大学

    ●導入 ものを作る時に既存の道具や手法を使うのではなく、 その道具や手法を作るところからはじめる。 例えば絵を描く場合に筆や絵具を考えるところからはじめるようなもの。 中村勇吾のWebデザインにおいて、 その筆や絵具に変わるものがコードやプログラムであり、 そこから組み立ててデザインやディレクションを行う。 そしてコードやプログラムの集積である技法、表現の展開を模索することで、 新しいデザインを生み出している。 ●事例紹介 自分の仕事を大きく分けると、 ・Reactive Field ・Kinetic Composition ・Co-Existence ・Live Form ・Nonverbal Communication に大別できる。 □Reactive Field …反応する場 …空間と作用 インタラクティブを作る場合、 そのユーザーのアクションに対する『反応』をデザインするのではな

  • 1