LINUX.ORG.RU

История изменений

Исправление 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);
    }
}