用Python和Sperraph绘制美丽的几何可视化
#showdev #开源 #python #math

在数学世界中,有无限的模式,可视化和概念供应

一组特别有趣的概念被称为低型胸骨表扮演 - 从一个圆圈滚动周围延伸的点所追踪的美丽图案 固定圆圈

Pattern of white lines drawn on a dark background

让我们潜入并探索spyrograph如何帮助我们分析探索这些有趣的数学概念仅在几行代码中!

GitHub logo chris-greening / spyrograph

Python图书馆用于绘制美丽的几何艺术

spyrograph: elegant mathematics and geometries

Sample hypotrochoid drawing showing a circle rolling around the interior of another circle drawing a geometric shape

是什么?

sperraph 是一种轻巧的python软件包,提供了一套表现力且灵活的工具,用于绘制美丽的数学驱动艺术。只需几行易于阅读的代码,您就可以开始分析,可视化和探索优雅的数学

Issues License Version

Official website

Official docs

关键功能

  • 表达和一致的语法
  • 强大的基础数学
  • 无需第三方安装
  • 清晰的可视化和动画
  • 可以灵活地对各种用途
  • 轻量级,只需插电

目录


安装

pip

使用

从PYPI安装
 $ pip3安装sperraph 

或github的克隆

 $ git克隆https://github.com/chris-greening/spyrograph.git 

贡献

所有贡献,错误报告,错误修复,文档改进,增强功能和想法!

随意到open an Issue,查看现有的Issuesstart a discussion

强烈鼓励开源的初学者参与并询问

目录

哪些发不性易变和表体choid?

简单地放置,降低> 表位概念是由跟踪形成的曲线一个点从圆的中心延伸到 lolls时 (用于降低>)或外部(对于表型) field circle Small circle rolls around the outside of a larger circle drawing a pattern

最终的曲线可能非常复杂,优雅且令人愉悦,并且具有令人惊讶的广泛应用,从工程和天文学到在 Banknotes和Passports < /strong>作为伪造的安全措施

探索这些模式背后的数学

次级次级和表皮choids可以分解为几个关键输入和一组参数方程

输入是:

  • r R : the radius of the fixed circle
  • rr : the radius of the rolling circle
  • dd : the distance from the interior of the rolling circle
  • θ\theta : the angle formed by the horizontal and the center of the rolling circle
  • with the parametric equations defined as:

    降低脑颅

    x x态strenty =“ false”>( r mi> c s> c s r r) x(\theta) = (R - r)cos\theta + d cos(\frac{R - r}{r}\theta)
    y(θ)=(Rr)sinθdsin(Rrrθ)y(\theta) = (R - r)sin\theta - d sin(\frac{R - r}{r}\theta)

    表体choid

    x x态strenty =“ false”>( r + r c> c> c s r + r/mo> x(\theta) = (R + r)cos\theta - d cos(\frac{R + r}{r}\theta)
    y(θ)=(R+r)sinθdsin(R+rrθ)y(\theta) = (R + r)sin\theta - d sin(\frac{R + r}{r}\theta)

    Given this information, we can draw our curves using the output (x,y)(x,y) coordinates calculated by the parametric equations

    Plot of a circular pattern shaped like a donut

    安装Sperraph

    获得spyrograph 安装并准备好就像从PyPI安装最新稳定版本或克隆官员的开发版本 GitHub repo

    PYPI

    pip3 install spyrograph

    github

    git clone https://github.com/chris-greening/spyrograph.git

    没有其他配置或开始的第三方库; spyrograph利用 python标准库pandasmatplotlib

    提供了可选的支持

    使用spyrograph轻松建模

    spyrograph的目的是采用参数方程,并将它们构建为表现力,易于使用的快速 建模,探索和可视化的工具集这些曲线在Python中的行为

    from spyrograph import Hypotrochoid
    import numpy as np
    
    hypotrochoid = Hypotrochoid(
        R=423,
        r=203,
        d=101,
        thetas=np.arange(0, 720, .1)
    )
    hypotrochoid.trace()
    

    A donut shaped circular pattern

    只有我们的输入参数和几行代码,我们可以继续追踪曲线并生成令人惊叹的可视化,让spyrograph抽象地抽象了基础数学和实现详细信息

    在降压室和表体choid上,我们还定义了这些曲线的特殊情况,例如

    • Hypocycloid
    • Epicycloid
    • Deltoid
    • Astroid

    对于显式,面向对象的 清洁,灵活且准备进行编程

    结论

    和那样,我们可以绘制美丽,复杂的图案和形状让spyrograph处理所有的数学和可视化样板

    只需插入您的参数,然后开始探索数学的美丽世界!

    其他参考文献