注:关于x轴y轴对称忘记做了!

package Testh;import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;/*** @Author cc* @create 2022/5/15 16:43*/
public class exam extends JFrame implements ActionListener {                     //四叶玫瑰线画布组件{public Color color;                                   //颜色private int r;Canvas canvas;public exam(Color color, int r) {this.setColor(color);this.r = r;}public void setColor(Color color) {this.color = color;}public class RoseCanvas extends Canvas {public void paint(Graphics g) {                          //在Canvas上作图{int x0 = this.getWidth() / 2;                        //(x0,y0)是组件正中点坐标int y0 = this.getHeight() / 2;g.setColor(color);//设置画线颜色g.drawLine(x0, 0, x0, y0 * 2);                          //画X轴g.drawLine(0, y0, x0 * 2, y0);                          //画Y轴for (int j = 40; j < 200; j += 20)                       //画若干圈四叶玫瑰线for (int i = 0; i < 1 << 10; i++)                     //画一圈四叶玫瑰线的若干点{double angle = i * Math.PI / 512;double radius = j * Math.sin(r * angle);       //四叶玫瑰线int x = (int) Math.round(radius * Math.cos(angle));int y = (int) Math.round(radius * Math.sin(angle));g.fillOval(x0 + x, y0 + y, 2, 2);//画直径为1的圆就是一个点}validate();}}public void init() {JFrame frame = new JFrame("多叶玫瑰线");frame.setSize(800, 600);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JPanel p1, p2;JList<String> list;p1 = new JPanel();JRadioButton j[] = new JRadioButton[7];ButtonGroup bg = new ButtonGroup();j[0] = new JRadioButton("red");j[2] = new JRadioButton("blue");j[3] = new JRadioButton("green");j[4] = new JRadioButton("magenta");j[5] = new JRadioButton("cyan");j[6] = new JRadioButton("orange");j[1] = new JRadioButton("pink");for (int i = 0; i < 7; i++) {j[i].addActionListener(this);bg.add(j[i]);p1.add(j[i]);}frame.getContentPane().add(p1, BorderLayout.NORTH);p2 = new JPanel();list = new JList<String>();list.setListData(new String[]{"一叶", "四叶", "三叶", "八叶"});list.setPreferredSize(new Dimension(50, 400));list.addListSelectionListener(e -> {if (e.getValueIsAdjusting()) {if (list.getSelectedIndex() == 0) {r = 1;} else if (list.getSelectedIndex() == 1) {r = 2;} else if (list.getSelectedIndex() == 2) {r = 3;} else if (list.getSelectedIndex() == 3) {r = 4;}if(r % 2 == 0){bg1.clearSelection();j1.setSelected(true);}else{bg1.clearSelection();j2.setSelected(true);}}//repaint方法不会立即重绘canvas.repaint();validate();});p2.add(list);this.canvas = new RoseCanvas();frame.getContentPane().add(p2, BorderLayout.WEST);frame.getContentPane().add(this.canvas, BorderLayout.CENTER);frame.setVisible(true);}public static void main(String[] args) {exam e = new exam(Color.red, 2);e.init();//frame.add(new exam(Color.red));}@Overridepublic void actionPerformed(ActionEvent e) {if (e.getActionCommand().equals("red")) {setColor(Color.red);}if (e.getActionCommand().equals("blue")) {setColor(Color.blue);}if (e.getActionCommand().equals("green")) {setColor(Color.green);}if (e.getActionCommand().equals("magenta")) {setColor(Color.magenta);}if (e.getActionCommand().equals("cyan")) {setColor(Color.cyan);}if (e.getActionCommand().equals("orange")) {setColor(Color.orange);}if (e.getActionCommand().equals("pink")) {setColor(Color.pink);}canvas.repaint();validate();}
}

