0.6.0
Loading...
Searching...
No Matches
geometry.f90 File Reference

Modules

module  mod_geo_tools
 

Functions/Subroutines

double precision function, dimension(3) mod_geo_tools::find_zero_position (x1, x2, phi1, phi2)
 Find the position of the point where phi is zero, given linear approximation.
 
double precision function, dimension(3) mod_geo_tools::project_point_on_sphere (x, c, r)
 
double precision function, dimension(3) mod_geo_tools::slerp (p0, p1, theta, t)
 
double precision function mod_geo_tools::compute_cos_angle (v1, v2)
 Compute the cosinus of the angle between two vectors v1 and v2.
 
double precision function mod_geo_tools::compute_sinangle (v1, v2)
 Compute the sinus of the angle between two vectors v1 and v2.
 
double precision function, dimension(3) mod_geo_tools::find_position_sphere (x, orig, dist, normal, x_radius, min_cos_angle, effective_cos_angle, is_debug)
 Find the position of the point in the surface with spherical approximation.
 
double precision function, dimension(3) mod_geo_tools::find_position_plane (x, orig, dist, normal, max_dist, effective_dist, is_debug)
 
double precision function, dimension(3) mod_geo_tools::restrain_descent (x1, x2, max_step)
 Restrain the advance from x1 towards x2 up to max_step.
 
double precision function, dimension(3) mod_geo_tools::compute_best_point_with_angles (x1, theta1, x2, theta2)
 Return the interpolated point between x1 and x2, given respective angles by linear interpolation between theta1 and theta2. In practice, compute the interpolation parameter \( \alpha \in [0,1]\) such that \( \theta( \alpha ) = \theta_1 + (\theta_2 - \theta_1) \alpha \). We search for \( alpha = 0 \). Finaly, the result is \( X(\alpha) = X_1 + \alpha (X_2 - X_1) \).