目录

  • 一、得出三角形的三个角点
  • 二、用类似尺规作图法得出三角形圆心
    • 1、以三角形三角点画出圆形轮廓
    • 2、求出三角形轮廓与圆形轮廓之间的交点
    • 3、获得角平分线,三边角平分线交点为圆心
  • 三、求出圆心到边最短距离即半径

一、得出三角形的三个角点

参考上篇文章“Halcon提取三角形边缘以及获取角点”

二、用类似尺规作图法得出三角形圆心

以三角形三个边为圆心生成三个圆形轮廓
求出轮廓与轮廓之间的交点
再以交点为圆心画圆轮廓,得到两个圆的交点,获得角平分线,三边角平分线交点为圆心

1、以三角形三角点画出圆形轮廓

gen_circle_contour_xld (ContCircle1, RowA, ColumnA, 20, 0, 6.28318, 'positive', 1)
gen_circle_contour_xld (ContCircle2, RowB, ColumnB, 20, 0, 6.28318, 'positive', 1)
gen_circle_contour_xld (ContCircle3, RowC, ColumnC, 20, 0, 6.28318, 'positive', 1)

2、求出三角形轮廓与圆形轮廓之间的交点

intersection_contours_xld (Contour, ContCircle3, 'all', Row, Column, IsOverlapping1)
intersection_contours_xld (Contour, ContCircle1, 'all', Row2, Column2, IsOverlapping3)
intersection_contours_xld (Contour, ContCircle2, 'all', Row4, Column4, IsOverlapping5)

3、获得角平分线,三边角平分线交点为圆心

//以交点为圆心画出两个同半径圆,两圆交点连线即为角平分线
gen_circle_contour_xld (ContCircle31, Row[0], Column[0], 40, 0, 6.28318, 'positive', 1)
gen_circle_contour_xld (ContCircle32, Row[1], Column[1], 40, 0, 6.28318, 'positive', 1)
intersection_contours_xld (ContCircle31, ContCircle32, 'all', Row1, Column1, IsOverlapping2)
disp_line (3600, Row1[0], Column1[0], Row1[1], Column1[1])gen_circle_contour_xld (ContCircle21, Row2[0], Column2[0], 40, 0, 6.28318, 'positive', 1)
gen_circle_contour_xld (ContCircle22, Row2[1], Column2[1], 40, 0, 6.28318, 'positive', 1)
intersection_contours_xld (ContCircle21, ContCircle22, 'all', Row3, Column3, IsOverlapping4)
disp_line (3600, Row3[0], Column3[0], Row3[1], Column3[1])gen_circle_contour_xld (ContCircle11, Row4[0], Column4[0], 40, 0, 6.28318, 'positive', 1)
gen_circle_contour_xld (ContCircle12, Row4[1], Column4[1], 40, 0, 6.28318, 'positive', 1)
intersection_contours_xld (ContCircle11, ContCircle12, 'all', Row5, Column5, IsOverlapping6)
disp_line (3600, Row5[0], Column5[0], Row5[1], Column5[1])


延长直线,求交点

r:= Row1[0] - Row1[1]
n:= Column1[0] - Column1[1]
k1:= r/n
b1:=Row1[1] - k1*Column1[1]
row1:=k1*5+b1
row12:=k1*2500+b1
disp_line (3600, row1, 5, row12, 2500)
r:= Row3[0] - Row3[1]
n:= Column3[0] - Column3[1]
k1:= r/n
b1:=Row3[1] - k1*Column3[1]
row2:=k1*5+b1
row22:=k1*2500+b1
* disp_line (3600, RowBegin, ColBegin, RowEnd, ColEnd)
disp_line (3600, row2,5 , row22, 2500)
r:= Row5[0] - Row5[1]
n:= Column5[0]- Column5[1]
k1:= r/n
b1:=Row5[1] - k1*Column5[1]
row3:=k1*5+b1
row32:=k1*2500+b1
disp_line (3600, row3,5 , row32, 2500)//求出圆心 Row6, Column6
intersection_lines (row2, 5, row22, 2500, row3,5 , row32, 2500, Row6, Column6, IsOverlapping7)

三、求出圆心到边最短距离即半径

distance_pc(Contour, Row6, Column6, DistanceMin, DistanceMax)
gen_circle_contour_xld (ContCircle, Row6, Column6, DistanceMin, 0, 6.28318, 'positive', 1)

