Effect of incoming force on linear vs. angular velocity First of all, I should note that I'm a programmer and have only an extremely basic understanding of physics; I only know how to explain my question in layman's terms and I apologize if I'm unclear or unnecessarily verbose.
If there's a rigid square object of size 1x1 and mass 1 on a two-dimensional frictionless plane, and while stationery it is struck by a force of strength 1 at exactly halfway along one of its sides from directly perpendicular to said side, like so:

then my intuitive understanding is that it will begin traveling at a speed of 1 in the direction of the force.
Similarly, if it is struck exactly on a corner by a force of strength 1 that is exactly perpendicular to the square's diagonal (at a 45* angle to its side), like so:

then my intuitive understanding is that it will begin spinning (I don't know how fast) but remain stationery.
What I don't know is how to work out what will happen if it is struck at any other point or from any other angle.  For example, if struck three-quarters of the way down a side at an angle perpendicular to the side, like so:

It seems as though it should cause it to begin moving (in some direction, at some speed) and spinning (at some speed), and the less perpendicular to the square's center of gravity the force is, the more it will spin and the less it will move.  Is there a formula that, given the magnitude, angle, and impact point of the force, exactly how fast it will spin vs. how fast and in what direction it will move?
More generally, how does one work out the answer to this sort of problem when applied to objects of other shapes/sizes/masses when impacted by other forces?  Does it make a difference if the object is already moving or spinning?  
(Also, are any of my intuitive understandings actually entirely incorrect?)
 A: When you hit anything with a force, it causes an acceleration in the direction of the force. So if you hit the square at the corner like so:

It would start moving upwards.
However, it also experiences a torque about its center of mass. This torque can be calculated as the force multiplied by the perpendicular distance between the center of mass and the line of action of the force. In this case, the distance is half of the diagonal. Remember, the line along which you measure the distance must be perpendicular to the line of action of the force, AND pass through the center of mass.
Once you have the torque $T = F \times r$, you can find the angular acceleration of the object as $T = I\alpha$ where $I$ is the moment of inertia of your object, and $\alpha$ is the angular acceleration
In the first case, i.e.

There is no rotation because the line of action of the force passes through the center of mass of the square, meaning the perpendicular distance is zero, and hence there is no torque.
A: A force affects the motion of the center of mass only (call it point C). 
The rotational motion is defined by the total torque applied on the center of mass.
If the applied force $(F_x,F_y)$ is at location $(r_x, r_y)$ relative to the center of mass then
$$ \begin{aligned} 
  F_x &= m \ddot{x}_C \\
  F_y &= m  \ddot{y}_C \\
  r_x F_y - r_y F_x & = I \ddot{\theta}
\end{aligned}$$
are the equations of motion on the plane.
A: I've been wondering a lot about this too. So far I haven't got any straight answers, and I've asked around a lot.
Angular acceleration is easy - if you have either a moment of inertia (2D) or an inertia tensor (3D+) I, then the angular acceleration due to a force is simply $\alpha=I^{-1}\tau$ for torque $\tau=\vec{F}\textrm{x}\vec{r}$, with a force $\vec{F}$ applied at a point $\vec{r}$ on your object.
A couple things that may help:
-There is going to be some net energy change to the system, in terms of introduced kinetic energy. Whatever energy doesn't go to angular acceleration goes to linear acceleration. I'm not sure how you would do this, but you can.
If you just need an estimation (engineering, not physics, I guess) for a computer simulation or something, I would just do this:
$\vec{F}$ is the force applied to the object. $\vec{p}$ is the vector from the application point to the origin of the object, and $\hat{p}$ is the unit vector in the direction of $\vec{p}$. I would say $\vec{F}_{linear}=\vec{F}^T\hat{p}$, the dot product of the force and unit direction vector. This will give you some fraction of the force - 100% if the force is directly in line with the center of mass of the object, and 0% if it is completely orthogonal, with values in between otherwise.
From there, you can then set angular acceleration $\vec{a}=m^{-1}\vec{F}_{local}$ where $m$ is the mass of the object.
EDIT: I say estimation, because this seems really intuitive to me, but I have no good solid proof to back it up. It looks like a duck and it quacks like a duck though, so I put it up.
