Добавьте файлы проекта.
This commit is contained in:
57
Geometry/Vector.cs
Normal file
57
Geometry/Vector.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
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] };
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user