Lines.java 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package model.objects;
  2. import java.awt.Graphics2D;
  3. import java.awt.Polygon;
  4. import java.awt.Shape;
  5. import java.awt.geom.AffineTransform;
  6. import java.awt.geom.Line2D;
  7. import java.util.ArrayList;
  8. import java.util.List;
  9. public class Lines {
  10. private List<Shape> lines;
  11. private Polygon octagon;
  12. public Lines(int xToRight, int sizeOctagon) {
  13. super();
  14. lines = new ArrayList<Shape>();
  15. int middlePointX = 512+xToRight;
  16. int middlePointY = 512;
  17. int amountOfAngles = 8;
  18. octagon = new Polygon();
  19. for(int i = 0; i < amountOfAngles; i++){
  20. octagon.addPoint((int)(middlePointX+sizeOctagon*Math.cos(i*Math.PI/(amountOfAngles/2))),
  21. (int)(middlePointY+sizeOctagon*Math.sin(i*Math.PI/(amountOfAngles/2))));
  22. }
  23. AffineTransform t = new AffineTransform();
  24. for(int i = 0; i < 8; i++){
  25. t.rotate(Math.toRadians(45), middlePointX, 512);
  26. lines.add(t.createTransformedShape(new Line2D.Double(middlePointX, -213, middlePointX, 512)));
  27. }
  28. }
  29. public void draw(Graphics2D g2){
  30. for(Shape s : lines){
  31. g2.draw(s);
  32. }
  33. g2.draw(octagon);
  34. }
  35. }