import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SpiralJFrame extends JFrame implements ActionListener {
 
 private SpiralCanvas canvas;
 
 public SpiralJFrame()
 {
  super("阿基米德螺线");
  Dimension dim=getToolkit().getScreenSize();
  this.setBounds(dim.width/4,dim.height/4,dim.width/2,dim.height/2);
  this.setDefaultCloseOperation(EXIT_ON_CLOSE);
  JPanel jpanel=new JPanel();
  this.getContentPane().add(jpanel, "North");
  JButton button_color=new JButton("颜色选择");
  jpanel.add(button_color);
  button_color.addActionListener(this);
  this.canvas=new SpiralCanvas(Color.red);
  this.getContentPane().add(this.canvas, "Center");
  this.setVisible(true);
 }
 
 
 
 @Override
 public void actionPerformed(ActionEvent arg0) {
  Color c=JColorChooser.showDialog(this, "选择颜色", Color.blue);
  this.canvas.setColor(c);
  this.canvas.repaint();
 }
 public static void main(String arg[]){
  new SpiralJFrame();
 }
}
class SpiralCanvas extends Canvas {
 
 private Color color;
 public SpiralCanvas(Color color){
  this.setColor(color);
 }
 public void setColor(Color color){
  this.color=color;
 }
 public void paint(Graphics g){
  
  int x0=this.getWidth()/2;
  int y0=this.getHeight()/2;
  g.setColor(this.color);
  g.drawLine(x0, 0, x0, y0*2);
  g.drawLine(0, y0, x0*2, y0);
  
  double r;
  for(int i=0;i<2000;i++){
   r=0.1*i;
   int x =(int) ( r * Math.cos(5*r*Math.PI/180));
      int y = (int) (r * Math.sin(5*r*Math.PI/180));
   g.fillOval(x0+x, y0+y, 2, 2);
  }
  
 }
 
}

java阿基米德螺线相关推荐

  1. java阿基米德螺线_阿基米德螺线图形设计_java基础实验报告.doc

    阿基米德螺线图形设计_java基础实验报告.doc 南京工程学院实验报告课程名称JAVA基础实验项目名称图形用户界面设计实验题目阿基米德螺线图形设计实验学生班级网络132实验学生姓名薛康威学号2021 ...

  2. java阿基米德螺线_JavaScript图形实例:阿基米德螺线

    1.阿基米德螺线 阿基米德螺线亦称"等速螺线".当一点P沿动射线OP以等速率运动的同时,该射线又以等角速度绕点O旋转,点P的轨迹称为"阿基米德螺线". 阿基米德 ...

  3. java阿基米德螺线_等速螺线(阿基米德螺线)

    一个圆盘以角速度 w 作转动,有一只蚂蚁在圆盘上沿着经过圆心的直线以速度 v 向外爬行,则小虫的运动轨迹为一条等速螺线,也叫阿基米德螺线( 假设在时刻 t=0 时,小虫位于原点,则在时刻 t 时,小虫 ...

  4. java螺线_JavaScript图形实例:阿基米德螺线

    1.阿基米德螺线 阿基米德螺线亦称"等速螺线".当一点P沿动射线OP以等速率运动的同时,该射线又以等角速度绕点O旋转,点P的轨迹称为"阿基米德螺线". 阿基米德 ...

  5. 使用阿基米德螺线进行数据可视化

    最近开发了一个新的R包spiralize,可以使用阿基米德螺线对数据进行可视化.在数据可视化中,螺线具有以下两个优点:1. 可以可视化具有非常长的数据轴的数据,同时能够提高可视化的分辨率:2.可以有效 ...

  6. 在Matlab中绘制阿基米德螺线

    1.数学表达式 阿基米德螺线(Archimedean spiral),亦称"等速螺线".当一点P沿动射线OP以等速率运动的同时,这射线又以等角速度绕点O旋转,点P的轨迹称为&quo ...

  7. matlab上阿基米德线的切线,基于数学软件的阿基米德螺线切线计算与分析

    要:通过运用数学软件,按照中学课程中导数求解的思路,简便实现阿基米德螺线切线的计算,并对验证结果进行分析得出结论,为拓展中学数学教学方法提供参考. 关键词:阿基米德螺线 导数 数学教学 Mathema ...

  8. JavaScript 数学曲线—阿基米德螺线

    引子 最近在研究曲线运动的时候,尝试了用 AI 导出的 SVG 路径之后,发现有些还是回归到数学中更合适一些.搜集了一些资料,尝试后总结一下. Origin My GitHub 简介 阿基米德螺旋是以 ...

  9. lisp 阿基米德螺旋_用CAD如何画阿基米德螺线

    1.可以先用"电子表格"按阿基米德螺线公式计算出一列成对的X.Y的值.并做成"X,Y"的形式,然后复制这一列值,在CAD里画样条时粘贴上去就成了,"电 ...

最新文章

  1. 用例设计大全(整理)
  2. 【Network Security!】信息的扫描与嗅探
  3. java list移除所有元素,从List中移除指定 List 中包含的其所有元素(可选操作)。...
  4. 科大星云诗社动态20201203
  5. 工程图样中粗实线的用途_图纸天天画,粗实线和细实线的线宽比例是多少?2:1还是3:1?...
  6. IntelliJ IDEA 如何知道项目中的模块数据_如何从项目源中选择模块加入当前项目中(添加模块)_如何移除项目中的模块(移除模块/删除模块)
  7. JVM 自定义的类加载器的实现和使用
  8. 工厂供电MATLAB仿真,工厂供电课程设计---基于MATLAB的电力电子系统仿真
  9. [转载] Python数据分析与可视化学习笔记(一)数据分析与可视化概述
  10. python线程池原理_Django异步任务线程池实现原理
  11. 使用putty上传文件到linux
  12. 17082 两个有序数序列中找第k小(优先做)
  13. 新书出版 |《数据库程序员面试笔试宝典》
  14. 知网哭穷赔不起1200亿,网友:收钱时咋不嫌多
  15. 新手程序员之初生牛犊不怕虎
  16. MLC的寿命是否真如厂商标称的只有3000次?论原装芯片测试的重要性!
  17. AutoSar CAN网络管理状态机理解
  18. Mybatis初学一个问题困扰一下午 The error may exist in com/.........
  19. Python书籍阅读与记录 6.17 I 文件和异常
  20. Taro2.* 小程序配置分享微信朋友圈

热门文章

  1. 记一次阿里云服务器中挖矿病毒处理
  2. 报错:axis2.AxisFault: Transport error: 401 Error: Unauthorized
  3. 我怀念的何止是那片土地
  4. 谷歌浏览器中全屏及跳过页面打印预览的设置
  5. Linux下实现达梦数据库disql 命令上下翻动
  6. iOS设备BLE MTU
  7. 阅文加入 OpenCloudOS 操作系统社区,作为成员单位参与社区共建
  8. CocoaPods移除Sessions
  9. 使用some和any来表面数量_27
  10. web课程设计——健身俱乐部健身器材网站模板(24页)HTML+CSS+JavaScript