Python&Matlab实现伏羲八卦图的绘制

 更新时间:2022年03月22日 08:49:17   作者:是梦吧,是你吧!  
八卦最先由伏羲根据燧人氏造设的两幅星图历法《河图洛书》创设。本文将通过Python和Matlab分别绘制伏羲八卦图,感兴趣的小伙伴可以了解一下

1 与达尔文对话

140年前,1858年7月1日,达尔文在英伦岛发表了自己有关自然选择的杰出论文。他提出,生物的发展规律是物竞天择。经过物竞,自然界选择并存留最具生命优势的物种。这些物种愈竞愈强。直至人,已无所不能,成为统治世界的物种,这已是不争的事实。但在地球的漫长的演化史上,我们又看见,曾经统治地球的庞然大物恐龙消亡了。一-些科学家将其归之于小行星对地球的撞击。但就在我们这一代人眼前,兽中之王的老虎正在一天天消失。我们知道,在其消亡的时间轴上,小行星并未与地球碰撞。

循着达尔文的思索,我们得知:动物强于植物,老虎强于小鼠。愈是后续的物种愈强,因为它们是物竞天择的结果。强者存留,弱者淘汰。但环顾四野,植物茂盛,小鼠成群,而百兽之王的老虎却在一天天消亡。

进一步看,诞生于35亿年以前的最原始的物种单细胞生物,迄今仍然是地球上生存力度最强、生物质量最大、分布范围最广的生命形态,反而是那些在进化史上较晚近的高级物种如哺乳类动物正在以最快的速度灭绝。换一个眼光重新审视考古生物学,我们会发现,在亿万年来已遭灭绝的99%以上的生物品杀里,愈进化的物种淘汰几率愈高、绝种速度愈快,亦即生存力度愈低。

何以是“强”者消亡,“弱”者长存?即是说,在“物竞天择,适者生存”的表观现象后面,实际上暗藏着一个“自然选择偏偏要把最不适于生存的弱化产物层层推出”的单向度规定。印度诗圣泰戈尔说:“我们把世界看错了,反说世界欺骗了我们。”是伟大的达尔文错了,还是世界在我们有限的认知力之外,另有一番规律?
历代的哲人、物理学家、化学家、生物学家、社会学家,或思索过这一问题而不得其解,或已走到这一问题的门口,束手无策而返。其留下的大量艰涩难懂之文,多与此有关。

2 与老子对话

2.1 Python实现

#====导入相关库========
import turtle
import time
 
#====欢迎关注公众号:电力系统与算法之美======
#====更多惊喜,更多浪漫,更多算法等你=====
angle = 270
turtle.title('我与老子对话')
#=====太极图=======
def tai():
    r = 200  # 设置半径
    turtle.penup()  # 拿起画笔
    turtle.goto(0, 0)  # 到画布中心
    turtle.setheading(angle)  # 设置当前朝向为angle角度
    turtle.fd(r)  # 前进r的距离
    turtle.pendown()  # 放下画笔
    turtle.right(90)  # 调整海龟角度
 
    #======画阳鱼======
    turtle.fillcolor("white")  # 填充为白色
    turtle.begin_fill()  # 开始填充
    turtle.circle(-r / 2, 180)
    turtle.circle(r / 2, 180)
    turtle.circle(r, 180)
    turtle.end_fill()  # 填充结束
 
    #=====画阴鱼=========
    turtle.fillcolor("black")  # 填充为黑色
    turtle.begin_fill()
    turtle.circle(r, 180)
    turtle.right(180)
    turtle.circle(-r / 2, 180)
    turtle.circle(r / 2, 180)
    turtle.end_fill()
 
    #=======画阴鱼眼==========
    turtle.penup()
    turtle.setheading(angle)
    turtle.fd(-r / 2)
    turtle.pendown()
    turtle.dot(r / 4, "white")  # dot()绘制具有特定大小和颜色的圆点
 
    #=========画阳鱼眼=========
    turtle.penup()
    turtle.fd(-r)
    turtle.pendown()
    turtle.dot(r / 4, "black")
    turtle.penup()
 
