My program is a Polar graphing window. My issue is that when I graph r=a*sin(b*theta). My specific example shown below uses a=12 and b=8. When I connect the point drawn to the next I get something show below:
The lines seem to be drawn across the petals, which looks wonderful, but is not correct. Below is the code drawing the points and lines:
for(int i=0; i< ptr.size(); i++){
drawPoint(g2d, ptr.get(i), ptt.get(i));
if(connectPoints && i!=ptr.size()-1){
g.drawLine((int)(origin_x+Math.cos(ptt.get(i))*ptr.get(i)*ppp),
(int)(origin_y-Math.sin(ptt.get(i))*ptr.get(i)*ppp),
(int)(origin_x+Math.cos(ptt.get(i+1))*ptr.get(i+1)*ppp),
(int)(origin_y-Math.sin(ptt.get(i+1))*ptr.get(i+1)*ppp));
}
}
ptr contains the r values and ptt contains the theta values. Here is the line adding the points:
for(double i=0; i<100; i+=0.1){
pg.plot(12*Math.cos(8*i), i);
}
Why is this happening? How can it be fixed? Thanks ahead of time!
