Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

When I want to calculate the coordinates of a location (e.g., a nest or burrow) based on distance and bearing from a grid point, this function helps me avoid writing down SOH-CAH-TOA every time. Just note that the bearing in this case is from the grid point (known location) to the unknown location.
```polar2cart<-function(x,y,dist,bearing,as.deg=FALSE){
## Translate Polar coordinates into Cartesian coordinates
## based on starting location, distance, and bearing
## as.deg indicates if the bearing is in degrees (T) or radians (F)

if(as.deg){
##if bearing is in degrees, convert to radians
bearing=bearing*pi/180
}

newx<-x+dist*sin(bearing)  ##X
newy<-y+dist*cos(bearing)  ##Y
return(list("x"=newx,"y"=newy))
}

##Example

oldloc=c(0,5)
bearing=200 #degrees
dist=5

newloc<-polar2cart(oldloc,oldloc,dist,bearing,TRUE)
plot(oldloc,oldloc,xlim=c(-10,10),ylim=c(-10,10))
points(newloc\$x,newloc\$y,col="red")
```