Tengo dos puntos de círculo y el centro de este círculo. Quiero dibujar un arco entre estos puntos. El método drawArc
es simple y no se ajusta a mi propósito. ¿Alguien ayuda?Dibujar arco con 2 puntos y el centro del círculo
Respuesta
Graphics.drawArc
espera los siguientes parámetros:
- x
- Y
- anchura
- altura
- startAngle
- arcAngle
Dado el inicio y el final de su arco, es posible calcular un cuadro delimitador donde se dibujará el arco. Esto le proporciona suficiente información para proporcionar los parámetros: x, y, ancho y alto.
No ha especificado el ángulo deseado, así que supongo que puede elegir uno arbitrariamente.
Puede utilizar Canvas.drawArc, pero hay que calcular los argumentos que necesita:
permite decir que el centro del círculo es (x0, y0) y que contiene el arco de su dos puntos (x1, y1) y (x2, y2). Entonces el radio es: r = sqrt ((x1-x0) (x1-x0) + (y1-y0) (y1-y0)). Entonces:
int r = (int)Math.sqrt((x1-x0)*(x1-x0) + (y1-y0)*(y1-y0));
int x = x0-r;
int y = y0-r;
int width = 2*r;
int height = 2*r;
int startAngle = (int) (180/Math.PI*atan2(y1-y0, x1-x0));
int endAngle = (int) (180/Math.PI*atan2(y2-y0, x2-x0));
canvas.drawArc(x, y, width, height, startAngle, endAngle);
¡Buena suerte!
FYI: Este código funcionaría un poco mejor si usas variables 'float' en lugar de' int'. PI = 3.14, Square Roots, etc. Podrías estar creando muchos ceros si te quedas con los tipos 'int'. – jp2code
en teoría sí. sin embargo, drawArc() tiene parámetros int. – botismarius
Esto funciona perfectamente en C# para mí ... ¡Gracias! – Abhishek
- 1. ¿Cómo dibujar solo esta parte del arco?
- 2. determinar el centro del círculo basado en dos puntos (radio conocido) con resolver/optim
- 3. Calcula el centro y el radio del círculo a partir de 3 puntos
- 4. Calcular centro de SVG arco
- 5. dibujar arco con relieve utilizando gráficos centrales
- 6. SVG - círculo de escala desde el centro
- 7. Dibujar círculo en Android
- 8. C++ algoritmo de línea de Bresenham dibujar arco y rotar
- 9. iOS CoreGraphics: Dibujar arco, determinar ángulos de arco del teorema de acordes de intersección
- 10. Cómo dibujar un arco elíptico con CoreGraphics?
- 11. ¿Cuál es el algoritmo para encontrar el centro de un círculo a partir de tres puntos?
- 12. Dibuje un círculo con un radio y puntos alrededor del borde
- 13. Dibujar texto en el centro
- 14. WPF: ¿Cómo dibujar un círculo y arrastrarlo?
- 15. Encuentra ángulo de un punto desde el centro del círculo
- 16. dibujar un círculo lleno
- 17. Calcular ruta de arco n-dimensional
- 18. Cuenta el número de puntos dentro de un círculo rápido
- 19. Dibujar círculo simple en XNA
- 20. ¿Cómo dibujar un círculo transparente?
- 21. cómo animar arco/carrera segmento donut y cambio de longitud
- 22. trazar un círculo con pyplot
- 23. Geoserver - ¿Cómo puedo dibujar una línea geodésica que representa el círculo máximo entre dos puntos
- 24. ¿Cómo centro este número dentro del círculo? - CSS
- 25. Cómo obtener el centro del conjunto de puntos usando Python
- 26. cómo detectar centro de un círculo borroso con OpenCV
- 27. Cómo dibujar un círculo comenzando en la parte superior
- 28. Cómo dibujar un círculo con un color específico en XNA?
- 29. Defina una animación de círculo/arco en SVG
- 30. Cómo dibujar un círculo lleno en Java?
¿Es esta tarea? Si es así, márquelo como tal. – javamonkey79
Sé que existen funciones simples para dibujar Arc, pero no puedo precisar – CarolusPl