@devilogic
2020-05-07T20:14:15.000000Z
字数 956
阅读 710
我的无人车之路
mymath
线段操作(2D)源文件line_segment2d.hpp中。主要封装了对2D线段的一些基本操作,例如:生成线段,判断一个点是否在线段上,计算点到线段的距离。本模块直接包含即可使用,无需再有其他源文件支持。
函数名 | 说明 |
---|---|
LineSegment2d |
此类提供了默认的构造函数,没有任何参数默认,使用单位向量(1,0) 作为线段方向。 |
LineSegment2d(start, end) |
指定线段的起始与结束的端点。 |
start |
起始坐标点。 |
end |
结束坐标点。 |
unit_direction |
返回线段方向点。 |
center |
返回线段的中点坐标。 |
heading |
返回线段与x轴的夹角。 |
cos_heading |
返回线段在x轴上的坐标。 |
sin_heading |
返回线段在y轴上的坐标。 |
length |
线段长度。 |
length_sqr |
线段长度的二次方。 |
distance_to(point) |
计算线段与点的距离。 |
distance_to(point, nearest_pt) |
获取线段与点最近点的坐标并返回之间的长度,并将点的坐标返回到nearest_pt 中。 |
distance_square_to(point) |
计算线段到点point 的最短距离的平方。 |
distance_square_to(point, nearest_pt) |
获取线段与点最近点的坐标并返回之间的长度的平方,并将点的坐标返回到nearest_pt 中。 |
is_point_in(point) |
判断点是否在线段上。 |
has_intersect(other_seg) |
计算两条线段是否有交点。 |
get_intersect(other_seg, point) |
判断与线段other_seg 的是否有交点,并将交点坐标返回到point 中。 |
project_onto_unit(vec) |
计算一个向量在线段上的内积。 |
product_onto_unit(vec) |
计算一个向量在线段上的叉积。 |
get_perpendicular_foot |
计算一个点到线段的垂足。 |
is_with_in(val, bound1, bound2) (静态) |
判断val 是否在bound1 与bound2 之间。 |