zoukankan      html  css  js  c++  java
  • 数学图形(1.4)心形线

    心形线,是一个圆上的固定一点在它绕着与其相切且半径相同的另外一个圆周滚动时所形成的轨迹,因其形状像心形而得名。当然我觉得与其说它像心,还不如说它像屁股。

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

    极坐标方程:

    水平方向: r=a(1-cosθ) 或 r=a(1+cosθ) (a>0)
    垂直方向: r=a(1-sinθ) 或 r=a(1+sinθ) (a>0)

    直角坐标方程:

    心形线的平面直角坐标系方程表达式分别为 x^2+y^2+a*x=a*sqrt(x^2+y^2) 和 x^2+y^2-a*x=a*sqrt(x^2+y^2)

    参数方程:

    x=a*(2*cos(t)-cos(2*t))
    y=a*(2*sin(t)-sin(2*t))

    不过我觉得这种线怎么看都像屁股.

    心脏线1

    vertices = 1000
    
    r = 10.0
    t = from 0 to (2*PI)
    p = 2*r*(1+cos(t));
    x = p*sin(t)
    y = p*cos(t)

     

    心脏线2

    vertices = 1000
    
    r = 10.0
    t = from 0 to (2*PI)
    p = 2*r*(1-sin(t));
    x = p*sin(t)
    y = p*cos(t)

     

    心脏线3

    vertices = 1000
    
    r = 10.0
    t = from 0 to (2*PI)
    p = 2*r*(1+sin(t));
    x = p*sin(t)
    y = p*cos(t)

     

    心脏线4

    vertices = 1000
    
    r = 10.0
    t = from 0 to (2*PI)
    p = 2*r*(1-cos(t));
    x = p*sin(t)
    y = p*cos(t)

     

     心形线的另一种写法:

    vertices = 1000
    
    r = 10.0
    t = from 0 to (2*PI)
    x = r*[2*cos(t) - cos(2*t)]
    y = r*[2*sin(t) - sin(2*t)]

    不太像屁股的心形线:

    vertices = 1000
    r = 10.0
    t = from 0 to (2*PI)
    p = sin(t)*sqrt(abs(cos(t)))/(sin(t) + 7/5) - 2*sin(t) + 2
    x = p*cos(t)
    y = p*sin(t)

     心形面:

    vertices = D1:360 D2:100
    u = from (-PI) to (PI) D1
    v = from 10 to 1000 D2
    
    w = abs(u)
    p = sqrt(w/(v + w))
    r = 10
    
    x = r*p*sin(u)
    y = r*p*cos(u)

  • 相关阅读:
    Java String 字符串操作小结
    找到一篇关于 Oracle 全文检索实践 的文章
    Java中Array与ArrayList的主要区别
    Java使用Array类创建多维数组
    [例] 用MappedByteBuffer更新文件内容
    java nio 之MappedByteBuffer
    Java.util.Properties类
    Oracle外连接与条件的组合
    Oracle 树形SQL语句,SYS_CONNECT_BY_PATH 函数
    SQL Connect By 的例子
  • 原文地址:https://www.cnblogs.com/WhyEngine/p/3824177.html
Copyright © 2011-2022 走看看