   [.net] How to get the 3D coordinate of a point on a Model surface?
  now I'm working on a program, which is written in WPF.I got some codes from web which can parse .obj file into class ModelVisual3D, and then I can show it on the screen.But I'm now getting into another problem. Now I set the X and Y components of a point and I want to get the Z component, so that this point is on the Model surface. It seems that all I need to do is define a vertical line and get the cross point but I feel it easily said than done,especially when I realize that the model is stored as meshes and nodes in MoedelVisual3D. so is there someone who have solved this kind of problem or know what to do? plz help me, thanks a lot.   
  Cast a picking ray through the selected 2D screenpoint, and find the triangle it intersects in your model.  Find the barycentric coordinates of the triangle it intersects and use those to find the 3D point on the model the ray intersected.   