import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) /** * Write a description of class RoseCurve here. * * @author (your name) * @version (a version number or a date) */ public class RoseCurve extends Actor { /** * Act - do whatever the RoseCurve wants to do. This method is called whenever * the 'Act' or 'Run' button gets pressed in the environment. */ double x = 0; double y = 0; double newX; double newY; int k = 4; public RoseCurve() { } public void act() { // Add your action code here. drawRoseCurve(); } public void drawRoseCurve() { GreenfootImage gfim = new GreenfootImage(900,600); gfim.setColor(Color.BLUE); for (int theta = 0; theta <= 360; theta++) { double k = theta * Math.PI / 180; double r = Math.sin(k*theta); double newX = r*(Math.cos(k)); double newY = r*(Math.sin(k)); gfim.drawLine((int) x, (int) y, (int) newX, (int) newY); x = newX; y = newY; } setImage(gfim); } }