设置首页收藏本站在线聊天
授权版本:2024_09
开启左侧

矩形内部如何生成垂直线,线的角度随矩形方向

[复制链接]
夜问夜问 发表于 2024-1-5 15:01:36 | 显示全部楼层 |阅读模式
如图中矩形,粗线是我想要生成的线,矩形的方向不固定,直线的角度随矩形的方向而改变,这个程序该怎么编写,请教各位大佬指教谢谢!
矩形.png
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
暗翼小哥 发表于 2024-1-5 15:55:52 | 显示全部楼层
  1. gen_image_const (Image, 'byte', 512, 512)
  2. dev_set_draw ('margin')
  3. dev_get_window (WindowHandle)
  4. * draw_rectangle2 (WindowHandle, Row, Column, Phi, Length1, Length2)
  5. Row:=251.916
  6. Column:=272.396
  7. Phi:=0.265131
  8. Length1:=160.222
  9. Length2:=66.25
  10. gen_rectangle2 (Rectangle, Row, Column, Phi, Length1, Length2)
  11. get_region_points (Rectangle, Rows, Columns)
  12. tuple_union (Columns, Columns, Union)
  13. step:=50
  14. gen_empty_obj (EmptyObject)
  15. for index:=1 to 5 by 1
  16.     gen_rectangle2 (Rectangle1, Row, Union[index*step], Phi+rad(90), Length1, 5)
  17.     intersection (Rectangle1, Rectangle, RegionIntersection)
  18.     concat_obj (EmptyObject, RegionIntersection, EmptyObject)
  19. endfor
  20. dev_display (Image)
  21. dev_display (Rectangle)
  22. dev_display (EmptyObject)
复制代码
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| 夜问夜问 发表于 2024-1-5 16:06:22 | 显示全部楼层
暗翼小哥 发表于 2024-1-5 15:55
gen_image_const (Image, 'byte', 512, 512)
dev_set_draw ('margin')
dev_get_window (WindowHandle)

感谢大佬解答,我想要的是大矩形内生成直线,不是矩形,这个大佬有办法吗?
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
halcon2016 发表于 2024-1-5 16:10:30 | 显示全部楼层
2024-01-05_160847.png

  1. dev_set_draw ('margin')
  2. dev_get_window (WindowHandle)
  3. read_image (Image, 'printer_chip/printer_chip_01')
  4. draw_rectangle2 (WindowHandle, Row, Column, Phi, Length1, Length2)
  5. gen_rectangle2 (Rectangle, Row, Column, Phi, Length1, Length2)
  6. *分隔数量
  7. N:=10
  8. *分隔距离
  9. D:=Length1*2/N

  10. tuple_cos (Phi, Cos)
  11. tuple_sin (Phi, Sin)

  12. *左上
  13. LT_X := Column+(-Length1*Cos - Length2*Sin)
  14. LT_Y := Row-(-Length1*Sin + Length2*Cos)

  15. *左下
  16. LB_X := Column+(-Length1*Cos + Length2*Sin)
  17. LB_Y := Row-(-Length1*Sin - Length2*Cos)

  18. RB_X := Column+(Length1*Cos + Length2*Sin)
  19. RB_Y := Row-(Length1*Sin - Length2*Cos)

  20. RT_X := Column+(Length1*Cos - Length2*Sin)
  21. RT_Y := Row-(Length1*Sin + Length2*Cos)

  22. * gen_cross_contour_xld (Cross, LT_Y, LT_X, 36, 0)
  23. * gen_cross_contour_xld (Cross2, LB_Y, LB_X, 36, 0)

  24. for index := 1 to N-1 by 1
  25.     ColBegin:=LT_X+cos(-Phi)*D*index
  26.     RowBegin:=LT_Y+sin(-Phi)*D*index
  27.     ColEnd:=LB_X+cos(-Phi)*D*index
  28.     RowEnd:=LB_Y+sin(-Phi)*D*index
  29.     gen_region_line (RegionLines, RowBegin, ColBegin, RowEnd, ColEnd)
  30. endfor
复制代码
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
18861175562 发表于 2024-1-5 16:29:51 | 显示全部楼层
参考draw_rake 算子
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
暗翼小哥 发表于 2024-1-5 16:44:30 | 显示全部楼层
夜问夜问 发表于 2024-1-5 16:06
感谢大佬解答,我想要的是大矩形内生成直线,不是矩形,这个大佬有办法吗?
...

楼下有大佬写出来了,学习就行了
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| 夜问夜问 发表于 2024-1-5 16:45:05 | 显示全部楼层
halcon2016 发表于 2024-1-5 16:10
dev_set_draw ('margin')
dev_get_window (WindowHandle)
read_image (Image, 'printer_chip/printer_ch ...

十分感谢大佬,你的方法可以
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
fate. 发表于 2024-1-6 09:02:31 | 显示全部楼层
利用sin,cos...
哇,原来已经有大佬写出来了
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
lishg 发表于 2024-3-21 11:03:36 | 显示全部楼层
嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻谢谢
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
wjjun 发表于 2024-3-22 17:14:43 | 显示全部楼层
学习学习。。。
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表