![]() | 1 | initial version |
Now, I am not an expert on this subject but I kind of know the basic answer to your question. I just might not do the best job at explaining it...
It is because of thematic relations
If you consider the difference between the following examples it might make sense:
a. Don't throw that at me b. Don't throw that to me
In example a, "me" is the direction In example b, "me" is the recipient or experiencer (it's a bit hard to figure out exactly which one it is but it doesn't really matter).
This is the same for your examples. Essentially, one yells in a direction (such as towards something or someone), whereas one speaks to a recipient or experiencer.