Halcon的三角函数

使用三角函数按角度移动坐标点:

Row1 := 100
Col1 := 100
gen_arrow_contour_xld (Arrow0, Row1, Col1, Row1, Col1 + 200, 5, 5)
* 水平向右为0度角,顺时针为正角度,逆时针为负角度
for I := 0 to 360 by 15
    Row2 := Row1 + sin(rad(I)) * 100
    Col2 := Col1 + cos(rad(I)) * 100
    gen_arrow_contour_xld (Arrow, Row1, Col1, Row2, Col2, 5, 5)
    * 射线P1->P2向外扩
    angle_lx (Row1, Col1, Row2, Col2, Angle)
    Row3 := Row2 + sin(-Angle) * 20
    Col3 := Col2 + cos(-Angle) * 20
    gen_arrow_contour_xld (Arrow2, Row2, Col2, Row3, Col3, 5, 5)
    * 射线P1->P2向内收
    Row4 := Row2 - sin(-Angle) * 20
    Col4 := Col2 - cos(-Angle) * 20
    gen_arrow_contour_xld (Arrow3, Row2, Col2, Row4, Col4, 5, 5)
    * 以P1为垂足做垂线(顺时针)
    Row5 := Row1 + sin(Angle + rad(90)) * 50
    Col5 := Col1 + cos(Angle + rad(90)) * 50
    gen_arrow_contour_xld (Arrow4, Row1, Col1, Row5, Col5, 5, 5)
    * 以P1为垂足做垂线(逆时针)
    Row6 := Row1 + sin(Angle - rad(90)) * 50
    Col6 := Col1 + cos(Angle - rad(90)) * 50
    gen_arrow_contour_xld (Arrow5, Row1, Col1, Row6, Col6, 5, 5)    
    stop ()
endfor

ScreenShot_2026-03-17_140241_850

 

posted @ 2026-03-17 14:04  广阔之海  阅读(3)  评论(0)    收藏  举报