V1 ベクトルの x 軸成分の値? =
  V1 ベクトルの y 軸成分の値? =
  V2 ベクトルの x 軸成分の値? =
  V2 ベクトルの y 軸成分の値? =

    

  V1 ベクトルの大きさ =

  V1 ベクトルの逆ベクトルの x 軸成分の値 =
  V1 ベクトルの逆ベクトルの y 軸成分の値 =

  V1 ベクトルと同じ向きの単位ベクトルの x 軸成分の値 =
  V1 ベクトルと同じ向きの単位ベクトルの y 軸成分の値 =

  V1 ベクトルと同じ向きで大きさが2倍のベクトルの x 軸成分の値 =
  V1 ベクトルと同じ向きで大きさが2倍のベクトルの y 軸成分の値 =

  V1 ベクトル と V2 ベクトル を合成したベクトルの x 軸成分の値 =
  V1 ベクトル と V2 ベクトル を合成したベクトルの y 軸成分の値 =

  V1 ベクトル と V2 ベクトル の内積の値 =

  V1 ベクトル に V2 ベクトル を外積したベクトル =
            ※ 値が正の数のときは、z 軸の正の方向を向いている。
  V1 ベクトルの終点 と V2 ベクトルの終点 との距離 =
################################################################################ <vector00.js > class Vector { constructor(x=0,y=0) { this.x = x; this.y = y; } // const v1 = new Vector() で 配列の要素数2個の v1 ベクトルの格納場所をメモリに確保する。 set(x,y) { //ベクトルを設定する this.x = x; this.y = y; return this; } clone() { return new Vector(this.x,this.y); } adds(v) { this.x += v.x; this.y += v.y; return this; } subs(v) { this.x -= v.x; this.y -= v.y; return this; } times(num) { this.x *= num; this.y *= num; return this; } get inverse() { //逆ベクトルを得る return this.clone().times(-1); } get magnitude() { //ベクトルの大きさを取得する const { x, y } = this; return Math.sqrt(x**2+y**2); } get normalized() { //正規化する const { x,y,magnitude } = this; return new Vector(x/magnitude,y/magnitude); } static time(v0,num) { //スカラー倍する return v0.clone().times(num) } static add(v1,v2) { //ベクトルを合成する return v1.clone().adds(v2); } static sub(v1,v2) { return v1.clone().subs(v2); } static dot(v1,v2) { //内積の値を得る return ( v1.x * v2.x + v1.y * v2.y ); } static cross(v1,v2) { //v1にv2を外積させてできるベクトルの大きさを得る return ( v1.x * v2.y - v1.y * v2.x ); } static distance(v1,v2) { //2つのベクトルの終点の間隔 return Vector.sub(v1,v2).magnitude; } }