三角形的内接圆 算法原理:

1.三角形角平分线的交点就是三角形内切圆的圆心。

2.(单位向量相加后的向量即为角平分线向量)把两个向量A、B分别归一化(就是分别除以自己的长度),得到C = A/|A| ,D = B/|B| ,然后 C + D 就是原来 A和B的角平分线的向量,用该向量易得角平分线的斜率。

3.构建出角平分线方程y=kx+b后,求交点,求出内切圆的圆心。

%三角形的内接圆
clear all;clc;p=rand(3,2);
%找角平分线向量
v12=(p(2,:)-p(1,:))/norm(p(2,:)-p(1,:));
v13=(p(3,:)-p(1,:))/norm(p(3,:)-p(1,:));v21=(p(1,:)-p(2,:))/norm(p(1,:)-p(2,:));
v23=(p(3,:)-p(2,:))/norm(p(3,:)-p(2,:));v1=v12+v13;
k1=v1(2)/v1(1);
b1=p(1,2)-k1*p(1,1);%一条角平分线v2=v21+v23;%另一条角平分线
k2=v2(2)/v2(1);
b2=p(2,2)-k2*p(2,1);%求两条角平分线的交点 圆心
x0=-(b1-b2)/(k1-k2);
y0=-(-b2*k1+b1*k2)/(k1-k2);%求圆半径
k=(p(2,2)-p(1,2))/(p(2,1)-p(1,1));
b=p(2,2)-k*p(2,1);
r=(k*x0-y0+b)/sqrt(k^2+1);
%画图hold on;
plot(p(:,1),p(:,2),'r');
p=circshift(p,1);
plot(p(:,1),p(:,2));theta=0:0.01:2*pi;
x=x0+r*cos(theta);
y=y0+r*sin(theta);
plot(x,y,'-',x0,y0,'r.');
axis equal

三角形外切圆算法原理:


1.垂直平分线的交点是内切圆的圆心;

2.中点与斜率确定垂直平分线方程

clear all;close all;clc;%三角形外接圆
clear;clc;p=rand(3,2);%求垂直平分线center1=(p(1,:)+p(2,:))/2;%中点center2=(p(2,:)+p(3,:))/2;k1=-1/((p(2,2)-p(1,2))/(p(2,1)-p(1,1)));%斜率k2=-1/((p(3,2)-p(2,2))/(p(3,1)-p(2,1)));b1=center1(2)-k1*center1(1);%垂直平分线fangb2=center2(2)-k2*center2(1);%求交点
x0=-(b1-b2)/(k1-k2)            %求两直线交点
y0=-(-b2*k1+b1*k2)/(k1-k2)
%求半径
r=sqrt((x0-p(1,1))^2+(y0-p(1,2))^2)hold on;
plot(p(:,1),p(:,2),'r');
p=circshift(p,1);%画三角形的
plot(p(:,1),p(:,2),'b');thea=0:0.01:2*pi;
x=x0+r*cos(thea);
y=y0+r*sin(thea);
plot(x,y,'-',x0,y0,'r');
axis equal;

matlab实现三角形的外接圆与内接圆相关推荐

  1. python编程怎么画三角形的外接圆_用MATLAB画三角形外接圆

    用 MATLAB 画三角形的外接圆 clear all ;close all ; clc; %1. 画三角形 : 随机产生三个顶点坐标,将各顶点连接. a=[x1,y1;x2,y2;x3,y3] a= ...

  2. 计算几何(三角形的外接圆+圆内接正多边形) - Temple of Dune - UVA 10439

    计算几何(三角形的外接圆+圆内接正多边形) - Temple of Dune - UVA 10439 题意: 二 维 平 面 内 , 给 定 3 个 点 的 坐 标 , 二维平面内,给定3个点的坐标, ...

  3. 375 Inscribed Circles and Isosceles Triangles 等腰三角形 内接圆 圆周率PI表示

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  4. 使用GeoGebra绘制三角形的外接圆和内切圆

    我们知道三角形外接圆的圆心为中垂线的交点,三角形内切圆的圆心为角平分线的交点. 基于上述理论,下面我们分别画出三角形的外接圆和内切圆 一.画外接圆 1.画三角形 在GeoGebra中画三角形需要用到多 ...

  5. 牛题:等边三角形内接圆上一点到三顶点距离平方和不变

    如图,等边三角形ABC,P为三角形内接圆上一点.求证,AP^2 + BP^2 + CP^2为常数. 证明:把整个图形放在三维空间里,其中A=(1,0,0),B=(0,1,0),C=(0,0,1).因此 ...

  6. SGU 332 Largest Circle(凸包内接圆半径nlogn)

    题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=332 题意:逆时针给出一个凸包,给凸包的最大内接圆半径. 思路:nlogn的算法: ...

  7. hdu4720 三角形的外接圆

    题意:       给你四个点,问你第四个点是否在前三个点围成的三角形的外接圆上. 思路:       水题,就是练练用魔板罢了,当该三角形是锐角三角形的时候,圆心是任意两条边中垂线的交点,半径是圆心 ...

  8. opencv 最大内接矩形_OpenCV之二值图像分析 – 寻找最大内接圆

    python代码: from __future__ import print_function from __future__ import division import cv2 as cv imp ...

  9. UVa 375 内接圆和等腰三角形

    /* * 解题思路: * 题意不难理解.一直求内接圆半径.知道半径长度小于0.000001为止 */ #include <math.h> #include <stdio.h> ...

  10. 轮廓的最大面积内接矩形/内接圆计算

    1.求出轮廓重心(X0,Y0). 2.找出轮廓上点到重心的距离最大的点1. 3.连接点到重心形成线段,做线段反向等距离延长线段,得到点2. 4.内接矩形:根据对角线上的(点1,点2),根据旋转矩形和平 ...

最新文章

  1. SSM高级整合项目实战
  2. 让自己的主机成为证书颁发机构
  3. 探讨增强现实(AR)基于模型的追踪技术
  4. java五子棋代码详解_代码详解:Java和Valohai的深度学习之旅
  5. 计算机系统结构sw指令集,自考02325计算机系统结构复习资料六
  6. 学习云计算有哪些优势?云计算教程学习路线图
  7. CEF编译教程(手把手教学版)
  8. 转:Java NIO系列教程(二) Channel
  9. HarmonyOS 实战——服务卡片初探索
  10. linux安装jdk8和tomcat8
  11. 无线领夹式麦克风方案,专门为USB-C接口手机打造的直播方案
  12. HDFView 把 JPG 图片转换成 HDF5 格式文件
  13. 免费下载百度文库文档、免注册、免登录、免财富值 - 帮手网-云下载
  14. java实现一个录像大师
  15. UVA-816 Abbott's Revenge (bfs)
  16. EAN13条形码生成器
  17. 泛微Ecology8.0移动端模板必填字段JS代码
  18. 为什么python叫爬虫_python为什么叫爬虫
  19. 国内最长的地铁投影画廊在上海地铁诞生
  20. 推荐1位AI产品经理求职信息(企业方可要简历),新增3个JD(共计59个、AI PM可内推)...

热门文章

  1. Ubuntu 软件安装方法(入门必看)
  2. resin服务器搭建
  3. j2me之诺基亚S40模拟器
  4. swot分析模板_学生个人生涯规划报告模板
  5. Maven之(七)pom.xml配置文件详解
  6. java做一个客房管理系统定制_基于JAVA的酒店客房管理系统的设计与实现
  7. 壮阔与波澜:互联网十年创业记
  8. 淘宝技术这十年 -- 目录
  9. 读《淘宝技术这十年》有感
  10. 请熟悉SQL server的高手赐教。