java - programacion - Método de dibujo triangular
manual de programacion android pdf (6)
Tengo problemas dibujando un triángulo con el método draw(Graphics g)
en Java. Puedo dibujar un rectángulo así:
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);
Donde p representa "la esquina superior izquierda de las formas". ¿Cómo dibujaría el triángulo de la misma manera?
¿Podría alguien darme un ejemplo para un triángulo estándar?
El triángulo de dibujo no se proporciona con la biblioteca estándar de Java. Vi código de ejemplo aquí:
http://www.dreamincode.net/forums/topic/52352-draw-line-triangle/
No hay un método drawTriangle ni en Graphics ni Graphics2D. Tienes que hacerlo por ti mismo. Puede dibujar tres líneas usando el método drawLine
o usar uno de estos métodos:
- drawPolygon (int [] xPoints, int [] yPoints, int nPoints)
- drawPolygon ( Polígono p)
- drawPolyline (int [] xPoints, int [] yPoints, int nPoints)
Estos métodos funcionan con polígonos. Puede cambiar el draw
del prefijo para fill
cuando desee llenar el polígono definido por el conjunto de puntos. Inserté los enlaces de documentación. Eche un vistazo para aprender cómo usarlos.
También está la clase GeneralPath . Se puede usar con Graphics2D, que es capaz de dibujar formas . Echar un vistazo:
Puede usar la biblioteca de procesamiento: https://processing.org/reference/PGraphics.html
Hay un método llamado triángulo ():
g.triangle (x1, y1, x2, y2, x3, y3)
Deberías intentar usar la API de Shape
s.
Eche un vistazo al repainting de JPanel de otra clase que trata sobre dibujar triángulos, mire el método getPath
para algunas ideas
También debe leer GeneralPath y dibujar formas arbitrarias .
Este método es mucho más fácil de aplicar AffineTransformation s a
no hay ningún comando directamente para dibujar Triangle. Para Dibujo de triángulo tenemos que usar el concepto de líneas aquí.
es decir, g.drawLines (Coordenadas de puntos)
Use un algoritmo de línea para conectar el punto A con el punto C, y en un bucle externo, deje que el punto A se desplace hacia el punto B con el mismo algoritmo de línea y con las coordenadas errantes, repita dibujando esa línea. Probablemente también pueda incluir az delta con el cual también se incrementa iterativamente. Para el algoritmo de línea, simplemente calcule dos o tres pendientes para el cambio delta de cada coordenada y establezca una pendiente en 1 después de cambiar las otras dos proporcionalmente para que estén por debajo de 1. Esto es muy importante para dibujar áreas geométricas cerradas entre partículas de malla conectadas. Eche un vistazo al ejemplo de Qt Elastic Nodes y ahora imagine dibujar triángulos entre los nodos después de estirarlo sobre un esqueleto. Mientras permanezca en línea