Index

Sample Graphic of barbe_generative_diary

ミンコフスキー距離を使用した barbe_generative_diary のグラフィックサンプルです。

ミンコフスキー距離は、ドイツの数学者ヘルマン ミンコフスキーにちなんで名付けられたこの距離測定です。パターン認識、画像処理、クラスタリング分析など、さまざまな分野で多用途のツールとして機能します。 ミンコフスキー距離が何を意味するのか、そしてプログラム コードでミンコフスキー距離を使用して円を作成する方法を見てみましょう。

ミンコフスキー距離とは?

ミンコフスキー距離は、多次元空間内の 2 点間の距離を計算する一般化された計量です。 これは本質的に、正規ベクトル空間における 2 つのベクトル間の非類似性の尺度です。 n 次元空間内の 2 点 X と Y の間のミンコフスキー距離を計算する式は、次のとおりです。

  • D(X,Y) は、点 XYの間のミンコフスキー距離を表します。
  • xiyii 番目の次元の 2 つの点に対応します。
  • p はミンコフスキー距離の次数を定義するパラメーターです。p=1 の場合はマンハッタン距離に対応し、 p=2 の場合はユークリッド距離になります。

ミンコフスキー距離のさまざまな次数

  1. マンハッタン距離 (p=1): マンハッタン距離は、格子状のパスに沿った 2 点間の距離を計算します。 これは、デカルト座標の絶対差の合計として計算されます。
  2. ユークリッド距離 (p=2): おそらく最もよく知られた距離計であるユークリッド距離は、空間内の 2 点間の直線距離を表します。 これはピタゴラスの定理から導出され、2 つの点を結ぶ線分の長さを測定します。
  3. その他: ミンコフスキー距離は p=1 and p=2だけに制限されません。任意の実数 p≥1を使用することができます。また p の値が大きいほど、1 次元の大きな差に重みがかかりますが、値が小さいほど、重みがより均一に分散されます。

次の図は、さまざまな p 値を使用した単位円 (すべての点が中心から単位距離にある距離関数のレベル セット) を示しています。

Processingにてミンコフスキー距離を使って円(図形)を作成する方法

以下のコードは、Processingの都合上綺麗な図形を描くため、HALF_PI ごとに個別に作成されます。


//Minkowski distance|Circles
float radius = 200;
void setup() {
  size(500, 500);
  noFill();
}

void draw() {
  background(255);
  translate(width / 2, height / 2);
  
  noStroke();
  fill(0,100);
  minkowskiCircles();
}

void minkowskiCircles() {
  float[] pValues = {0.5, 1, 2, 3};
  for (float p : pValues) {
    beginShape();
    for(int i=0; i<4; i++){
      for (float angle = 0; angle < HALF_PI; angle += 0.01) {
        float x = cos(angle + HALF_PI*i);
        float y = sin(angle + HALF_PI*i);
        float scale = pow(pow(abs(x), p) + pow(abs(y), p), 1/p);
        vertex(radius * x / scale, radius * y / scale);
      }
    }
    endShape(CLOSE);
  }
}

結果

Recommended Book / barbe_generative_library

Grid-Systems-Raster-Systeme

Grid systems in graphic design – Josef Müller-Brockmann

グリッドシステムとは。

グリッドシステムとは、連続した行と列に基づいてテキストやイメージを配置しデザインの整合性と視認性を高めるレイアウト手法です。元々は印刷レイアウトのために考えられたものですが、現在ではWebデザインなど、あらゆるデザイン設計において利用され、ProcessingやP5jsなど2Dでグラフィックを制作する場合にも、このグリッドシステムから学べる事は多い。

ーーーーー
► 『Grid systems in graphic design 』(Josef Müller-Brockmann

1981年に刊行された完全日本語訳版。
初版/ 2019.11.9
ページ数/184ページ
出版社/ボーンデジタル
言語/日本語