Ich muss ein Kreisdiagramm in libgdx für eine Finanzanwendung erstellen. Können Sie mir bitte ein Beispiel oder Code-Snippet zeigen, um eine Idee zu haben?Einen Kreis und einen Bogen in libgdx zeichnen
Antwort
Sie shaperenderer verwenden können: lesen diese classMethods shaperendere hat:
Bogen (float x, float y, float Radius, Start float, float Grad)
Kreis (float x, float y, float Radius)
Kurve (float x1, y1 float, float CX1, float CY1, float CX2, float Cy2, Schwimmers x2, y2 float, int Segmente)
- ....
ODER
public class Arc extends ShapeRenderer{
private final ImmediateModeRenderer renderer;
private final Color color = new Color(1, 1, 1, 1);
public Arc(){
renderer = super.getRenderer();
}
public void arc (float x, float y, float radius, float start, float degrees) {
int segments = (int)(6 * (float)Math.cbrt(radius) * (degrees/360.0f));
if (segments <= 0) throw new IllegalArgumentException("segments must be > 0.");
float colorBits = color.toFloatBits();
float theta = (2 * MathUtils.PI * (degrees/360.0f))/segments;
float cos = MathUtils.cos(theta);
float sin = MathUtils.sin(theta);
float cx = radius * MathUtils.cos(start * MathUtils.degreesToRadians);
float cy = radius * MathUtils.sin(start * MathUtils.degreesToRadians);
for (int i = 0; i < segments; i++) {
renderer.color(colorBits);
renderer.vertex(x + cx, y + cy, 0);
float temp = cx;
cx = cos * cx - sin * cy;
cy = sin * temp + cos * cy;
renderer.color(colorBits);
renderer.vertex(x + cx, y + cy, 0);
}
}
//// or
public void arc (float x, float y, float radius, float start, float degrees, int segments) {
if (segments <= 0) throw new IllegalArgumentException("segments must be > 0.");
float colorBits = color.toFloatBits();
float theta = (2 * MathUtils.PI * (degrees/360.0f))/segments;
float cos = MathUtils.cos(theta);
float sin = MathUtils.sin(theta);
float cx = radius * MathUtils.cos(start * MathUtils.degreesToRadians);
float cy = radius * MathUtils.sin(start * MathUtils.degreesToRadians);
if (shapeType == ShapeType.Line) {
check(ShapeType.Line, ShapeType.Filled, segments * 2 + 2);
renderer.color(colorBits);
renderer.vertex(x, y, 0); <--- CENTER
renderer.color(colorBits);
renderer.vertex(x + cx, y + cy, 0); <--- LINE TO START POINT
for (int i = 0; i < segments; i++) {
renderer.color(colorBits);
renderer.vertex(x + cx, y + cy, 0);
float temp = cx;
cx = cos * cx - sin * cy;
cy = sin * temp + cos * cy;
renderer.color(colorBits);
renderer.vertex(x + cx, y + cy, 0);
}
renderer.color(colorBits);
renderer.vertex(x + cx, y + cy, 0); <-- LINE TO END POINT
...
}
Wenn ich Ihren Code ausprobiert habe, funktioniert es gut, aber beim Zeichnen des fortlaufenden Bogens für Kreisdiagramm gibt es eine Lücke, wenn ich Segmente verwende. Warum ? – iappmaker
@iappmaker hat nicht verstanden, was du meinst. Bitte erläutern Sie mehr –
Wenn ein Bogen gezeichnet wird, ist der gekrümmte Pfad nicht glatt .. es ist verwürfelt .. jeder Weg zu glätten – iappmaker
- 1. wx Python zeichnen Bogen und Kreis
- 2. Bounce einen Kreis aus einem anderen Kreis mit LibGDX
- 3. Ist es möglich, mit System.Windows.Shapes.Path einen Kreis (geschlossenen Bogen) zu zeichnen?
- 4. Zeichnen Sie einen Kreis mit glatten Kanten
- 5. Galaxy Nexus, einen zentrierten Kreis zeichnen
- 6. Zeichnen Sie einen glatten expandierenden Kreis.
- 7. Google Static Map - Zeichnen Sie einen Kreis
- 8. Zeichnen Sie einen einfachen Kreis uiimage
- 9. Zeichnen Sie einen Kreis innerhalb Svg Countdown
- 10. Dynamisch Bogen zeichnen
- 11. Wie kann ich einen gefüllten Bogen zeichnen, d. H. Regenbogen?
- 12. Zeichnen Kreise in Kreis - d3 Diagramm
- 13. einen Kreis mit einigen farbigen Punkten in Python zeichnen
- 14. Zeichnen Sie einen sl Kreis Palette des HSL in OpenGL
- 15. Zeichnen Sie einen Kreis in einer Leinwand mit mehreren Verlaufsfarben
- 16. Zeichnen Sie einen Kreis in AutoCAD von C
- 17. Libgdx-Kreis mit Linienbreite
- 18. Ticks um einen Kreis
- 19. Text in d3 Bogen zeichnen Javascript
- 20. Punkte auf einem Bogen zeichnen
- 21. Assembly - Zeichne einen Kreis
- 22. Wie zu zeichnen Kreise libgdx
- 23. einen Kreis In den ggmap
- 24. Zeichnen Sie Text in einem Bogen mit Canvas
- 25. Wie erstelle ich einen Bogen mit Slick2D?
- 26. einen Kreis Repaint
- 27. Zeichnen Sie einen Kreis basierend auf zwei Punkten
- 28. How-to einen Kreis auf einem sich verändernden Hintergrund zeichnen
- 29. Unvollkommenen Kreis zeichnen
- 30. Zeichnen Sie einen Kreis auf eine Ansicht (Android)
Mögliche Duplikat [Libgdx Zeichnung arc curve] (https://stackoverflow.com/questions/30699321/libgdx-drawing-arc-curve) – Aryan