记录美赛选拔时的编程测试题 但是当时老师要求的是不能调用现成函数只能用自己编程实现
1.关于rand函数的使用
rand函数产生在0到1之间的随机数
rand(n,m);产生一个N*m的矩阵,其中的数字都是在0到1之间的随机数
2.关于DelaunayTri函数:
实现三角拆分
3.convexHull函数,找到凸包;
问题:求平面上n个点的凸多边形闭包及该多边形面积
要求:在平面上随机产生100个点,然后作出闭包曲线(如图1),并输出该凸多边形面积。
特别提醒:必须自己设计算法实现求闭包,不能直接调用现成函数:
>> x=rand(100,1);
>> y=rand(100,1);
>> dt=DelaunayTri(x,y);
>> k = convexHull(dt);
>> plot(x,y,'.','markersize',10);
>> hold on;
>> plot(x(k),y(k),'r');