1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | 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); } } |

