プログラミング言語で使用されるベクトル(配列など) とベクトル グラフィックスの関係は (もしあれば) ?
なぜ彼らはベクトルという用語を共有するのですか? それは彼らの性質のいくつかの類似した側面を表していますか、それとも偶然ですか?
それについて考えると、ビットマップ イメージはピクセルの配列で表されるため、ベクター グラフィックという用語に適しています。
プログラミング言語で使用されるベクトル(配列など) とベクトル グラフィックスの関係は (もしあれば) ?
なぜ彼らはベクトルという用語を共有するのですか? それは彼らの性質のいくつかの類似した側面を表していますか、それとも偶然ですか?
それについて考えると、ビットマップ イメージはピクセルの配列で表されるため、ベクター グラフィックという用語に適しています。
ベクトルは一連の値であり、「通常」(数学者は私を殺すでしょう) のもの (関数、または他のベクトル) の線形結合の係数を表します。
たとえば、あなたが言うとき
[4, 3, 7]
基底は x の累乗指数のセット (つまり、1、x、x^2、x^3 など) であり、このベクトルは多項式を表します
4 + 3x + 7 x^2
たとえば、3 次元空間の任意の方向など、別の基準を使用すると、同じベクトルが 3 次元空間の方向を表します。
4i + 3j + 7k
(横方向の考察: 3 次元空間は 3 次元の有限ベクトル空間であることに注意してください。一方、多項式空間は無限ベクトル空間、またはより適切に定義されたヒルベルト空間です)
これは、始点から終点まで、空間内の特定の方向を指すベクトル (矢印と考えてください) です。慣例では、i、j、および k は、3 次元ベクトル空間のいわゆる基底集合ベクトルであり、各点の座標は x、y、および z として表されます。つまり、空間内のすべての点と空間内のすべての方向はx, y, z
、空間ベクトルを表す 3 つの数値 (ベクトル) で表すことができますx * i + y * j + z * k
。
ベクター グラフィックスでは、グラフィック エンティティをピクセルのグリッド (ラスター グラフィックス) としてではなく、数式として表現します。曲線は、パラメータ化された数式として記述されます。数学的記述は基本的に無限の解像度を持つため、これにより表示用の多くの優れたプロパティが開かれます。また、これらのエンティティに対して、回転などの数学的変換をその記述を損なうことなく適用することもできます。これらの変換は、ベクトル空間や行列などの変換を管理する分野である線形代数に深く根ざしています...
それらは数学における根本的な意味を共有しています。
グラフィックスの意味 (空間内の任意の位置からの連続値のオフセット) は、それを表すために数学ベクトルを使用するという事実から派生します(たとえば、開始点とオフセットを表すもの)。
プログラミング言語の意味 (順序付けられた数字のセット) は、数学的バージョンを書き留める 1 つの方法です。
ベクトルは、 などの順序付けられた値のグループです<1, 2, 3>
。固定サイズで多数の値を表し、ベクトル内のそれらの位置が重要であるため、配列とは異なります。配列は、物事の順序付けられたコレクションです。要素の順序は重要ですが、位置は重要ではありません。その中のものは一般的にすべて同じタイプです。
ベクトルが表さ<# apples, # oranges, # pears>
れている場合、 として解釈できます<1 apple, 2 oranges, 3 pears>
。それが表されている場合、上記は(ユークリッド ベクトル<X position, Y position, Z position>
)を意味する可能性があります。したがって、ベクトルは任意の次元で座標を表すことができ、ベクトル グラフィックスに情報を格納するために使用されます。<1 in the X axis, 2 in the Y axiz, 3 in the Z axis>
幾何学的な概念である数学用語「ベクトル」から来ていると思います。離散ピクセルではなく、(理論的には) 連続領域に値を持つ数学的ベクトルを操作すると、任意の精度で計算できます。グラフィックス アプリケーションでは、画像を表示する倍率に関係なく、正確なポイント位置を保持できることを意味します。
ベクトル グラフィックは、エイリアシングなしでズームできるため、「通常の」グラフィックとは異なります。これは、各線やその他のオブジェクトが「ピクセルごと」の通常のグラフィックではなくベクトルで表されるため、ベクトル グラフィックと呼ばれます。