python正方形阴影面积计算_利用Python求阴影部分的面积实例代码

一、前言说明

今天看到微信群里一道六年级数学题,如下图,求阴影部分面积

a9bd6316a0585e7929936e0828c57689.png

看起来似乎并不是很难,可是博主添加各种辅助线,写各种方法都没出来,不得已而改用写Python代码来求面积了

二、思路介绍

1.用Python将上图画在坐标轴上,主要是斜线函数和半圆函数

b755596c9e5a0dc213cde96a6f88c383.png

2.均匀的在长方形上面洒满豆子(假设是豆子),求阴影部分豆子占比*总面积

fcf2e6a1632328b28ad5455062322875.png

三、源码设计

1.做图源码

import matplotlib.pyplot as plt

import numpy as np

def init():

plt.xlabel('X')

plt.ylabel('Y')

fig = plt.gcf()

fig.set_facecolor('lightyellow')

fig.set_edgecolor("black")

ax = plt.gca()

ax.patch.set_facecolor("lightgray") # 设置ax区域背景颜色

ax.patch.set_alpha(0.1) # 设置ax区域背景颜色透明度

ax.spines['right'].set_color('none')

ax.spines['top'].set_color('none')

ax.xaxis.set_ticks_position('bottom')

ax.yaxis.set_ticks_position('left')

ax.spines['bottom'].set_position(('data', 0))

ax.spines['left'].set_position(('data', 0))

# 原下半函数

def f1(px, r, a, b):

return b - np.sqrt(r**2 - (px - a)**2)

# 斜线函数

def f2(px, m, n):

return px*n/m

# 斜线函数2

def f3(px, m, n):

return n-1*px*n/m

if __name__ == '__main__':

r = 4 # 圆半径

m = 8 # 宽

n = 4 # 高

a, b = (4, 4) # 圆心坐标

init()

x = np.linspace(0, m, 100*m)

y = np.linspace(0, n, 100*n)

# 半圆形

y1 = f1(x, r, a, b)

plt.plot(x, y1)

# 矩形横线

plt.plot((x.min(), x.max()), (y.min(), y.min()), 'g')

plt.plot((x.min(), x.max()), (y.max(), y.max()), 'g')

plt.plot((x.max(), x.max()), (y.max()+2, y.max()+2), 'g') # 画点(8,6)避免图形变形

# 矩形纵向

plt.plot((x.min(), x.min()), (y.min(), y.max()), 'g')

plt.plot((x.max(), x.max()), (y.min(), y.max()), 'g')

# 斜线方法

y2 = f2(x, m, n)

plt.plot(x, y2, 'purple')

# 阴影部分填充

xf = x[np.where(x <= 0.5*x.max())]

plt.fill_between(xf, y.min(), f1(xf, r, a, b), where=f1(xf, r, a, b) <= f2(xf, m, n),

facecolor='y', interpolate=True)

plt.fill_between(xf, y.min(), f2(xf, m, n), where=f1(xf, r, a, b) > f2(xf, m, n),

facecolor='y', interpolate=True)

# 半圆填充

plt.fill_between(x, y1, y.max(), facecolor='r', alpha=0.25)

plt.show()

Draw.py

2.计算源码,其中side是要不要计算图形边框上的点,理论上side只能为True;t设置越大运行时间越长也越精准

import numpy as np

def f1(px, r, a, b):

return b - np.sqrt(r**2 - (px - a)**2)

def f2(px, m, n):

return px*n/m

if __name__ == '__main__':

r = 4 # 圆半径

m = 8 # 宽

n = 4 # 高

a, b = (4, 4) # 圆心坐标

t = 100 # 精度

xs = np.linspace(0, m, 2*t*m)

ys = np.linspace(0, n, t*n)

# 半圆形

y1 = f1(xs, r, a, b)

# 斜线

y2 = f2(xs, m, n)

numin = 0

numtotel = 0

side = True # 是否计算边框

for x in xs:

for y in ys:

if not side:

if (x <= 0) | (x >= 8) | (y <= 0) | (y >= 4):

continue

numtotel += 1

if x >= 4:

continue

y1 = f1(x, r, a, b)

y2 = f2(x, m, n)

if y1 - y2 >= 0:

if y2 - y > 0:

numin += 1

if (y2 - y == 0) and side:

numin += 1

elif y2 - y1 > 0:

if y1 - y > 0:

numin += 1

