This evaluates relative distance of given point on line
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_point_type), | intent(in) | :: | point | |||
type(tem_line_type), | intent(in) | :: | line |
function fraction_PointLine( point, line ) result( frac ) type( tem_point_type ), intent(in) :: point type( tem_line_type ), intent(in) :: line real(kind=rk) :: numerator, denominator, frac numerator = ( point%coord(1) - line%origin(1) ) & & * ( point%coord(1) - line%origin(1) ) & & + ( point%coord(2) - line%origin(2) ) & & * ( point%coord(2) - line%origin(2) ) & & + ( point%coord(3) - line%origin(3) ) & & * ( point%coord(3) - line%origin(3) ) denominator = line%vec(1) * line%vec(1) & & + line%vec(2) * line%vec(2) & & + line%vec(3) * line%vec(3) frac = sqrt( numerator / denominator ) end function fraction_PointLine