java的海龟绘图是一个建议的绘图库,只能提供了简易的绘制直线和画笔转向的函数接口。我尝试使用海龟绘图绘制黄金分割曲线

首先,让画笔由小到大重复绘制黄金比例的长方形,每次循环边长的比例都增大1/0.618倍,效果如图所示:
源代码:

     double gold = 0.618;// 黄金分割double a=15;double b = 1;for (PenColor e : PenColor.values()) {//每次循环改变画笔颜色, turtle.color(e);turtle.forward((int) a); turtle.turn(90); turtle.forward((int) b);turtle.turn(90); turtle.forward((int) a); turtle.turn(90); b=a; a=a/gold;if(e==PenColor.CYAN) break; } turtle.draw();

然后尝试绘制曲线,可以用多边形代替圆。我选用40边形,效果如下:

源代码:

for (PenColor e : PenColor.values())// 以40边形代替圆形,画出黄金螺旋{turtle.color(e);for (int j = 0; j < sides / 4; j++)// 四分之一个圆{turtle.turn(angle);f = (int) b;if (b - (int) b > 0.5)f += 1;turtle.forward(f);}b = b / gold;// f=(int)r; if(r-(int)r>0.5) f+=1; for(int k=0;k<4;k++) { turtle.turn(90.0);// turtle.forward(f); } r=r/gold;}turtle.draw();

但当我想将两者结合起来,也就是使得每个四分之一圆都被一个正方形包裹住,就出现了问题,未能解决:
源代码:

for (PenColor e : PenColor.values())// 以40边形代替圆形,画出黄金螺旋{turtle.color(e);for (int j = 0; j < sides / 4; j++)// 四分之一个圆{turtle.turn(angle);f = (int) b;if (b - (int) b > 0.5)f += 1;turtle.forward(f);}b = b / gold;f=(int)r; if(r-(int)r>0.5) f+=1; for(int k=0;k<4;k++) { turtle.turn(90.0);turtle.forward(f); } r=r/gold;}turtle.draw();

【软件构造】java使用海龟绘图绘制黄金分割曲线相关推荐

  1. 【软件构造-java编写】生成50道100以内加法/减法算式的习题,并输出。(和不能超过100,差不能小于0)

    原题 (论述题) 生成50道100以内加法/减法算式的习题,并输出. (1)每个算式还需要答案: (2)加法算式的和不能超过100: (3)减法算式的差不能小于0: (4)每行整齐地多显示几个算式,不 ...

  2. python基础 海龟绘图 绘制奥运五环

    IDLE 环境下,代码可直接使用 第一步:import 导入turtle模块 第二步:画圆 第三部:run运行 代码如下: import turtle # 导入turtle模块turtle.width ...

  3. #软件构造 Java中的正则

    一些基础的正则表达式 符号 含义 AB 表示A与B的连接 A B A* 表示A的克林闭包,即出现0次或多次 A+ 表示A的非零闭包,即出现1次或多次 A? 表示A出现0次或1次 A{n} 表示A正好出 ...

  4. 20200929 008.海龟绘图_画出奥运五环图

    绘制奥运五环标记 源码: #绘制奥运五环 import turtle turtle.width(10) turtle.color("blue") turtle.circle(50) ...

  5. python海龟绘图(turtle)手绘【玫瑰、时钟、哆啦A梦、小猪佩奇、史迪仔】

    前言 python的第三方库绘图模块turtle(因其本意有海龟.乌龟的意思,又称为海龟绘图),可以用来绘制一些很好玩的东西.之前就有盛极一时的海龟绘图绘制冰墩墩,这里给大家总结了关于海龟绘图的一些方 ...

  6. python海龟绘图代码大全-python海龟绘图的例子 python绘图工具用法

    python turtle模块即海龟绘图的使用方法,对于需要进行图形编程会有一定的借鉴价值. python turtle模块简介: python2.6版本中引入的一个简单的绘图工具,叫做海龟绘图(Tu ...

  7. 【软件构造】实验笔记(一)Lab1-Fundamental Java Programming and Testing

    一.前言 <软件构造>课程是我校根据MIT.CMU等计算机领域名校的相关课程近年来开展的软件开发相关的课程.课程的实验和课件都很大程度上参考了上述学校. 本笔记对在课程实验练习进行中遇到的 ...

  8. 每日一练:Python代码绘制航海王草帽路飞,打饭阿姨也能跟着学会的Turtle海龟绘图系列

    Turtle 海龟绘图系列 - Python 代码绘制航海王草帽路飞 第一章:程序运行 ① 效果展示 - 轮廓描绘 ② 效果展示 - 颜色填充 第二章:实现过程 ① 绘图数据下载 ② 海龟绘图配置项 ...

  9. Python 代码绘制航海王四皇大妈(BIG MOM) - 门卫大爷也能跟着学会的Turtle海龟绘图系列

    Turtle 海龟绘图系列 - Python 代码绘制航海王四皇大妈 BIG MOM 第一章:程序运行 ① 效果展示1 ② 效果展示2 第二章:实现过程 ① 绘图数据下载 ② 海龟绘图配置项 ③ 本地 ...

最新文章

  1. Java / Android String.format 的使用
  2. enum2str做为queryValue时的问题
  3. wxWidgets:wxPanel类用法
  4. java向指定文件继续写内容_java 向指定文件写入内容(如文件存在,则先删除再创建;写入如目录不存在,则创建)...
  5. 快捷配置Hibernate实现对数据库的配置(构建通道)
  6. ue4 服务器登陆流程
  7. python 读取csv_Python实现CSV数据的读取--两种方法实现
  8. ConcurrentHashMap(JDK1.8)的源码解析
  9. Spring学习手札(二)面向切面编程AOP
  10. 【2020年“科创中国”】先导技术榜单、新锐企业榜单、产学研融通组织榜单发
  11. VC2005 运行库解析
  12. android简单悬浮窗源码,Android 悬浮窗的实现源码
  13. Matlab计算质心
  14. OPPO年薪百万offer经历分享
  15. 定积分的应用之 柱壳法求旋转体体积
  16. python 椭圆曲线_椭圆曲线double和add在python中的实现
  17. 删除一个字符串中指定位置上的字符
  18. FreeMind无法打开
  19. 利用MATLAB批量读写tif数据(Landsat78)
  20. mysql10038_关于MySql 10038错误的完美解决方法(三种)

热门文章

  1. vscode中配置settting.json
  2. tcp要点学习-建立连接断开连接
  3. XBee zigbee 使用指南---XBee 透传模式介绍
  4. Python-OpenCV中的cv2.inpaint()函数
  5. 2017成都车展大数据
  6. 学1个月爬虫就月赚6000?别被骗了,老师傅告诉你爬虫的真实情况!
  7. P1118 [USACO06FEB]数字三角形Backward Digit Su…
  8. 汇编(一)——ARM指令格式
  9. W7正在锁定计算机,win7输错密码锁定了怎么办 win7电脑被锁定的解锁方法
  10. android rc文件