public void ApplyForce(ref Vector2 point, ref Vector2 force)
{
Vector2 R = (position - point);
float torqueF = Vector3.Cross(VectorHelper.Vector3FromVector2(R), VectorHelper.Vector3FromVector2(force)).Z;
for (int i = 0; i < count; i++)
{
Vector2 toPt = (pointmass_list[i].position - position);
Vector2 torque = VectorHelper.Rotate(toPt, -(float)(Math.PI) / 2f);
pointmass_list[i].force += torque * torqueF;
pointmass_list[i].force += force;
}
}