Learn R Programming

LatticeKrig (version 9.3.0)

directionCosines: Utility functions for spherical coordinate and projections.

Description

Convert back and forth between lon/lat and direction cosines and also project spherical coordinates on a local tangent plane.

Usage

directionCosines(x)
toSphere( Grid)
projectionSphere(x1, x2)

Value

directionCosines A three column matrix of direction cosines.

toSphere A two column matrix of longitudes and latitudes.

projectionSphere A two column matrix of Euclidean coordinates on the tangent plane to x1. The convention is that the origin (0,0) is mapped to x1 and the X- axis are points along the meridian through x1. The Y axis are points on the great circle passing through x1 and perpendicular to the meridian.

Arguments

x

A two column matrix of lon/lat coordinates in degrees.

x1

A vector of direction cosines defining the intersection of the tangent plane with the unit sphere

x2

A matrix of direction cosines that will be projected onto the plane defined by x2.

Grid

A three column matrix of direction cosines

Author

Doug Nychka

Details

The conversion functions are based on straight forward definitions of spherical coordinates. The projection function is done by two rotations, first around the Z axis and then around the Y axis.

Examples

Run this code
# 
# icosahedron:
 phi = (1 + sqrt(5))/2
  V = matrix(c(0, 1, phi, 0, 1, -phi, 0, -1, phi, 0, -1, -phi, 
        1, phi, 0, -1, phi, 0, 1, -phi, 0, -1, -phi, 0, phi, 
        0, 1, -phi, 0, 1, phi, 0, -1, -phi, 0, -1), 12, 3, byrow = TRUE)

# check : library( rgl); plot3d( V, size=10, col="red4" )
# as lon lat:
V2<- toSphere( V)
plot( V2)

# lon lat grid
 lGrid<- make.surface.grid(  list(x= seq( -10,10,, 10), y= seq( -20,20,,10)) )
 
 dGrid<- directionCosines( lGrid)
 pairs( dGrid)
 # also try:   library( rgl); plot3d(  dGrid)
 

Run the code above in your browser using DataLab