问题描述:
如上图所示,给定四边形的四个点位,同时告知抛面线的角度
计算,抛面线的点位,以及总长度。
函数设计:
function [Lines , Length]=getStripe(poly,angle,delta)
% 输入变量:
%poly 多边形点位数组
% angle 抛面线的角度
% delta 抛面线之间的
% 输出变量:
% Lines :
% Length:抛面线总长
end
解决思路:
1、假设抛面线与Y轴平行的时候是0度,顺时针旋转角度为+
2、得到输入之后,先将多边形按照逆时针旋转这个角度(为了使抛面线使沿着Y轴绘制的)
3、将四个点组成4条直线,放在PolyLines变量里
4、然后获得PolyLines中 x 的最小值以及最大值
5、生成遍历序列 xmin:step:xmax
6、按照遍历序列进行遍历,找到每条线的上下两个Y点,然后组成两个点位,存储到Lines中
7、将得到的Lines按照反向旋转,回到之前的角度
8、绘制抛面线
9、求抛面线总长
效果如下: