给出三角形的三个顶点的坐标,用差分方程求其重心的坐标。具体题目描述如下图所示。

为了求三角形的重心,我们知道,三角形的重心坐标在中线交点,也就是中线的13\frac{1}{3}31​位置处,不妨设三角形的三个坐标分别为(x1,y1)(x_1,y_1)(x1​,y1​),(x2,y2)(x_2,y_2)(x2​,y2​),(x3,y3)(x_3,y_3)(x3​,y3​),则重心的横坐标可以表示为
xc=x1+x22+13×(x3−x1+x22)=13(x1+x2+x3),x_c=\frac{x_1+x_2}{2}+\frac{1}{3} \times (x_3-\frac{x_1+x_2}{2})=\frac{1}{3}(x_1+x_2+x_3), xc​=2x1​+x2​​+31​×(x3​−2x1​+x2​​)=31​(x1​+x2​+x3​),
同理,重心的纵坐标为yc=13(y1+y2+y3)y_c=\frac{1}{3}(y_1+y_2+y_3)yc​=31​(y1​+y2​+y3​)。考虑到重心与前序三角形顶点构成的序列关系,可以推出重心迭代的差分方程为
xn+3=13(xn+xn+1+xn+2),x_{n+3}=\frac{1}{3}(x_{n}+x_{n+1}+x_{n+2}),xn+3​=31​(xn​+xn+1​+xn+2​),
yn+3=13(yn+yn+1+yn+2).y_{n+3}=\frac{1}{3}(y_{n}+y_{n+1}+y_{n+2}).yn+3​=31​(yn​+yn+1​+yn+2​).

于是,将迭代的代码表示如下,并显示画图的结果。

X、Y是初始坐标,n是迭代次数,直接在代码块里面修改就可以了,点击运行直接出结果。

% 重心坐标的原理,设已知三点的坐标分别为(x1,y1),(x2,y2),(x3,y3),那么重心坐标为
% x=(x1+x2+x3)/3, y=(y1+y2+y3)/3,由此可以推断出重心坐标的差分公式为
% x(n+3)=(x(n)+x(n+1)+x(n+2))/3;
% y(n+3)=(y(n)+y(n+1)+y(n+2))/3;X= [1 2 3];
Y= [4 7 6];
plot([X X(1)],[Y Y(1)]), hold on
S = Centre(X, Y, 8)%% 主程序如下
function S = Centre(X, Y, n)
% X, Y为初始三个点的横纵坐标,n为需要求解的迭代次数,S保存所有重心坐标
x(1:3)=X;
y(1:3)=Y;
S=[];
for i=1:nx(i+3)=(x(i+2)+x(i+1)+x(i))/3;y(i+3)=(y(i+2)+y(i+1)+y(i))/3;S=[S;[x(i+3) y(i+3)]];line([x(i+3) x(i+2)],[y(i+3) y(i+2)]); hold online([x(i+3) x(i+1)],[y(i+3) y(i+1)]); hold on
end
end

当迭代8次时,输出的结果如下图。


不同坐标分布的规律探寻:

close all
clear all
clc
% 重心坐标的原理,设已知三点的坐标分别为(x1,y1),(x2,y2),(x3,y3),那么重心坐标为
% x=(x1+x2+x3)/3, y=(y1+y2+y3)/3,由此可以推断出重心坐标的差分公式为
% x(n+3)=(x(n)+x(n+1)+x(n+2))/3;
% y(n+3)=(y(n)+y(n+1)+y(n+2))/3;
tica= [4 0 5];
b= [3 0 0];
for i=1:3for j=1:2X(1)=a(i);   Y(1)=b(i);k = i+j-3*(i+j>3);X(2)=a(k);   Y(2)=b(k);k = k+j-3*(k+j>3);X(3)=a(k);   Y(3)=b(k);subplot(2,3,i+(j-1)*3)plot([X X(1)],[Y Y(1)]), hold onS = Centre(X, Y, 8);end
end
toc
%% 主程序如下
function S = Centre(X, Y, n)
% X, Y为初始三个点的横纵坐标,n为需要求解的迭代次数,S保存所有重心坐标
x(1:3)=X;
y(1:3)=Y;
S=[];
for i=1:nx(i+3)=(x(i+2)+x(i+1)+x(i))/3;y(i+3)=(y(i+2)+y(i+1)+y(i))/3;S=[S;[x(i+3) y(i+3)]];line([x(i+3) x(i+2)],[y(i+3) y(i+2)]); hold online([x(i+3) x(i+1)],[y(i+3) y(i+1)]); hold on
end
end

