• 数学图形(1.49)Nephroid曲线


          昨天IPhone6在国内发售了,我就顺手发布个关于肾的图形。Nephroid中文意思是肾形的。但是这种曲线它看上去却不像个肾,当你看到它时,你觉得它像什么就是什么吧。

          The name nephroid (meaning 'kidney shaped') was used for the two-cusped epicycloid by Proctor in 1878. The nephroid is the epicycloid formed by a circle of radius a rolling externally on a fixed circle of radius 2a.The nephroid has length 24a and area 12π2.

         其数学公式为:

          x = a(3cos(t) - cos(3t))

          y = a(3sin(t) - sin(3t))

          相关软件参见:数学图形可视化工具,使用自己定义语法的脚本代码生成数学图形.该软件免费开源.QQ交流群: 367752815

    脚本代码:

    #http://www-gap.dcs.st-and.ac.uk/~history/Curves/Nephroid.html
    
    vertices = 2000
    
    t = from 0 to (2*PI)
    
    a = 2
    
    x = a*(3*cos(t) - cos(3*t))
    
    y = a*(3*sin(t) - sin(3*t))

    变异的Nephroid曲线:

    #http://xahlee.info/SpecialPlaneCurves_dir/Nephroid_dir/nephroid.html
    
    vertices = 200
    t = from (0) to (50*PI)
    
    x = 3*cos[t]-cos[3*t]
    y = 3*sin[t]-sin[3*t]

    将Nephroid曲线绕x轴旋转:

    vertices = D1:100 D2:100
    
    u = from 0 to (PI) D1
    v = from 0 to (2*PI) D2
    
    a = 2
    
    x = a*(3*cos(u) - cos(3*u))
    
    n = a*(3*sin(u) - sin(3*u))
    
    y = n*cos(v)
    z = n*sin(v)

    将Nephroid曲线绕Y轴旋转:

    vertices = D1:100 D2:100
    
    u = from (-PI/2) to (PI/2) D1
    v = from 0 to (2*PI) D2
    
    a = 2
    
    n = a*(3*cos(u) - cos(3*u))
    
    y = a*(3*sin(u) - sin(3*u))
    
    x = n*cos(v)
    z = n*sin(v)

  • 相关阅读:
    Servlet简介
    Tomcat服务器(一)
    Java对象的serialVersion序列化和反序列化
    MySQL中不允许使用列别名作为查询条件
    IF函数
    IFNULL函数
    用Java取指定时区的时间 北京时间,纽约时间,班加罗尔时间
    一个CSV文件解析类
    Java中取两位小数
    JS传中文到后台需要的处理
  • 原文地址:https://www.cnblogs.com/WhyEngine/p/4033186.html
Copyright © 2020-2023  润新知