6-75 绘制多叶玫瑰线相关推荐

  1. 绘制四叶玫瑰线matlab,数学实验_word文档在线阅读与下载_文档网

    成都学院二零一三到二零一四学年第二学期半期考试 <数学实验>课程考试题 (120分钟) 考试形式:闭卷 考试日期: 年 月 日 所有答案一律写在答题纸上,写在试卷上无效. 一.单项选择题( ...

  2. matlab 绘制极坐标三叶玫瑰线,几何画板如何画三叶玫瑰线?

    根据三角函数的特性可知,玫瑰线是一种具有周期性且包络线为圆弧的曲线,曲线的几何结构取决于方程参数的取值,不同的参数决定了玫瑰线的大小.叶子的数目和周期的可变性.其极坐标方程可以表示为:ρ=a* sin ...

  3. matlab四叶玫瑰线,多种语言画玫瑰,总有一款适合你表白

    小丑竟然是自己 今天上午刚打完美赛,和其他两个队友一起奋斗了四天,最后一晚通宵,彻夜未眠,虽然很累,但看到写出一篇25页全英latex排版论文还是挺开心的.如果不得奖的话都打算退出建模圈了,比完赛看了 ...

  4. MATLAB怎么做出三叶玫瑰线,《数学实验》期末总复习题

    系别 班次 学号 姓名 . ---密---封---线---以---内---答---题---无---效-- 第 20 页 共 53页 号结果. 4.y=dsolve('Dy=1/(1+x^2)-2*y^ ...

  5. 三叶玫瑰线的膨胀(Mathematica演示)

    三叶玫瑰线的极坐标方程是,图像如下: PolarPlot[Sin[3 t], {t, 0, Pi}, ImageSize -> {1280, 720}] 注意参数的取值范围是到,我们来看看这个图 ...

  6. java四叶玫瑰_[转载]java编程——四叶玫瑰线

    package edu.hit.hd.zyl; import java.awt.*; import java.awt.event.*; import javax.swing.*; public cla ...

  7. 蓝桥杯例题练习(简单)--绘制四叶风车

    #利用turtle绘制四叶风车 ,要求:风车叶子颜色填充为红黄蓝绿,边长100##思路:由于绘制的是四叶风车,因此在绘制时可能存在重复代码段,可以考虑将其嵌入循环之中以节省代码量和人力##基础准备: ...

  8. matlab绘四叶玫瑰线,玫瑰线 - calculus的日志 - 网易博客

    在极坐标系中,以下方程表示的曲线称为玫瑰线(Rose curve): 或 当 n 是奇数时,玫瑰线有 n 个花瓣,称为 n 叶玫瑰. 当 n 是偶数时,玫瑰线有 2n 个花瓣,为 2n 叶玫瑰. 注: ...

  9. 打卡训练绘制四叶风轮

    目录 一.题目 二.分析 三.完整代码展示 四.改进 一.题目 画出四叶风轮,半径100 风轮由四个扇叶组成,每个扇叶大小相等,相邻两个扇叶间距相等 四个扇叶的颜色分别是('red','yellow' ...

最新文章

  1. springMVC - 之拦截器
  2. cocos2d-x3.0 实现HTTP请求GET、POST
  3. c语言变凉存储性,C语言数据的表示和存储(IEEE 754标准)
  4. replace 替换字符串
  5. java ehcahce刷新_springboot结合ehcache防止恶意刷新请求的实现
  6. 创立微积分的两场风波
  7. C#基础8:类的继承
  8. 难道这个会是我的广角选择?
  9. 计算机网络原理之网络层(解疑答惑)
  10. 现场总线---can总线
  11. 用计算机sp画笑脸,Microsoft Office Visio绘画圆形笑脸的相关操作步骤
  12. ORACLE归档日志详解
  13. 经典:基因组测序数据从头拼接或组装算法的原理
  14. 百度地图导航的接入(包含三种选择方式驾车、公交、步行)
  15. uni-app 配置 以及 使用微信云函数
  16. html5 画太极图,canvas基础画太极图(娱乐~)
  17. 教你如何正确反编译apk
  18. Android 关于RemoteViews的理解(一)
  19. 全球及中国地球物理处理和成像行业研究及十四五规划分析报告
  20. hive常用函数之七字符串函数

热门文章

  1. @staticmethod静态方法
  2. 批处理解约瑟夫环应用题-shell
  3. php 支付宝用户信息授权,h5端支付宝第三方用户信息接口demo
  4. QQ个性域名邮箱(免费企业邮箱)快速申请
  5. window各版本回顾
  6. PS一键合成恐怖血腥吸血鬼人物效果
  7. 【单调栈】【数据结构】向右看齐 Look Up(luogu P2947)
  8. EasySearcher搜索不到EasyNVR硬件的IP地址,如何解决?
  9. 小菜鸟的第一个爬虫:豆瓣爬取电影信息
  10. 来 CSDN 实习技术编辑,直面改变世界的技术与人物