if (y2 - y == 0) and side:

numin += 1

print(32*numin/numtotel)

calc.py

四、最后小结

1.此种算法t为100时,阴影面积为1.268;t为1000时,阴影面积为1.253,已经非常接近正确答案(正确答案1.252)

2.举一反三,类似于这种不规则的面积,只要可以写出来函数,就可以求解面积.

2.下面有三种求解方法,第三种表示比大学高数还难看懂,你们呢?

d737d415cd24f6c77873c85de7882c54.png

aa64f91ac0cdc056b5488053d79cd61b.png

8ff8c54702640588cfa2d7d062093d1f.png

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497602.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Yann LeCun力挺观点:算法对AI提升不大,奇点仍然很遥远

来源&#xff1a;AI前线策划&#xff5c;Tina&#xff0c;译者&#xff5c;薛命灯、核子可乐、Debra什么是奇点&#xff08;Singularity&#xff09;&#xff1f;奇点是指在未来某个假想的时间点&#xff0c;因为技术发展太过迅速&#xff0c;以致于达到我们无法理解的地步。奇…

PNAS:神经元网络对于长期记忆的重要性

来源&#xff1a;中国生物技术网概要&#xff1a;大脑如何长期存储记忆一直是神经科学家的一个永恒的谜团。大脑如何长期存储记忆一直是神经科学家的一个永恒的谜团。在一项新研究中&#xff0c;来自挪威奥斯陆大学整合神经可塑性研究中心(CINPLA)的研究人员发现&#xff0c;神…

语音入口大战升级!亚马逊Alexa放招:即插即用,霸占你所有空间

来源&#xff1a;AI科技大本营&#xff08;微信ID&#xff1a;rgznai100)翻译 | 刘畅编辑 | Donna&#xff0c;波波大多数人都认为&#xff0c;智能音箱就是语音入口之争的主战场……比如双十一期间&#xff0c;阿里巴巴不惜血本也要99元强推天猫精灵&#xff0c;亏损数亿终于砸…

解密人类变革时代:2018年13大科技趋势

来源&#xff1a;中国智慧城市导刊近日&#xff0c;美国著名创投研究机构CB Insights发布了《13 Trends Shaping Tech In 2018》报告&#xff0c;在通过对过去一年的科技研究归总分析后&#xff0c;CB Insights公布了2018年将会兴起并重塑科技行业的13大趋势。汽车可“订阅”使…

NovuMind 首秀 CES,展示业界最高性能的 AI 芯片

来源&#xff1a;极客公园概要&#xff1a;神秘低调的硅谷创业公司 NovuMind 亮相本届 CES&#xff0c;向业界首次展示其自主研发的高性能、低功耗的 AI 芯片&#xff0c;为业界带来前所未有的超强算力。2017 年被称作是「人工智能芯片元年」&#xff0c;各路巨头和创业公司奋力…

MIT重磅报告:一文看清AI商业化现状与未来

来源&#xff5c;公众号“AI 前线”&#xff0c;&#xff08;ID&#xff1a;ai-front&#xff09;作者&#xff5c;MIT斯隆管理评论编辑&#xff5c;Emily人工智能显然已经成为 2017 年最为火热的话题之一&#xff0c;越来越多的企业开始关注并探索人工智能的相关实践。为了了解…

Arthas 思维导图笔记

https://www.processon.com/view/link/60b9cd711efad420f6d868a8

揭秘高盛区块链报告:区块链技术在五大领域从理论走向实践 | 附报告下载

来源&#xff1a;亿欧概要&#xff1a;目前对区块链潜在作用讨论的焦点在于使用分布式账本建立去中心化市场&#xff0c;并削弱现有中间商的控制权&#xff0c;但区块链的潜力比这种单薄的说法来得更加细致也更加深远。最近&#xff0c;区块链很火&#xff0c;资本市场沾上“区…

星级评分--演进式部署

1、组件初始配置 2、改进版加入半星评分 3、所有服务都改 1、组件初始配置 2、改进版加入半星评分 3、所有服务都改

CES现场低调的主线,近在咫尺的5G商业化 | CES2018技术趋势

来源&#xff1a;36氪概要&#xff1a;5G的商业化眼看就要来了。同之前几年一样&#xff0c;在今年的CES上&#xff0c;5G也注定是关键词之一。5G技术的商用在日渐迫近&#xff0c;高通、英特尔等公司都在为此努力。5G作为一种基础性的技术&#xff0c;相比于时下风头正盛的AI、…

