瑰丽多姿的万花规曲线原理

原创 2006年06月16日 16:50:00

(这是1999年我发表在《电脑爱好者》第12期的拙作原文+配图

最新版本的万花规曲线是屏幕保护版v2.51

效果图及超小安装包见:http://blog.csdn.net/Tycool/archive/2006/06/16/804031.aspx

)

    你肯定见到过这样一种玩具:把圆珠笔尖插到一块圆形塑料
板的孔内,顺(或逆)时针地用力让这块圆板沿着外面大圆框的
边缘转动,下面的纸上就会画出一种美丽的花纹,越画越多,越
画越神奇……只要让笔尖在小圆板上换个孔,又能画出另外千奇
百怪的花纹了!
    能不能让电脑来模拟这种画法呢?当然可以!让我们来动动
脑筋,左三圈,右三圈……哟,别转晕了!小弟我为了这个算法
画了好多张纸的草图,总算得到了满意的结果。电脑这位方脑壳
朋友回又多学了一招,好象挺能干的,其实哪有我们人的脑袋瓜
灵活好使啊!
    先看示意图:
!!!!!!!!!!!!!这里插入示意图 <万花规示意图.jpg>!!!!!!!

图〈1〉中,O为大圆圆心,C为小圆圆心,B为小圆上的孔,设R与
r分别为大小圆的半径,S为小圆上孔B离小圆圆心C的距离,由图
〈1〉开始,小圆逆时针自转(注意大小圆弧线相啮合)转至图〈2〉
位置时,设两圆心连线与水平相比转过了alpha弧度,小圆新旧切
点分别与圆心C连成的直径已转过thita弧度,因此:
    r*thita=alph*R (大小圆的弧相啮合)
    即thita=(R/r)*alpha;
    若把两圆相切的部分看成沿大圆弧作匀速圆周运动,角速度
常量W,时间t作为变量,则  alpha=W*t,thita=(R/r)*W*t;
    若设W为1度/秒,则
    alpha = t
    thita = (R/r) * t
    alpha - thita = t * (1-R/r)
    B点新的坐标为:
    |Xb|=CE+BD=(R-r)*cos(alpha)+S*cos(alpha-thita)
     =(R-r)*cos(t)+S*cos(t*(1-R/r))
     
    |Yb|=EO-CD=(R-r)*sin(alpha)-S*sin(alpha-thita)
     =(R-r)*sin(t)-S*sin(t*(1-R/r))
   
   
    输入后面的源程序,你就能看到令人激动的美妙曲线了!
    如果改动小圆的半径r和着笔点B距小圆圆心的距离S,新的曲线
就形成了。不过,此程序有些待改进的地方:对于不同的小圆半径和
B点的位置组合,各曲线开始循环画原先画过的点的时间(EndTime)不
同,源程序中有几对我试过的组合,能得到相当满意的图案。哪位看
官如能由r和S得到与EndTime的关系,在下恳请赐愚赏析!小弟Email
地址:mr_cq#sohu.com (恭候!)
    小弟通过此程序感觉到:数学分析得到的结果常常形式简单,但
实际效果却是相当让人激动的!此例只为抛砖引玉,请各位大虾赐教!

万花规曲线原理图

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

VB054-万花规演示 源代码

  • 2016-12-23 21:48
  • 35KB
  • 下载

万花规演示(7KB)

Precision/Recall和ROC曲线原理以及Matlab源码

查准率和查全率是信息检索效率评价的两个定量指标,不仅可以用来评价每次检索的准确性和全面性,也是在信息检索系统评价中衡量系统检索性能的重要方面。 查准率(Precision ratio,简称为P)...

万花写频软件

  • 2014-09-20 21:58
  • 950KB
  • 下载

万花写频软件

  • 2015-04-27 01:10
  • 404KB
  • 下载

Bezier曲线原理及实现代码(c++)

一、原理:        贝塞尔曲线于1962年,由法国工程师皮埃尔·贝塞尔(Pierre Bézier)所广泛发表,他运用贝塞尔曲线来为汽车的主体进行设计。贝塞尔曲线最初由 Paul de C...

AS3模拟万花尺

[Android]贝塞尔曲线应用及QQ气泡拖动原理实践

贝塞尔曲线应用及QQ气泡拖动原理实践绘线API介绍 moveTo 控制Path的起点位置 lineTo 从起点连接到某点位置 quadTo 绘制贝塞尔曲线 cubicTo 同样是绘制贝塞尔曲...

最小二乘法多项式曲线拟合原理与实现

概念 最小二乘法多项式曲线拟合,根据给定的m个点,并不要求这条曲线精确地经过这些点,而是曲线y=f(x)的近似曲线y= φ(x)。 原理 [原理部分由个人根据互联网上的资料进行总结,希望对大...

贝塞尔曲线的数学原理

Bézier curve(贝塞尔曲线)是应用于二维图形应用程序的数学曲线。 曲线定义:起始点、终止点(也称锚点)、控制点。通过调整控制点,贝塞尔曲线的形状会发生变化。 1962年,法国数学家Pierr...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)