Прямоугольная область задана координатами x1 y1, x2 y2 концов ее диагонали. Область разбита на прямоугольники так, что одна сторона разбита на n, а другая на m отрезков. В этой области задана окружность. Вычислить количество прямоугольников области, в которых лежит хотя бы одна точка окружности. Выделить искомые прямоугольники.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
//ввод
System.out.println("Input x1");
int x1 = in.nextInt();
int y1 = in.nextInt();
int x2 = in.nextInt();
int y2 = in.nextInt();
int x3 = in.nextInt();
int y3 = in.nextInt();
int x = in.nextInt();
int y = in.nextInt();
int d = in.nextInt();
int w = in.nextInt();
int xe = in.nextInt();
int ye = in.nextInt();
int de = in.nextInt();
int we = in.nextInt();
int m = in.nextInt();
int n = in.nextInt();
MyFrame frame = new MyFrame();
MyPanel panel = new MyPanel(x1, y1, x2, y2, x3, y3, x, y, d, w, xe, ye, de, we, m, n);
frame.add(panel);
}
}
import javax.swing.*;
import java.awt.*;
import java.awt.geom.Area;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Rectangle2D;
public class MyPanel extends JPanel {
int x1, y1, x2, y2, x3, y3;
int x, y, d, w;
int xe, ye, de, we;
int m, n;
MyPanel(int x1, int y1, int x2, int y2, int x3, int y3, int x, int y, int d, int w, int xe, int ye, int de, int we, int m, int n)
{
this.x1=x1;
this.x2=x2;
this.x3=x3;
this.y1=y1;
this.y2=y2;
this.y3=y3;
this.x=x;
this.y=y;
this.d=d;
this.w=w;
this.xe=xe;
this.ye=ye;
this.de=de;
this.we=we;
this.m=m;
this.n=n;
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
g2.setPaint(Color.RED);
Rectangle2D rect = new Rectangle2D.Double((double)x, (double)y, (double)w, (double)d);
g2.draw(rect);
Ellipse2D elip = new Ellipse2D.Double((double)xe, (double)ye, (double)we, (double)de);
g2.draw(elip);
}
}
import javax.swing.*;
public class MyFrame extends JFrame{
MyFrame() {
setSize(700,700);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
setResizable(true);
}
}
Учусь в универе. Вообще не представляю, что дальше делать, как вариант массив из прямоугольников, но как его сделать я не знаю. Буду очень благодарен за помощь и критику.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости