[关闭]
@devilogic 2020-05-07T20:14:15.000000Z 字数 956 阅读 736

MyMath数学库(七) - 线段

我的无人车之路 mymath


线段操作(2D)源文件line_segment2d.hpp中。主要封装了对2D线段的一些基本操作,例如:生成线段,判断一个点是否在线段上,计算点到线段的距离。本模块直接包含即可使用,无需再有其他源文件支持。

7.1 函数表

函数名 说明
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是否在bound1bound2之间。

7.2 计算与指定点之间的距离

7.3 获取两条线段的交点

7.4 计算一个向量与线段的内积与外积的意义

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注