turtle.tracer(0)  # 将刷新率置为0,即不刷新
for i in range(10000):  # 这里设置了1w次,也可以是其他次数
    tai()
    turtle.update()  # 更新绘图
    time.sleep(0.01)  # 休眠时间,这一句可以没有,但是如果没有的话,太极转的会很快
    turtle.clear()  # 清空画布
    angle += 1

2.2 Matlab实现 

%% 太极八卦图
 
%%~~~~~~~欢迎关注公众号:算法与编程之美~~~~%%
 
clc;clear;close all;
t=0:.1:pi;
T=0:.1:2*pi;
c=@(t)cos(t);s=@(t)sin(t);
x=c(t);y=s(t);
X=c(t);Y=s(-t);
x1=.1*c(T)-.5;y1=.1*s(T);
x2=x1+1;%y2=y1;
x3=.5*c(t)-.5;y3=.5*s(t);
x4=x3+1;%y4=-y3;
hold on
f=@(x,y,c)fill([x,flip(x3,2),flip(x4,2)],...
    [y,flip(y3,2),flip(-y3,2)],c);
f(X,Y,'k');
f(x,y,'w');
fill(x2,y1,'k',x1,y1,'w')
axis square off

到此这篇关于Python&Matlab实现伏羲八卦图的绘制的文章就介绍到这了,更多相关Python Matlab八卦图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • pytorch tensor合并与分割方式

    pytorch tensor合并与分割方式

    这篇文章主要介绍了pytorch tensor合并与分割方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • pandas groupby()的使用小结

    pandas groupby()的使用小结

    在数据分析中,经常会用到分组,可用函数pandas中的groupby(),本文就来介绍一下pandas groupby()的使用小结,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • Python制作钉钉加密/解密工具

    Python制作钉钉加密/解密工具

    本文给大家介绍的是使用Python实现钉钉的加密解密工具的核心代码,非常的实用,对于大家学习Python加密解密非常有帮助,希望大家能够喜欢
    2016-12-12
  • 教你怎么用python绘制dotplot

    教你怎么用python绘制dotplot

    这篇文章主要介绍了教你怎么用python绘制dotplot,文中有非常详细的代码示例,对正在学习python的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-04-04
  • Python实现的数据结构与算法之基本搜索详解

    Python实现的数据结构与算法之基本搜索详解

    这篇文章主要介绍了Python实现的数据结构与算法之基本搜索,详细分析了Python顺序搜索、二分搜索的使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • Python利用Beautiful Soup模块创建对象详解

    Python利用Beautiful Soup模块创建对象详解

    这篇文章主要介绍了Python利用Beautiful Soup模块创建对象的相关资料,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • Python语法学习之正则表达式的量词汇总

    Python语法学习之正则表达式的量词汇总

    通过正则的规则匹配到的信息都是一个单独的字符存到输出结果中的,如何更够根据字符串中的词组进行匹配呢?因此本文将带大家学习一下正则表达式中的量词符号与组的概念,感兴趣的可以了解一下
    2022-04-04
  • python numpy数组的索引和切片的操作方法

    python numpy数组的索引和切片的操作方法

    NumPy 是一个 Python 包。 它代表 “Numeric Python”。它是一个由多维数组对象和用于处理数组的例程集合组成的库。这篇文章主要介绍了python numpy 数组的索引和切片,需要的朋友可以参考下
    2018-10-10
  • python3+selenium4实现切换窗口与iframe的方法

    python3+selenium4实现切换窗口与iframe的方法

    在自动化测试过程中,有时后会遇到元素定位方式没有问题,但是依旧抛出无法找到元素的异常的问题,有可能是由于当前焦点不在指定页面或iframe导致的,本文就来说明 一下
    2021-05-05
  • python显示生日是星期几的方法

    python显示生日是星期几的方法

    这篇文章主要介绍了python显示生日是星期几的方法,涉及Python使用date模块操作日期的技巧,需要的朋友可以参考下
    2015-05-05

最新评论