public static DataSource CreateTangentPotentialField(PotentialField field, int width = 200, int height = 200)
        {
            var vectorArray = DataSource2DHelper.CreateVectorData(width, height, (x, y) =>
            {
                return(field.GetTangentVector(new Point(x, y)));
            });

            return(CreateVectorField(width, height, vectorArray));
        }
		public static DataSource CreateTangentPotentialField(int width = 200, int height = 200, params PotentialPoint[] points)
		{
			var potentialField = new PotentialField();
			potentialField.AddPoints(points);
			var vectorArray = DataSource2DHelper.CreateVectorData(width, height, (x, y) =>
			{
				return potentialField.GetTangentVector(new Point(x, y));
			});

			return CreateVectorField(width, height, vectorArray);
		}
        public static DataSource CreateTangentPotentialField(int width = 200, int height = 200, params PotentialPoint[] points)
        {
            var potentialField = new PotentialField();

            potentialField.AddPoints(points);
            var vectorArray = DataSource2DHelper.CreateVectorData(width, height, (x, y) =>
            {
                return(potentialField.GetTangentVector(new Point(x, y)));
            });

            return(CreateVectorField(width, height, vectorArray));
        }
		public static DataSource CreateTangentPotentialField(PotentialField field, int width = 200, int height = 200)
		{
			var vectorArray = DataSource2DHelper.CreateVectorData(width, height, (x, y) =>
			{
				return field.GetTangentVector(new Point(x, y));
			});

			return CreateVectorField(width, height, vectorArray);
		}