I used triggers and the pythagorean theorem to achieve this effect. Hopefully having a trigger for each tree won't hurt the performance too much, but I really can't think of any other way to do it efficiently.
Thanks for your help
Michael Bartman
A6/A7 Commercial Edition
Programmer By Nature