private Accord.Point[] PerformProjection(Vector3[] model, Matrix4x4 transformationMatrix, int viewSize)
{
Accord.Point[] projectedPoints = new Accord.Point[model.Length];
for (int i = 0; i < model.Length; i++)
{
Vector3 scenePoint = (transformationMatrix * model[i].ToVector4()).ToVector3();
projectedPoints[i] = new Accord.Point(
(int)(scenePoint.X / scenePoint.Z * viewSize),
(int)(scenePoint.Y / scenePoint.Z * viewSize));
}
return projectedPoints;
}