ラベル アルゴリズム の投稿を表示しています。 すべての投稿を表示
ラベル アルゴリズム の投稿を表示しています。 すべての投稿を表示

2015年6月28日日曜日

アルゴリズムプログラム 積

アルゴリズムをプログラムする方法を学ぶ。

積を計算することは、現代では0位取り表記によって大変容易になったが、古代エジプトなどでは専門性を求められるものであった。

積は和を複数回繰り返すことによって実現できる。コンピュータではビット演算を組み合わせることによってより効率的に積を計算することができる。

以下は、アーメスのアルゴリズムとその改善版を記述したコードである。
コードが最適化されているか常に思考し、よりよいコードに変換する作業を繰り返すことが大切だとわかる。


2013年4月22日月曜日

数式処理システム

おもしろく素晴らしい処理システム。
実用にいたるには、利用出来るところまでデータを取得、整理する必要がある。
認識技術を駆使して到達出来ないか。


・SAGE

http://www.sagemath.org/


・MATHMATICAのWEB版

http://www.wolframalpha.com/



2013年1月19日土曜日

アフィン変換行列を求めるのに必要な連立方程式をphpで解く

結構めんどくさいんですが、一度書いてやれば使いまわせます。

$pointには0~2までx1→x2、y1→y2という座標点の対応を入れる前提です。


2013年1月12日土曜日

【PHP】複数座標点の外接矩形から中心点を求める

与えられた複数座標に外接する矩形の中心点を求める。
選択した点の大体の中心を求める時に使う。

  public static function getCenterCoordinate($coordinates){
    // 初期化
    $max_x_value = $coordinates[0]['x'];
    $min_x_value = $coordinates[0]['x'];
    $max_y_value = $coordinates[0]['y'];
    $min_y_value = $coordinates[0]['y'];

    // 座標点を含む矩形の中点を作成して返す
    foreach($coordinates as $coordinate){
      if($coordinate['x'] < $min_x_value){
        $min_x_value = $coordinate['x'];
      }
      if($coordinate['y'] < $min_y_value){
        $min_y_value = $coordinate['y'];
      }
      if($coordinate['x'] > $max_x_value){
        $max_x_value = $coordinate['x'];
      }
      if($coordinate['y'] > $max_y_value){
        $max_y_value = $coordinate['y'];
      }
    }
    $center_value = array();
    $center_value['x'] = ($max_x_value + $min_x_value) / 2;
    $center_value['y'] = ($max_y_value + $min_y_value) / 2;

    return $center_value;
  }

もっとちゃんと中心をもとめたい場合は回転を考慮する。