当一个圆在另一个圆上均匀的滚動前者上面的某个点的轨迹,是一个非常精美的图形;这是天体运动的一种简化模型假设所有的天体的运行轨道都是圆形。
比如月浗——地球——太阳——银河系中心,这是一个四级绕转系统假设日地月的绕转轨道都是圆形,那么以银河系中心为原点,月球的运動轨迹是个什么图形呢是不是很复杂?
-
首先我们把直线当成是半径很大的圆,大到无法想像的程度这样,圆在直线上滚动就相当於圆在另一个圆内滚动。我们把圆上的某个定点指定为“被追踪点”当这个点在平面内移动的时候,会产生一条轨迹曲线
-
注意各项参數的设置,尤其是动画控制参数(下面的图片被后期处理的时候压扁了,所以看着圆形是个椭圆形)
-
圆A是绿色的,圆B是红色线的粗細度是0.01;“被追踪点”是蓝色,大小为0.2;暂时忽略“被追踪点”的轨迹和两圆圆心
-
圆A在圆B上滚动,但是“被追踪点”不在圆A上而是在圓A的内部或者外部。我们约定“被追踪点”到圆A圆心的距离是d,那么d>0 && d≠1。
-
先运行这些预处理和自定义再运行图中的代码。代码先把R賦值为3再通过改变r和d的值,画出不同的曲线
-
注意代码的先后顺序,以及图形线条的覆盖关系
-
观察Graphics绘图时,对曲线颜色、粗细是如何設定的
-
代码的主体部分都是截图,有助于大家练习打字速度更好地理解代码的每一部分。
-
绘制不同零件的时候我是分别用Graphics实现的。其实也可以“提取公因式”,代码会更简短
-
有什么不明白的,可以私信联系我如果这片经验对你有帮助,就把它推荐给你的朋友吧!
经验内容仅供参考如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士