MATLAB 计算以任意三个点为顶点的三角形面积

1问题;以任意三个点为顶点的三角形面积的计算

2原理:二阶行列式的几何意义:两个向量所组成的平行四边形的面积

3 代码:

function s=mianji(A,B,C)
%计算以任意三个点为顶点的三角形的面积
AB=B-A;
AC=C-A;
s=abs(det([AB;AC]))/2
fill([A(1),B(1),C(1)],[A(2),B(2),C(2)],'b')
end

4,测试

 三点A(0,0)、B(1 0)、C(0,1)构成是直角三角形面积

5 执行 s=mianji([0,0],[1 0],[0,1])      结果为:s =    0.5000

 

  执行  s=mianji([0,0],[6 2],[3,3])    结果 s =  6

 

6 分析与推广:讨论四边形,五边形、多边形的面积如何计算?

7 文献:陈怀深的《实用大众线性代数》

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
步骤如下: 1. 定义圆锥体的参数,包括底面半径、高度、顶点坐标等。 2. 生成底面圆的坐标点。 2.1 计算圆心坐标,即底面圆心与顶点坐标的中点。 2.2 生成圆弧上若干点的坐标。 2.3 添加圆心坐标坐标点数组中。 3. 生成侧面三角形的坐标点。 3.1 计算底面圆上每个点与顶点的连线与底面圆上相邻点的连线的夹角。 3.2 计算三角形的三个顶点坐标。 3.3 依次添加三角形的三个顶点坐标坐标点数组中。 4. 使用patch函数绘制圆锥体。 下面是示例代码: ```matlab % 定义圆锥体参数 r = 1; % 底面半径 h = 2; % 高度 v = [0, 0, 0]; % 顶点坐标 % 生成底面圆的坐标点 theta = linspace(0, 2*pi, 50); % 圆弧角度 center = (v + [0, 0, h/2]) / 2; % 圆心坐标 x = r * cos(theta) + center(1); % 圆弧上点的x坐标 y = r * sin(theta) + center(2); % 圆弧上点的y坐标 z = center(3) * ones(size(theta)); % 圆弧上点的z坐标 points = [center; [x', y', z]]; % 添加圆心坐标 % 生成侧面三角形的坐标点 for i = 1:length(theta) % 计算三角形的三个顶点坐标 p1 = [x(i), y(i), z(i)]; p2 = [x(mod(i,length(theta))+1), y(mod(i,length(theta))+1), z(mod(i,length(theta))+1)]; p3 = v; % 添加三角形的三个顶点坐标 points = [points; p1; p2; p3]; end % 绘制圆锥体 patch('Vertices', points, 'Faces', reshape(1:size(points,1), 3, [])') axis equal; ``` 运行结果如下图所示: ![cone](https://i.loli.net/2021/06/29/H1lIaJ3QvP8fscC.png)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生活中的MATLAB

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值