美国星条旗绘制比例示意图如下:

根据美国法典目录相关绘制比例资料数据:

美国国旗高度:A=1.0;

美国国旗宽度:B=1.9;

蓝色部分高度:C=0.5385(7/13,7条间纹的高度);

蓝色部分宽度:D=0.76(1.9x2/5,五分之二的国旗宽度);

E=F=0.0538(C/10,蓝色部分高度值的十分之一);

G=H=0.0633(D/12,蓝色部分宽度值的十二分之一);

五角星的外接圆直径:K=0.0616;

条纹的宽度:L=0.0769(1/13);

星条旗CSS相关设计参数:

星条旗的色标值:蓝色#3c3b6e,红色#b22234;

初始设计宽度:宽760px,高400px。

由于旗帜的设计很多存在关联性比例关系,在设计时采用百分比数值。①蓝色部分大小与旗帜主体。②条纹高度与旗帜高度。(采用重复线性渐变)③E、F与C的高度④G、H与D的宽度值。⑤K与B的宽度值,推导K与D的值关系。

E=F=21.52px,G=H=25.32px

K与D的关系:K=0.0810526D;[77D/(19x50)]

K=24.64px;

根据绘制五角星的数学模型,构成五角星的基础三角形的内心坐标

垂直方向:K/2 ·sin18°

水平方向:Kcos18°

转换为具体数值:3.807px  11.717px

构成基础三角形的数学值:11.717px、11.717px 、8.512px。

计算过程:

R·cos18°=24.64·cos18°=11.717

R·cos18°·tan36°=8.512

采用绝对定位星星序列与排数关系:

1-6为第一排,7-11为第二排,12-17为第三排,18-22为第四排,23-28为第五排,29-33为第六排,34-39为第七排,40-44为第八排,45-50为第九排

五角星相关位置理论计算:

第一排星星横坐标计算表格(由五角星外心位置推导理论上CSS定位数值)

Oh为数学几何上五角星外心距离基础三角形上边缘的垂直距离,即3.807px;

Ow为数学几何上五角星外心距离基础三角形上边缘边的距离的一半,即11.717px;

序列

1

2

3

4

5

6

公式

G-Ow

(G-Ow)+2H

=3H-Ow

3H-Ow+2H

=5H-Ow

(5H-Ow)+2H

=7H-Ow

9H-Ow

9H-Ow

代数式

25.32-11.717

25.32x3-11.717

25.32x3-11.717

25.32x7-11.717

25.32x9-11.717

25.32x11-11.717

计算结果

13.603

64.243

114.883

165.523

216.163

266.803

第一排星星纵坐标:E-Oh

21.52px-3.807px=17.713px

第一排纵坐标:17.713px

横坐依次为:13.603px,64.243px,114.883px,165.523px,216.163px,266.803px

第二排星星横坐标计算表格(由五角星外心位置推导理论上CSS定位数值)

第一排星星纵坐标:E-Oh

21.52px-3.807px=17.713px

第一排纵坐标:17.713px

横坐依次为:13.603px,64.243px,114.883px,165.523px,216.163px,266.803px

第二排星星横坐标计算表格(由五角星外心位置推导理论上CSS定位数值)

序列

1

2

3

4

5

公式

G+H-Ow

=2H-Ow

(2H-Ow)+2H=4H-Ow

6H-Ow

8H-Ow

10H-Ow

代数式

2x25.32-11.717

4x25.32-11.717

6x25.32-11.717

8x25.32-11.717

10x25.32-11.717

计算结果

38.923

89.563

140.203

190.843

241.483

第二排星星纵坐标:2F- Oh

2x21.52-3.807=39.233px

第二排星星横坐标:

38.923px,89.563px,140.203px,190.843px,241.483px

同理可得:

第三排星星纵坐标:3F- Oh

3x21.52-3.807=60.753px

第三排星星横坐标与第一排相同;

第四排星星纵坐标:4F- Oh

4x21.52-3.807=82.273px

第四排星星横坐标与第二排相同;

第五排星星纵坐标:5F- Oh

5x21.52-3.807=103.793px

第五排星星横坐标与第一排相同;

第六排星星纵坐标:6F- Oh

6x21.52-3.807=125.313px

第六排星星横坐标,与第二排相同;

第七排星星纵坐标:7F- Oh

7x21.52-3.807=146.833px

第七排星星横坐标,与第一排相同;

第八排星星纵坐标:8F- Oh

8x21.52-3.807=168.353px

第八排星星横坐标,与第二排相同;

第九排星星纵坐标:8F- Oh

9x21.52-3.807=189.873px

第九排星星横坐标,与第一排相同;

HTML结构:

CSS代码:

* {

border-width: 0;

}