用差分方程写三角形的重心相关推荐

  1. css继承和边框圆角 及 写三角形

    1.     css可以继承的属性有哪些? Font 系列 text系列 color line-height 2.        border-radius的值的问题 四个值的顺序是左上右上右下左下. ...

  2. html写三角形,css3怎么写三角形?

    网页很多时候都应用了css3来写三角形,那么css3要怎么写三角形呢?下面我们来看一下css3写三角形的方法. css3写三角形(为了好区分姑且按方向区别): HTML代码: css代码:/*箭头向上 ...

  3. 前端怎么画三角形_前端小技巧:边框写三角形

    边框写三角形,这个技能从事前端的小伙伴应该都不陌生,不过大多数都是知其然而不知其所以然,今天我们就来探究一下这里面的原理. 随意的在页面上给一个盒子,然后给一个边框来看看. 这样的一段代码,给到盒子的 ...

  4. 在html中写三角,css3怎么写三角形?

    网页很多时候都应用了css3来写三角形,那么css3要怎么写三角形呢?下面我们来看一下css3写三角形的方法. css3写三角形(为了好区分姑且按方向区别): HTML代码: css代码:/*箭头向上 ...

  5. 三角形质心坐标怎么求_三角形的重心怎么求

    三角形重心是三角形三边中线的交点. 根据重心的性质,三边中线必交于一点. 所以作三角形任意两边的中线,其交点就是此三角形的重心. 1.重心到顶点的距离与重心到对边中点的距离之比为2:1. 证明一 三角 ...

  6. c语言求解三角形的重心,计算几个三角形的重心

    首先,您必须确定您实际想要计算的重心.很明显,当三角形相交(并且重叠区域不应该被计数两次)时,则不计算三角形的重心,而是计算它们交叉区域的重心. 幸运的是,这样一个相交区域可以很容易地用Area类来计 ...

  7. 利用CSS伪元素写三角形

    在做一些网页布局的时候,经常会遇到各种方向的三角形,常常令人头疼,今天给大家介绍一些利用CSS伪元素写各个方向三角形的方法 目录 一.CSS伪元素写三角形 1.向右的三角形 2.向上的三角形 3.向下 ...

  8. c语言求解三角形的重心,三角形的重心怎么求

    三角形重心是三角形三边中线的交点. 根据重心的性质,三边中线必交于一点. 所以作三角形任意两边的中线,其交点就是此三角形的重心. 1.重心到顶点的距离与重心到对边中点的距离之比为2:1. 证明一 三角 ...

  9. HTML之CSS画三角形原理,纯CSS写三角形样式集合(原理解析)

    一.实现原理 在css3中,我们主要使用的是一个transparent的属性,意思是透明的,比如我们将字体设置为黑色会写color:black,那么如果想把字体的颜色设置为透明,我们可以写color: ...

最新文章

  1. 二十八、顺序存储二叉树
  2. ASP.NET Core 2.1 源码学习之 Options[1]:Configure
  3. Django-cookie的保存以及删除操作
  4. Struts2 - 在Action类中获得HttpServletResponse对象
  5. success for advertisement
  6. 高端智能阿里手机 黑色 ZOPO C2 出售1499
  7. 视频盒子APP视频播放源代码安卓+IOS双端源码
  8. apache druid 与kafka整合使用
  9. JAVA ThreadPoolExecutor线程池
  10. skip-grant-tables:非常有用的mysql启动参数
  11. BZOJ 1597 [Usaco2008 Mar] 土地购买
  12. 怎么更改wifi频段_科普 | 你了解WiFi信号扩展器吗?
  13. 3年后,基于mysql控制vsftp的用户认证机制
  14. 企业级 SpringBoot 教程 (七)springboot开启声明式事务
  15. Delphi通过机器码获得注册码的完整方案
  16. testbed软件测试技巧,基于LDRA Testbed 软件的单元测试
  17. 第二人生的源码分析(2)第二人生的基本功能
  18. springboot二手交易平台 毕业设计-附源码290915
  19. 一图带你了解爬虫 简单爬虫,爬取各种图片,CNN的天堂,附带代码
  20. 惠普1005打印机自检页_hp1005打印机自检报告.docx

热门文章

  1. for循环输出(倒)金字塔,(空心)菱形,(空心)沙漏
  2. Java.Utils:获取电脑配置信息
  3. 硬盘的物理结构和工作原理
  4. 超低输入电压升压电路解决方案
  5. python同步枚举(遍历)两个list_拔剑-浆糊的传说_新浪博客
  6. 网络安全学习篇35_第二阶段_lnmp、Nginx简单配置+安装报错:C compiler cc is not found缺少环境解决、安装php5.3.28
  7. 告别弱网,一直追剧一直爽
  8. 【Zigbee】基础篇(1) Zigbee是什么?Zigbee的介绍及学习?
  9. 国产无线耳机什么牌子音质好?目前音质最好的国产蓝牙耳机
  10. iframe属性简单示例