Метод рисования треугольника - программирование

Метод рисования треугольника

У меня возникли проблемы с рисованием треугольника с помощью метода draw(Graphics g) в Java. Я могу нарисовать прямоугольник следующим образом:

public void draw(Graphics g) {
    g.setColor(colorFill);
    g.fillRect(p.x, p.y, width, height);
    g.setColor(colorBorder);
    g.drawRect(p.x, p.y, width, height);
    drawHandles(g);

Где p представляет "верхний левый угол фигур". Как бы я нарисовал треугольник таким же образом?

Может ли кто-нибудь дать мне пример стандартного треугольника?

4b9b3361

Ответ 1

В Graphics и Graphics2D нет метода drawTriangle. Вам нужно сделать это самостоятельно. Вы можете нарисовать три строки с помощью метода drawLine или использовать один из этих методов:

Эти методы работают с полигонами. Вы можете изменить префикс draw на fill, если хотите заполнить многоугольник, определенный набором точек. Я вставил ссылки на документацию. Посмотрите, как их использовать.

Существует класс GeneralPath. Его можно использовать с Graphics2D, который способен рисовать Shapes. Посмотрите:

Ответ 2

Вам следует попробовать использовать API Shape.

Взгляните на JPanel repaint из другого класса, который посвящен рисованию треугольников, посмотрите на метод getPath для некоторых идей

Вы также должны прочитать GeneralPath и Рисование Произвольные фигуры.

Этот метод очень легко применить AffineTransformation для

Ответ 4

Используйте линейный алгоритм для соединения точки A с точкой C, а во внешнем цикле пусть точка A блуждает по точке B с одним и тем же линейным алгоритмом и с блуждающими координатами, повторите рисование этой линии. Вероятно, вы также можете включить дельта z, который также увеличивается итеративно. Для линейного алгоритма просто вычислите два или три наклона для дельта-изменения каждой координаты и установите один наклон до 1 после пропорционального изменения двух других, чтобы они были ниже 1. Это очень важно для рисования замкнутых геометрических областей между связанными мешевыми частицами. Взгляните на пример Qt Elastic Nodes, и теперь представьте рисовать треугольники между узлами после растяжения этого по скелету. Пока он будет оставаться в сети

Ответ 5

Вы можете использовать библиотеку обработки: https://processing.org/reference/PGraphics.html

Существует метод под названием треугольник():

g.triangle(x1, y1, x2, y2, x3, y3)

Ответ 6

нет команды для рисования треугольника. Для рисования треугольника мы должны использовать здесь понятие линий.

i.e, g.drawLines(координаты точек)