Halcon得出三角形内切圆相关推荐

  1. 如何用几何画板中绘制三角形内切圆

    几何画板作为一款功能强大的教学绘图软件,它的几何绘图功能可以说是让那些其它的绘图工具都是望尘莫及,它的诸多功能可以帮我们很方便的完成几何图形的绘制!比如三角形的内切圆,完全不需要三角尺和圆规.看看该怎 ...

  2. noip2004初赛-三角形内切圆的面积

    noip2004C_4_1三角形内切圆的面积 题目描述: 给出三角形三边的边长,求此三角形内切圆(如下图所示,三角形的内切圆是和三角形三边都相切的圆)的面积. 输入: 三个正实数a.b.c(满足a+b ...

  3. 计蒜客 掎角之势 (三角形内切圆与外接圆面积)

    题目链接:https://nanti.jisuanke.com/t/A2226 题目大意:给定三角形三个顶点的坐标,判断是否可形成三角形,如果可形成三角形,求三角形内切圆面积与外接圆面积. 样例输入: ...

  4. 计算几何(三角形内切圆 + 海伦公式) - InCircle - UVA 11524

    计算几何(三角形内切圆 + 海伦公式) - InCircle - UVA 11524 题意: 对于△ABC,对于\triangle ABC,对于△ABC, 假设其内切圆与其相切于P.Q.R三点,假设其 ...

  5. 计算三角形内切圆半径的C++实现

    1 计算公式 已知 △ABC\triangle ABC△ABC 的三边 a,b,ca,b,ca,b,c 和面积 SSS,则三角形内接圆的半径为: r=2Sa+b+cr=\cfrac{2S}{a+b+c ...

  6. 关于三角形内切圆、外接圆的数学问题

    关于三角形内切圆.外接圆的数学问题 外接圆: 关于三角形的一些公式:

  7. 三角形内切圆和外接圆半径及其面积计算

    内切圆半径:r=2 * S / (a + b + c),其中S是三角形面积,a.b.c是三角形三边. 外接圆半径:R=a * b * c / (4 * S) S可以用海伦公式S = (p(p - a) ...

  8. 三角形内切圆与外接圆

    /*一个三角形必然存在它的内切圆与外接圆,求他们的面积比.考虑到精度问题,我们输出面积比*1000的整数部分(直接下取整). 输入数据是一个三角形的三个顶点,但这三个顶点在三维空间中,所以输入是9个整 ...

  9. 三角形内切圆与外接圆的面积比

    CSDN编程挑战里的题目 一个三角形必然存在它的内切圆与外接圆,求他们的面积比. 考虑到精度问题,我们输出面积比*1000的整数部分(直接下取整). 输入数据是一个三角形的三个顶点,但这三个顶点在三维 ...

最新文章

  1. winform实现翻书效果_如何用PPT实现翻书效果?
  2. Linux卸载搜狐,双系统删除教程详解:Windows(linux)双系统,教你如何删除其中一个!...
  3. LinkedBlockingQueue和ArrayBlockingQueue
  4. C语言没有引用,只有指针
  5. python cmdb_Django之入门 CMDB系统 (一) 基础环境
  6. 转:Java NIO系列教程(二) Channel
  7. 安装win7和Centos后,默认启动项的修改.
  8. 20130912计划
  9. ICPC程序设计题解书籍系列之三:秋田拓哉:《挑战程序设计竞赛》(第2版)
  10. 《IPv6安全》——2.3 IPv6网络勘察
  11. 彻底搞懂 Git 进阶用法
  12. C# BackgroundWorker的用法
  13. 数据分析:SWOT分析法
  14. 网络流(二) 最大流算法的实现
  15. 网站视频很卡怎么办?有没有免费的视频平台?使用阿里云OSS对象云存储+下行流量包解决网站文件/视频访问慢问题
  16. 年审是当月还是当天_车辆年审时间当月到当月办理可以吗
  17. 74HC595级联电路编程篇(三)
  18. 解决IDEA项目一直Updating Index
  19. 道德绑架?抹杀激情?听我的,别再给孩子买运动手环了
  20. 如何关闭QQ电脑端的“腾讯网 今日最新资讯推荐”弹窗(2018年2月)

热门文章

  1. 希腊和土耳其的400年的血海深仇
  2. Qt/C++编写自定义控件10-云台仪表盘
  3. 前后端分离项目知识汇总(微信支付,Echart)
  4. word页眉横线怎么删除(word页眉横线如何设置)
  5. c++中tan函数_tan()函数以及C ++中的示例
  6. excel根据条件列转行_“Excel怎样将列转为行 Excel列转行方法“excel有条件转置
  7. 怎么查看win服务器端口占用,Windows怎么查看端口占用?查看本机端口占用情况...
  8. 更改计算机ram,如何向计算机添加RAM
  9. 如何撰写好的科研论文:摘要(1)
  10. msf连接mysql数据库_msf链接数据库