matlab 怎么链接四个点成四边形
发布网友
发布时间:2022-04-22 23:01
我来回答
共2个回答
热心网友
时间:2022-05-03 10:20
我不知道有没有现成函数,但可以把它分割成两个三角形,然后用海*式求。
要不你给我一组坐标,我帮你编个程序
不好意思,手痒,自己找了组数据就编上了,程序如下:所有的放在一个m文件里就能运行了。
function [] = my_area()
clear;
clc;
A = [375.12,120.51]
B = [480.63,257.45]
C = [250.78,425.92]
D = [175.72,210.83]
s1 = helen(A,B,C);
s2 = helen(A,C,D);
s = s1+s2;
fprintf('the area is %f\n',s);
function s = helen(x,y,z)
a = lenth(x,y);
b = lenth(x,z);
c = lenth(y,z);
p = (a+b+c)/2;
s = sqrt(p*(p-a)*(p-b)*(p-c));
function len = lenth(x,y)
len = sqrt((x(1)-y(1))^2+(x(2)-y(2))^2);
结果:
A =
375.1200 120.5100
B =
480.6300 257.4500
C =
250.7800 425.9200
D =
175.7200 210.8300
the area is 49459.646950
需要的话甚至可以把图都画出来。
觉得还行采纳一个吧赞同0| 评论
热心网友
时间:2022-05-03 11:38
fill3([3 5 5 3],[3 3 5 5],[1.4 1.4 1.4 1.4])
用这个函数,可以填充任意点,而且按顺序的,你试试就知道了