タグ

algorithmとJavaに関するedo_m18のブックマーク (3)

  • Javaゲーム制作記 任意多角形の三角形分割

    今日はゲームの更新ではありませんが、 物理ゲームを作る過程で生まれた問題の解決方法です。 「任意多角形の三角形分割」 です。 今使っている物理エンジンは、凸包(凹んでない多角形)しか扱えません。 とすると、多角形の作成に制限が出てしまいます。 前に、 ほんとは用意しないつもりだったけど、手が滑って(?) 「ぐりぐりポリゴンが書けるツールを用意する」 と言ってしまったので、せっかくなので作ります。 "任意多角形の三角形分割"などと書きましたが、 「適当な図形を全部三角形で作ってみよう」という事です。 すごく参考になったページがあります。 [お勉強] 非凸多角形の三角形分割 ※勝手にリンク貼りました。すみません 手法とかはこのページを見れば大体分かるのだけど、 ちょっと難しくてわからないと言う人向けに詳しい解説を用意しました。 長くなるので続きからどーぞ

  • 計算量を具体的に見てみる 2009-01-06 - きしだのはてな

    アルゴリズムの話では、計算量の解析がかかせません。 計算量はオーダー記法で表されますが、これは、データの入力量に対してどのくらい時間がかかるかをあらわしたものです。 こういった話はどのアルゴリズムのにも載ってるはずですが、具体的にどのようなプログラムを書くとそのオーダーになるかという記述はあまりありません。 ということで、やってみました。 計算時間表示のための共通処理を行うクラスは、一番最後に書いてます。 O(1) 計算時間がO(1)のアルゴリズムは、処理が入力の量によらない場合です。 配列の要素のアクセスや、ハッシュテーブルによるデータ検索、連結リストへの追加削除などがこれにあたります。 コードには入力量でのループが含まれません。 public class O1 extends ViewCompFrame{ @Override void compute(int n) { proc();

    計算量を具体的に見てみる 2009-01-06 - きしだのはてな
  • オブジェクト指向プログラミングの教え方? | システム設計日記

    技術者仲間で話していたら、4月入社の新人に、オブジェクト指向プログラミングをどうやって教えたらよいか?、という話になった。 想定している言語は Java。 ■動物・犬・モデルの説明から ■基用語の説明から:「カプセル化とは」「継承とは」... ■サンプルコードから: System.out.println( "hello world" ) ... どのパターンでもうまくいかなかったので、今度の新人研修では何か工夫したいね、という話。 結論から言うと「これだ」というアイデアがでたわけではないが、話の内容は、いろいろ興味深かったのでメモ書き。 Java はオブジェクト指向の言語なの? Java は、ある意味 C言語の仲間。ある側面はほとんど同じ言語。 ・int, long (プリミティブなデータ型) ・配列操作 ・if/for/return ここだけ見れば、C言語のまま。つまり命令型、手続き

  • 1