Я хотел сделать что-то похожее на анимацию Принстона, где они делали два круга, кружили друг вокруг друга, но я сделал объект собаки и объект «вода bottle», и я хочу, чтобы они делали одно и то же движение при каждом круге. Другой. Кто-нибудь знает, как я мог заставить это работать с объектами, которые у меня есть, код, который я имею до сих пор, ниже:
public class jackAndBottle {
public static void main(String[] args) {
StdDraw.setCanvasSize(800, 800);
StdDraw.setPenRadius(0.009);
StdDraw.setPenColor(StdDraw.BLACK);
jackAndBottle jack = new jackAndBottle();
StdDraw.enableDoubleBuffering();
for (double t = 0.0; true; t += 0.02) {
double x = Math.sin(t);
double y = Math.cos(t);
StdDraw.clear();
jack.drawDog(x, y);
jack.drawBottle(-x, -y);
StdDraw.show();
StdDraw.pause(20);
}
}
public void drawDog (double x, double y) {
StdDraw.setPenColor(StdDraw.DARK_GRAY);
StdDraw.filledCircle(0.5, 0.5, 0.1);
StdDraw.setPenColor(StdDraw.BLACK);
StdDraw.circle(0.5, 0.5, 0.1);
StdDraw.arc(0.5, 0.385, 0.1, 70, 110);
StdDraw.arc(0.55, 0.43, 0.1, 150, 186);
StdDraw.arc(0.45, 0.43, 0.1, 354, 29);
double[] r = { 0.5, 0.48, 0.5, 0.52, 0.5 };
double[] t = { 0.47, 0.465, 0.449, 0.465, 0.47 };
StdDraw.filledPolygon(r, t);
StdDraw.line(0.5, 0.449, 0.49, 0.4);
StdDraw.line(0.5, 0.449, 0.51, 0.4);
StdDraw.filledCircle(0.45, 0.51, 0.01);
StdDraw.filledCircle(0.55, 0.51, 0.01);
StdDraw.setPenColor(StdDraw.DARK_GRAY);
double[] a = { 0.37, 0.4, 0.43 };
double[] b = { 0.57, 0.5, 0.58 };
StdDraw.filledPolygon(a, b);
double[] c = { 0.63, 0.6, 0.57 };
double[] d = { 0.57, 0.5, 0.58 };
StdDraw.filledPolygon(c, d);
StdDraw.setPenColor(StdDraw.BLACK);
StdDraw.polygon(a, b);
StdDraw.polygon(c, d);
StdDraw.line(0.47, 0.53, 0.44, 0.55);
StdDraw.line(0.57, 0.55, 0.54, 0.53);
}
public void drawBottle(double x, double y) {
double[] g = { 0.6, 0.45, 0.45, 0.4, 0.4, 0.65, 0.65, 0.65, 0.6 };
double[] f = { 0.75, 0.75, 0.7, 0.65, 0.2, 0.2, 0.6, 0.65, 0.7 };
StdDraw.polygon(g, f);
}
}
if you could help me out I would be really grateful!