matlab实现三角形的外接圆与内接圆
三角形的内接圆 算法原理:
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实现三角形的外接圆与内接圆相关推荐
- python编程怎么画三角形的外接圆_用MATLAB画三角形外接圆
用 MATLAB 画三角形的外接圆 clear all ;close all ; clc; %1. 画三角形 : 随机产生三个顶点坐标,将各顶点连接. a=[x1,y1;x2,y2;x3,y3] a= ...
- 计算几何(三角形的外接圆+圆内接正多边形) - Temple of Dune - UVA 10439
计算几何(三角形的外接圆+圆内接正多边形) - Temple of Dune - UVA 10439 题意: 二 维 平 面 内 , 给 定 3 个 点 的 坐 标 , 二维平面内,给定3个点的坐标, ...
- 375 Inscribed Circles and Isosceles Triangles 等腰三角形 内接圆 圆周率PI表示
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...
- 使用GeoGebra绘制三角形的外接圆和内切圆
我们知道三角形外接圆的圆心为中垂线的交点,三角形内切圆的圆心为角平分线的交点. 基于上述理论,下面我们分别画出三角形的外接圆和内切圆 一.画外接圆 1.画三角形 在GeoGebra中画三角形需要用到多 ...
- 牛题:等边三角形内接圆上一点到三顶点距离平方和不变
如图,等边三角形ABC,P为三角形内接圆上一点.求证,AP^2 + BP^2 + CP^2为常数. 证明:把整个图形放在三维空间里,其中A=(1,0,0),B=(0,1,0),C=(0,0,1).因此 ...
- SGU 332 Largest Circle(凸包内接圆半径nlogn)
题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=332 题意:逆时针给出一个凸包,给凸包的最大内接圆半径. 思路:nlogn的算法: ...
- hdu4720 三角形的外接圆
题意: 给你四个点,问你第四个点是否在前三个点围成的三角形的外接圆上. 思路: 水题,就是练练用魔板罢了,当该三角形是锐角三角形的时候,圆心是任意两条边中垂线的交点,半径是圆心 ...
- opencv 最大内接矩形_OpenCV之二值图像分析 – 寻找最大内接圆
python代码: from __future__ import print_function from __future__ import division import cv2 as cv imp ...
- UVa 375 内接圆和等腰三角形
/* * 解题思路: * 题意不难理解.一直求内接圆半径.知道半径长度小于0.000001为止 */ #include <math.h> #include <stdio.h> ...
- 轮廓的最大面积内接矩形/内接圆计算
1.求出轮廓重心(X0,Y0). 2.找出轮廓上点到重心的距离最大的点1. 3.连接点到重心形成线段,做线段反向等距离延长线段,得到点2. 4.内接矩形:根据对角线上的(点1,点2),根据旋转矩形和平 ...
最新文章
- SSM高级整合项目实战
- 让自己的主机成为证书颁发机构
- 探讨增强现实(AR)基于模型的追踪技术
- java五子棋代码详解_代码详解:Java和Valohai的深度学习之旅
- 计算机系统结构sw指令集,自考02325计算机系统结构复习资料六
- 学习云计算有哪些优势?云计算教程学习路线图
- CEF编译教程(手把手教学版)
- 转:Java NIO系列教程(二) Channel
- HarmonyOS 实战——服务卡片初探索
- linux安装jdk8和tomcat8
- 无线领夹式麦克风方案,专门为USB-C接口手机打造的直播方案
- HDFView 把 JPG 图片转换成 HDF5 格式文件
- 免费下载百度文库文档、免注册、免登录、免财富值 - 帮手网-云下载
- java实现一个录像大师
- UVA-816 Abbott's Revenge (bfs)
- EAN13条形码生成器
- 泛微Ecology8.0移动端模板必填字段JS代码
- 为什么python叫爬虫_python为什么叫爬虫
- 国内最长的地铁投影画廊在上海地铁诞生
- 推荐1位AI产品经理求职信息(企业方可要简历),新增3个JD(共计59个、AI PM可内推)...