58 lines
1.2 KiB
C#
58 lines
1.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Geo
|
|
{
|
|
[Serializable]
|
|
public class Vector : IVector
|
|
{
|
|
double[] arr;
|
|
int n;
|
|
|
|
public int N { get => n; }
|
|
public double this[int i] { get => arr[i]; set => arr[i] = value; }
|
|
|
|
public Vector(int N)
|
|
{
|
|
n = N;
|
|
arr = new double[N];
|
|
}
|
|
|
|
public Vector(Vector source)
|
|
{
|
|
n = source.N;
|
|
arr = new double[source.N];
|
|
arr = (double[])source.arr.Clone();
|
|
}
|
|
|
|
public Vector(Vector3d source)
|
|
{
|
|
n = 3;
|
|
arr = new double[n];
|
|
arr[0] = source.Vx;
|
|
arr[1] = source.Vy;
|
|
arr[2] = source.Vz;
|
|
}
|
|
|
|
public Vector(double[] source)
|
|
{
|
|
n = source.Length;
|
|
arr = new double[source.Length];
|
|
arr = (double[])source.Clone();
|
|
}
|
|
|
|
public double[] ToArray()
|
|
{
|
|
return arr;
|
|
}
|
|
|
|
public Vector3d ToVector3d()
|
|
{
|
|
return new Vector3d { Vx = arr[0], Vy = arr[1], Vz = arr[2] };
|
|
}
|
|
}
|
|
}
|