.flag {

width: 760px;

height: 400px;

background: repeating-linear-gradient(#b22234 0, #b22234 7.692%, white 7.692%, white 15.3846%);

position: relative;

}

/* 蓝色部分 */

.bluePart {

width: 40%;

height: 53.846%;

background: #3c3b6e;

position: relative;

/* padding-top: 50px; */

}

/* 小五角星 */

.pentagram {

width: 0;

height: 0;

position: absolute;

border-top: 8.51px solid white;

border-left: 11.717px solid transparent;

border-right: 11.717px solid transparent;

/* transform-origin: 23.434px 3.807px; */

}

.pentagram::before {

position: absolute;

width: 0;

height: 0;

content: '';

display: block;

border-top: 8.51px solid white;

border-left: 11.717px solid transparent;

border-right: 11.717px solid transparent;

top: -8.51px;

left: -11.717px;

transform: rotate(-72deg);

transform-origin: 11.717px 3.807px;

}

.pentagram::after {

border-width: 0;

position: absolute;

content: '';

display: block;

width: 0;

height: 0;

border-top: 8.51px solid white;

border-left: 11.717px solid transparent;

border-right: 11.717px solid transparent;

top: -8.51px;

left: -11.717px;

transform: rotate(72deg);

transform-origin: 11.717px 3.807px;

}

.one {

top: 17.713px;

}

.two {

top: 39.233px;

}

.three {

top: 60.753px;

}

.four {

top: 82.273px;

}

.five {

top: 103.793px;

}

.six {

top: 125.313px;

}

.seven {

top: 146.833px

}

.eight {

top: 168.353px;

}

.nine {

top: 189.873px;

}

/* 1-6为第一排,7-11为第二排,12-17为第三排,18-22为第四排,23-28为第五排,29-33为第六排,34-39为第七排,40-44为第八排,45-50为第九排 */

.bluePart div:nth-child(1),

.bluePart div:nth-child(12),

.bluePart div:nth-child(23),

.bluePart div:nth-child(34),

.bluePart div:nth-child(45) {

left: 13.603px;

}

.bluePart div:nth-child(2),

.bluePart div:nth-child(13),

.bluePart div:nth-child(24),

.bluePart div:nth-child(35),

.bluePart div:nth-child(46) {

left: 64.243px;

}

.bluePart div:nth-child(3),

.bluePart div:nth-child(14),

.bluePart div:nth-child(25),

.bluePart div:nth-child(36),

.bluePart div:nth-child(47) {

left: 114.883px;

}

.bluePart div:nth-child(4),

.bluePart div:nth-child(15),

.bluePart div:nth-child(26),

.bluePart div:nth-child(37),

.bluePart div:nth-child(48) {

left: 165.523px;

}

.bluePart div:nth-child(5),

.bluePart div:nth-child(16),

.bluePart div:nth-child(27),

.bluePart div:nth-child(38),

.bluePart div:nth-child(49) {

left: 216.163px;

}

.bluePart div:nth-child(6),

.bluePart div:nth-child(17),

.bluePart div:nth-child(28),

.bluePart div:nth-child(39),

.bluePart div:nth-child(50) {

left: 266.803px;

}

.bluePart div:nth-child(7),

.bluePart div:nth-child(18),

.bluePart div:nth-child(29),

.bluePart div:nth-child(40) {

left: 38.923px;

}

.bluePart div:nth-child(8),

.bluePart div:nth-child(19),

.bluePart div:nth-child(30),

.bluePart div:nth-child(41) {

left: 89.563px;

}

.bluePart div:nth-child(9),

.bluePart div:nth-child(20),

.bluePart div:nth-child(31),

.bluePart div:nth-child(42) {

left: 140.203px;

}

.bluePart div:nth-child(10),

.bluePart div:nth-child(21),

.bluePart div:nth-child(32),

.bluePart div:nth-child(43) {

left: 190.843px;

}

.bluePart div:nth-child(11),

.bluePart div:nth-child(22),

.bluePart div:nth-child(33),

.bluePart div:nth-child(44) {

left: 241.483px;

}

chrome浏览器中实现效果:

在chrome浏览器中的渲染效果已经比较理想实现了美国国旗的数学模型展示,但是由于浏览器对于小数部分数字的近似计算原因兼容问题,导致在火狐、UC等通过CSS采用数学模型数据绘制较小五角星时,构成的图案不太理想,代码仅仅在chrome下查看比较符合初始设计。较小的五角星尺寸,考虑兼容性可以使Unicode实心五角星:\2605。但是如何通过font-size来确定行高与五角星的外心坐标是个问题,相关CSS规定我还不清楚,无法构建数学模型求值。

python绘制美国国旗_通过构建数学模型用CSS绘制美国星条旗相关推荐

  1. python打印以色列国旗_以色列学生的Linux和Python教育

    python打印以色列国旗 现在进入第三年,ROSE(红帽教育开放源码)项目是一项跨社区的工作,将来自Tira的学生以及来自Ra'anana的 Yonatan中学的学生带到以色列的Red Hat办公室 ...

  2. 怎么用python海龟画五角星_海龟编辑器五角星怎么画 绘制五角星就是这么简单...

    海龟编辑器作为一款面向少儿的Python编辑器,它可以让孩子通过图形化的方式学习Python,很多用户在刚开始使用时不知道怎么绘制最基本的图形,小编将绘制五角星的方式通过两种方法进行讲解,想知道的赶快 ...

  3. python绘制小提琴图片_手把手教你用 Origin 绘制小提琴图

    在统计图像里面,小提琴图算是比较漂亮的一种图形了. 常见的小提琴图绘制方法包括 graphpad, R 语言,python 等,今天给大家介绍如何用 Origin 绘制小提琴图. 注明一点:Origi ...

  4. python分布式爬虫系统_如何构建一个分布式爬虫:理论篇

    前言 本系列文章计划分三个章节进行讲述,分别是理论篇.基础篇和实战篇.理论篇主要为构建分布式爬虫而储备的理论知识,基础篇会基于理论篇的知识写一个简易的分布式爬虫,实战篇则会以微博为例,教大家做一个比较 ...

  5. python画矢量图_使用基于matplotlib的SciencePlots绘制精美图表

    开源项目地址:https://github.com/garrettj403/SciencePlots 安装这个包,需要输入魔法: pip install SciencePlots 例如绘制如下函数,导 ...

  6. python turtle代码大全_通过构建简单的骰子游戏学习如何使用Python编程

    Python是一种通用的编程语言,可以用于创建桌面应用程序.3D图形.视频游戏,甚至是网站.它是一种很棒的第一编程语言,因为它很容易学习,而且比复杂的语言(如C.C++或Java)更简单.Python ...

  7. python绘制饼图双层_有趣!如何用Python-matplotlib绘制双层饼图及环形图?

    (1) 饼图(pie),即在一个圆圈内分成几块,显示不同数据系列的占比大小,这也是我们在日常数据的图形展示中最常用的图形之一. 在python中常用matplotlib的pie来绘制,基本命令如下所示 ...

  8. python等值面图平滑_离散点插值方法、等值线的绘制及平滑技巧

    离散点插值方法.等值线的绘制及平滑技巧 2008-06-10 22:45 由于等值线图看起来非常直观.形象 , 因此在天气预报.气候预测分析等方面用 得非常多 , 已成为预报员不可缺少的工具之一.如各 ...

  9. 支持pygame的python有哪些版本_完整构建文件支持PYGAME

    我不能在pygame中加载不是BMP文件的图像. 我到处找不到解决办法. 在pygame网站上他们这样说:The image module is a required dependency of Py ...

最新文章

  1. Kinect For Windows V2开发日志一:开发环境的配置
  2. 深度学习 dns tunnel检测 使用统计特征 全连接网络——精度99.8%
  3. VTK:vtkTupleInterpolator 插值用法实战
  4. aes子密钥生成c语言_一种基于流密码算法的子密钥生成方法与流程
  5. 5886. 如果相邻两个颜色均相同则删除当前颜色
  6. 新知|你知道生气有多可怕吗?“气死人”是有科学依据的
  7. wap打包 本地化 hbuilder_秋收接近尾声 冰城开启秸秆打包、秋整地
  8. Blah数集(信息学奥赛一本通-T1333)
  9. docker创建mysql实例_使用docker创建mysql实例
  10. 苹果或弃用Java 称Java已经过时
  11. AD9361官方例程发送端数据流向
  12. 面试风云录(03) - 与女大学生的网络对话(上)
  13. 很少人用的下载者方法
  14. dell进入u盘启动模式_戴尔笔记本u盘启动按F12没有usb启动项 dellPC用f12没有u盘启动如何办...
  15. 成都,离互联网第五极还有多远?
  16. 【无标题】 R语言下载keras最新方法
  17. Linux进程管理、防火墙
  18. CTF-密码学-bacon
  19. windows操作系统基础总结
  20. gzdeflate函数_gzdeflate函数

热门文章

  1. 基于增强蛇优化算法求解单目标优化问题附matlab代码
  2. 尚硅谷项目 谷粒学院
  3. 画图别存为png 透明_教你Win10系统在Paint画图中使用透明背景
  4. 2021最新表情包新加动态小程序独立版+前端(含教程)
  5. Android开发冷启动解决方案 实现秒开
  6. 2020Java面试题含答案
  7. 透明图片下载求全透明png图片_美甲图片:20款适合春季的透明粉色系美甲图片,清新有气质~...
  8. L/O(输出/输入)
  9. 用计算机如何算占销售额百分比,Excel如何计算每个部门各自的销售额占比?
  10. CodeForce 538-F A Heap of Heaps(主席树)