angle_ll (Operator)
Name 名称
angle_ll — Calculate the angle between two lines. 计算两条线之间的夹角
Signature 签名
angle_ll( : : RowA1, ColumnA1, RowA2, ColumnA2, RowB1, ColumnB1, RowB2, ColumnB2 : Angle)
Description 描述
运算符angle_ll计算两条线之间的角度。输入第一行(RowA1,ColumnA1, RowA2,ColumnA2)和第二行(RowB1,ColumnB1, RowB2,ColumnB2)上点的坐标。计算过程如下:我们将直线解释为起点分别为RowA1、ColumnA1和RowB1、ColumnB1和终点分别为RowA2、ColumnA2和RowB2、ColumnB2的向量。将向量A逆时针旋转到向量B上(旋转中心是两条直线的交点)得到角度。结果取决于点的顺序和线的顺序。参数Angle返回以弧度为单位的角度,范围是-pi <= Angle <= pi。
Execution Information 执行信息
多线程类型:可重入(与非独占操作符并行运行)。
多线程作用域:全局作用域(可以从任何线程调用)。
没有并行化处理。
Parameters 参数
*参数
*RowA1 (输入参数)第一条直线第一点的行坐标。
*ColumnA1 (输入参数)第一条直线第一个点的列坐标。
*RowA2 (输入参数)第一条直线第二点的行坐标
*ColumnA2(输入参数)第一条直线第二个点的列坐标
*RowB1 (输入参数)第二条直线第一个点的行坐标。
*ColumnB1 (输入参数)第二条直线第一个点的列坐标。
*RowB2 (输入参数)第二条直线第二点的行坐标。
*ColumnB2(输入参数)第二条直线第二点的列坐标。
*Angle (输出参数)线条间的夹角[弧度]。
Example (HDevelop)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
RowA1 := 255
ColumnA1 := 10
RowA2 := 255
ColumnA2 := 501
gen_contour_polygon_xld (Contour, [RowA1,RowA2], [ColumnA1,ColumnA2])
RowB1 := 255
ColumnB1 := 255
for I := 5 to 360 by 5RowB2 := 255 - sin(rad(I)) * 200ColumnB2 := 255 + cos(rad(I)) * 200gen_contour_polygon_xld (Contour, [RowB1,RowB2], [ColumnB1,ColumnB2])angle_ll (RowA1, ColumnA1, RowA2, ColumnA2,\RowB1, ColumnB1, RowB2, ColumnB2, Angle)AngleDeg := deg(Angle)
endfor
HDevelop例程
measure_metal_part_extended.hdev 测量金属零件的几个特征
detect_brochure_pages.hdev 在图片数据库中找到文章的页面
angle_ll.hdev 计算两条线之间的夹角