these all can be done. but much maths calculation is involved, if you don't know how to calculate distance between points, you should find someone who is good in maths, geometry, computer graphics, java programming to do this. it takes a lot to do the work, you can't learn all these in a few weeks.