Files
GroundOrganizer/Geometry/Vector.cs
2026-01-06 02:07:18 +03:00

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] };
}
}
}