You can use PickedTiangle() and then TriangleVertex() to access a specific vert attached to the triangle you've picked. You will probably then have to find the distance from the picked point to each vert, using Pythag. The shortest distance is then the vert you want.
BTW, this may be of some interest:
http://www.blitzbasic.com/codearcs/codearcs.php?code=1008
As for creating smooth curves, you could always write a mesh terrain generator that uses a heightmap, just like blitz terrains do.
To solve the problem using math, I'm sure someone else here has already done this kind of thing and will come along and give the details, shortly. :)
BTW, this may be of some interest:
http://www.blitzbasic.com/codearcs/codearcs.php?code=1008
As for creating smooth curves, you could always write a mesh terrain generator that uses a heightmap, just like blitz terrains do.
To solve the problem using math, I'm sure someone else here has already done this kind of thing and will come along and give the details, shortly. :)