《Science》杂志:机器学习究竟将如何影响人类未来的工作?

作者&#xff1a;Smiletalker概要&#xff1a;《Science》杂志也发表了一篇长文&#xff0c;从几个不同角度详细阐述了机器学习对于未来人类工作的影响。人工智能、机器学习相关技术已经多次刷新了人们对于「计算机能做什么」的认知&#xff0c;那么紧接着的一个问题就是「计算…

部署流水线

1、多阶段部署流水线 2、包含适应度函数阶段的部署流水线 3、部署流水线扇出测试多个场景 1、多阶段部署流水线 2、包含适应度函数阶段的部署流水线 3、部署流水线扇出测试多个场景 扇入&#xff1a;是指直接调用该模块的上级模块的个数。扇入大表示模块的复用程度高。 扇出…

java函数和构造函数_JAVA的构造器和C++的构造函数有什么区别?

慕瓜9086354Java和C在构造函数中调用虚函数的区别首先可以认为&#xff0c;Java所有instance函数都是虚函数。C类的构造函数中调用虚函数&#xff0c;并不能有多态效果。这样设计的理由是&#xff1a;在基类的构造函数中&#xff0c;派生类的成员尚未初始化&#xff0c;而派生类…

Jeff Dean晒Google Brain团队2017成绩单!

来源&#xff1a;全球人工智能谷歌大脑负责人 Jeff Dean 今天发文晒AutoML、语言理解、机器学习算法、机器学习系统等核心研究工作成绩单&#xff0c;全面总结谷歌大脑在2017年取得的成绩。一、自动化机器学习&#xff08;AutoML&#xff09;我们开发了使用强化学习和进化算法设…

mysql恢复主服务器_MySQL 5.6主从复制第二部分[恢复某一台从服务器]

MySQL 5.6主从复制第二部分[恢复某一台从服务器]&#xff0c;本来第二部分是想测试主服务器挂掉&#xff0c;提升从服务器的情况&#xff0c;可是出了点点意外&#xff0c;改本来第二部分是想测试主服务器挂掉&#xff0c;提升从服务器的情况&#xff0c;可是出了点点意外&…

亮相2018CES:解读阿里云IoT筹谋全球物联网市场的一盘大棋!

来源&#xff1a;阿里巴巴概要&#xff1a;近年来国内物联网市场高歌猛进&#xff0c;2017年也被称为物联网真正意义上的元年。成立还不到一年的阿里云IoT&#xff0c;以平台、市场、标准三位一体的策略&#xff0c;迅速在物联网领域崭露头角、稳固地位。一年一度的CES在拉斯维…

CompletableFuture 异步编程

本文从实例出发&#xff0c;介绍 CompletableFuture 基本用法。不过讲的再多&#xff0c;不如亲自上手练习一下。所以建议各位小伙伴看完&#xff0c;上机练习一把&#xff0c;快速掌握 CompletableFuture。 全文摘要&#xff1a; Future VS CompletableFuture CompletableFu…

麦肯锡:物联网九大应用潜力无限 2025年经济价值高达11.1万亿美元

来源&#xff1a;WPR概要&#xff1a;物联网有可能从根本上改变人类与周围世界的互动方式。如果一切顺利的话&#xff0c;那么到2025年&#xff0c;物联网——将实体和数字世界连接起来的这项技术&#xff0c;其经济价值可达每年11&#xff0e;1万亿美元。物联网有可能从根本上…

致开发者:2018年AI技术趋势展望

来源&#xff5c;公众号“AI 前线”&#xff0c;&#xff08;ID&#xff1a;ai-front&#xff09;译者&#xff5c;核子可乐编辑&#xff5c;Emily概要&#xff1a;在 2018 年&#xff0c;开发者如何将一系列 AI 技术成果应用于当前的工作当中呢&#xff1f;近日&#xff0c;一…

CES2018:英特尔披露量子计算和神经拟态计算研究最新进展

来源&#xff1a;科学网概要&#xff1a;今年上半年&#xff0c;英特尔计划与顶级院校和研究机构共享Loihi测试芯片&#xff0c;同时将其应用于解决更加复杂的数据集和问题。1月8日&#xff0c;在拉斯维加斯举办的2018年国际消费电子产品展&#xff08;CES&#xff09;上&#…