История изменений
Исправление foror, (текущая версия) :
Короче, потестил я рисование ценника на жестяную банку. По сути нужно соединить контуры круга и прямоугольника по типу замочной скважины амбарного замка.
Вначале пытался по русски сформулировать вопрос. Вплоть до скважины амбарного замка. Никто не справился. Ни gpt4, ни mistral-22b.
Перевел запрос на анлийский: How can you merge the outlines of two shapes, a circle and a rectangle, in Java? The top corners of the rectangle should align with the outline of the circle.
gpt4 опять не справился. А вот mistral https://chat.mistral.ai смогла:
import java.awt.*;
import java.awt.geom.Area;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Rectangle2D;
import javax.swing.*;
public class MergeShapes extends JPanel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
// Create the circle
int circleRadius = 100;
Ellipse2D circle = new Ellipse2D.Double(100, 100, circleRadius * 2, circleRadius * 2);
// Create the rectangle
int rectWidth = 150;
int rectHeight = 100;
int rectX = (int) (circle.getCenterX() - rectWidth / 2);
int rectY = (int) (circle.getCenterY() - circleRadius);
Rectangle2D rectangle = new Rectangle2D.Double(rectX, rectY, rectWidth, rectHeight);
// Create Area objects for the circle and rectangle
Area areaCircle = new Area(circle);
Area areaRectangle = new Area(rectangle);
// Merge the shapes
areaCircle.add(areaRectangle);
// Draw the merged shape
g2d.setColor(Color.BLUE);
g2d.fill(areaCircle);
}
public static void main(String[] args) {
JFrame frame = new JFrame("Merge Shapes");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 400);
frame.add(new MergeShapes());
frame.setVisible(true);
}
}
Исправление foror, :
Короче, потестил я рисование ценника на жестяную банку. По сути нужно соединить контуры круга и прямоугольника по типу замочной скважины амбарного замка.
Вначале пытался по русски сформулировать вопрос. Вплоть до скважины амбарного замка. Никто не справился. Ни gpt4, ни mistral-22b.
Перевел запрос на анлийский: How can you merge the outlines of two shapes, a circle and a rectangle, in Java? The top corners of the rectangle should align with the outline of the circle.
gpt4 опять не справился. А вот mistral смогла:
import java.awt.*;
import java.awt.geom.Area;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Rectangle2D;
import javax.swing.*;
public class MergeShapes extends JPanel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
// Create the circle
int circleRadius = 100;
Ellipse2D circle = new Ellipse2D.Double(100, 100, circleRadius * 2, circleRadius * 2);
// Create the rectangle
int rectWidth = 150;
int rectHeight = 100;
int rectX = (int) (circle.getCenterX() - rectWidth / 2);
int rectY = (int) (circle.getCenterY() - circleRadius);
Rectangle2D rectangle = new Rectangle2D.Double(rectX, rectY, rectWidth, rectHeight);
// Create Area objects for the circle and rectangle
Area areaCircle = new Area(circle);
Area areaRectangle = new Area(rectangle);
// Merge the shapes
areaCircle.add(areaRectangle);
// Draw the merged shape
g2d.setColor(Color.BLUE);
g2d.fill(areaCircle);
}
public static void main(String[] args) {
JFrame frame = new JFrame("Merge Shapes");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 400);
frame.add(new MergeShapes());
frame.setVisible(true);
}
}
Исходная версия foror, :
Короче потестил я рисование ценника на жестянную банку. По сути нужно соединить контуры круга и прямоугольника по типу замочной скважины амбарного замка.
Вначале пытался по русски сформулировать вопрос. Вплоть до скважины амбарного замка. Никто не справился. Ни gpt4, ни mistral-22b.
Перевел запрос на анлийский: How can you merge the outlines of two shapes, a circle and a rectangle, in Java? The top corners of the rectangle should align with the outline of the circle.
gpt4 опять не справился. А вот mistral смогла:
import java.awt.*;
import java.awt.geom.Area;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Rectangle2D;
import javax.swing.*;
public class MergeShapes extends JPanel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
// Create the circle
int circleRadius = 100;
Ellipse2D circle = new Ellipse2D.Double(100, 100, circleRadius * 2, circleRadius * 2);
// Create the rectangle
int rectWidth = 150;
int rectHeight = 100;
int rectX = (int) (circle.getCenterX() - rectWidth / 2);
int rectY = (int) (circle.getCenterY() - circleRadius);
Rectangle2D rectangle = new Rectangle2D.Double(rectX, rectY, rectWidth, rectHeight);
// Create Area objects for the circle and rectangle
Area areaCircle = new Area(circle);
Area areaRectangle = new Area(rectangle);
// Merge the shapes
areaCircle.add(areaRectangle);
// Draw the merged shape
g2d.setColor(Color.BLUE);
g2d.fill(areaCircle);
}
public static void main(String[] args) {
JFrame frame = new JFrame("Merge Shapes");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 400);
frame.add(new MergeShapes());
frame.setVisible(true);
}
}