MCPcopy Create free account
hub / github.com/GenericMappingTools/gmt / gmtplot_smallcircle_az

Function gmtplot_smallcircle_az

src/gmt_plot.c:5047–5059  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5045}
5046
5047GMT_LOCAL double gmtplot_smallcircle_az (struct GMT_CTRL *GMT, double P[], struct GMT_SYMBOL *S) {
5048 /* Compute the azimuth at P along small circle given pole */
5049 double R[3][3], X[3], xlon1, xlat1, xlon2, xlat2, az;
5050 /* Make rotation matrix for a +0.005 degree rotation */
5051 gmt_make_rot_matrix (GMT, S->v.pole[GMT_X], S->v.pole[GMT_Y], -0.005, R);
5052 gmt_matrix_vect_mult (GMT, 3U, R, P, X); /* Get point really close to P along small circle */
5053 gmt_cart_to_geo (GMT, &xlat1, &xlon1, X, true); /* Get coordinates of X */
5054 gmt_make_rot_matrix (GMT, S->v.pole[GMT_X], S->v.pole[GMT_Y], +0.005, R);
5055 gmt_matrix_vect_mult (GMT, 3U, R, P, X); /* Get point really close to P along small circle */
5056 gmt_cart_to_geo (GMT, &xlat2, &xlon2, X, true); /* Get coordinates of X */
5057 az = gmt_az_backaz (GMT, xlon1, xlat1, xlon2, xlat2, false); /* Compute the azimuth from P to X at A */
5058 return (az);
5059}
5060
5061GMT_LOCAL void gmtplot_plot_vector_head_fill (struct GMT_CTRL *GMT, double *xp, double *yp, uint64_t n, struct GMT_SYMBOL *S) {
5062 /* PW: Plots the polygon that makes up a vector head. Because sometimes these head stick

Callers 1

Calls 4

gmt_make_rot_matrixFunction · 0.85
gmt_cart_to_geoFunction · 0.85
gmt_az_backazFunction · 0.85
gmt_matrix_vect_multFunction · 0.70

Tested by

no test coverage detected