matlab如何画五星红旗.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
生成五角星顶点的子函数(GetPentagramVertices.m) function [x y] = GetPentagramVertices(centerPos, radius, orientation) % 子函数: 获得五角星的十个顶点 % orientation 定位 Rad_ext = radius .* ones(1,5); % ones生成1行五列的矩阵,所有参数为1 Ori_ext = ([0:72:359] + 90 +orientation).* pi/ 180; %[0:72:359]以72度为间隔产生五个数 Rad_int = radius .* sind(18)./sind(126) .* ones(1,5); % sind(30)=0.5 Ori_int = ([0:72:359] - 90 +orientation).* pi/ 180; Ori_int = Ori_int([4 5 1 2 3]); %强制换序 Rad_all = zeros(1,10); Ori_all = zeros(1,10); Rad_all([1:2:10 2:2:10]) = [Rad_ext Rad_int]; Ori_all([1:2:10 2:2:10]) = [Ori_ext Ori_int]; [x y] = pol2cart(Ori_all, Rad_all); % pol2cart在MATLAB中, 该函数用于把极坐标(柱坐标)转换为笛卡尔坐标(指平面直角坐标或空间直角坐标);把柱坐标(THETA,RHO,Z)转换为对应的三维笛卡尔坐标(X,Y,Z)。 x = x + centerPos(1); y = y + centerPos(2); 主程序1 paintFSRF_script.m 程序是画静态的五星红旗,并将图像以FiveStarRedFlag.png保存在当前目录下。这个五星红旗的比例是按照《中华人民共和国国旗制法说明》绘制的 第一行是调整国旗分辨率的,可以自行修改,但是要保持3:2的比例。 flag_dimension_in_pixel = [600 400]; figure_leftbottom_pos = [100 100]; bkg_color = [1 0 0]; star_color = [1 1 0]; flag_horiz_units_num = 30; flag_verti_units_num = 20; star_vertices_x = zeros(10, 5); star_vertices_y = zeros(10, 5); stars(5).center_pos = []; stars(1).center_pos = [5 15]; stars(1).radius = 3; stars(1).orientation = 0; stars(2).center_pos = [10 18]; stars(2).radius = 1; stars(2).orientation = 0; stars(3).center_pos = [12 16]; stars(3).radius = 1; stars(3).orientation = 0; stars(4).center_pos = [12 13]; stars(4).radius = 1; stars(4).orientation = 0; stars(5).center_pos = [10 11]; stars(5).radius = 1; stars(5).orientation = 0; %类似于c#的自定义函数调用? for i = 2:5 dists = deal(stars(i).center_pos - stars(1).center_pos); stars(i).orientation = atan(dists(2)/dists(1)).*180/pi + 90; end %% Prepare the background flag_figure = figure(Units, pixels, ... Position, [figure_leftbottom_pos, flag_dimension_in_pixel]); flag_axes = axes(Parent, flag_figure, Units,pixels, ... Position, [1 1 flag_dimension_in_pixel], Color, [1 0 0]); set(flag_axes

文档评论(0)

137****6622 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档