Vec2f
В зависимости от вашего приложения вы можете просто использовать System.Drawing.PointF
, двумерную точку с плавающей точкой для хранения I
и J
как X
и Y
. Однако это не будет поддерживать некоторые функции opencv, которые вы можете использовать. В этом случае Vec2f
- это просто матрица 1 на 2 из float
, для этого вы можете использовать:
Matrix<float> myVec2F = new Matrix<float>(1, 2);
В качестве бонуса используйте этот класс, если хотите:
public class Vec2F: Matrix<float>
{
public float I
{
get { return base[0, 0]; }
set { base[0, 0] = value; }
}
public float J
{
get { return base[1, 0]; }
set { base[1, 0] = value; }
}
public Vec2F() : base(2, 1) { }
public Vec2F(float I, float J) : base(2,1)
{
this.I = I;
this.J = J;
}
}
Используется как:
Vec2F myVec2F = new Vec2F();
Norm
В контексте 2D-векторов это просто Пифагор для определения величины, однако, если вы использовали Matrix<float>
выше, теперь он поддерживает myVec2F.Norm
.
Acos
System.Math.Acos()
... просто.