Метод рисования треугольника
У меня возникли проблемы с рисованием треугольника с помощью метода 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 представляет "верхний левый угол фигур". Как бы я нарисовал треугольник таким же образом?
Может ли кто-нибудь дать мне пример стандартного треугольника?
Ответы
Ответ 1
В Graphics и Graphics2D нет метода drawTriangle. Вам нужно сделать это самостоятельно. Вы можете нарисовать три строки с помощью метода drawLine
или использовать один из этих методов:
Эти методы работают с полигонами. Вы можете изменить префикс draw
на fill
, если хотите заполнить многоугольник, определенный набором точек. Я вставил ссылки на документацию. Посмотрите, как их использовать.
Существует класс GeneralPath. Его можно использовать с Graphics2D, который способен рисовать Shapes. Посмотрите:
Ответ 2
Вам следует попробовать использовать API Shape
.
Взгляните на JPanel repaint из другого класса, который посвящен рисованию треугольников, посмотрите на метод getPath
для некоторых идей
Вы также должны прочитать GeneralPath и Рисование Произвольные фигуры.
Этот метод очень легко применить AffineTransformation для
Ответ 3
Треугольник рисования не предоставляется стандартной библиотекой Java.
Я видел пример кода здесь:
http://www.dreamincode.net/forums/topic/52352-draw-line-triangle/
Ответ 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(координаты точек)