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);
}
}

