Je fais un jeu où tout mouvement est basé sur la grille. Je ne veux pas non plus faire des entités qui peuvent circuler en cercle. Donc, quelqu'un a-t-il des suggestions pour créer un cercle sur une grille de carrés (comme la façon dont MS Paint utilise l'outil cercle pour faire un cercle de pixels carrés).Comment faire un cercle sur une grille?
8
A
Répondre
13
Découvrez Midpoint circle algorithm.
3
Voici ma mise en œuvre Java de l'algoritm Midpoint Circle de Bressenham;
private void drawCircle(final int centerX, final int centerY, final int radius) {
int d = 3 - (2 * radius);
int x = 0;
int y = radius;
Color circleColor = Color.white;
do {
image.setPixel(centerX + x, centerY + y, circleColor);
image.setPixel(centerX + x, centerY - y, circleColor);
image.setPixel(centerX - x, centerY + y, circleColor);
image.setPixel(centerX - x, centerY - y, circleColor);
image.setPixel(centerX + y, centerY + x, circleColor);
image.setPixel(centerX + y, centerY - x, circleColor);
image.setPixel(centerX - y, centerY + x, circleColor);
image.setPixel(centerX - y, centerY - x, circleColor);
if (d < 0) {
d = d + (4 * x) + 6;
} else {
d = d + 4 * (x - y) + 10;
y--;
}
x++;
} while (x <= y);
}
L'implémentation de classe complète et de nombreux autres exemples de langage peuvent être trouvés sur le site de Rosetta; http://rosettacode.org/wiki/Bitmap/Midpoint_circle_algorithm
Questions connexes
- 1. Intersection sur un cercle de vecteur provenant du cercle
- 2. Squeak - Comment déplacer un cercle?
- 3. Comment à tracer un cercle sur un fond changeant
- 4. Comment calculer un point sur la circonférence d'un cercle?
- 5. Comment remplir une grille WPF basée sur un tableau bidimensionnel
- 6. Besoin de faire défiler une grille WPF
- 7. Comment faire une colonne de mémo sur une grille DX afficher des mots partiels?
- 8. Cercle Problème
- 9. Quartz2D: Comment dessiner un arc de cercle?
- 10. Quelle est la meilleure façon de faire pivoter un CGPoint sur une grille?
- 11. Ajouter un effet lumineux au cercle
- 12. Comment dessiner un cercle affichant un nombre en flex
- 13. cocos2d aide à trouver des points sur un cercle
- 14. Comment utiliser la fonction getControlPointAtIndex pour faire pivoter un UILabel en demi-cercle dans l'iPhone
- 15. Comment faire une itération sur une TreeMap?
- 16. Comment dessiner un cercle d'apparence décente en Java
- 17. Comment tracer des triangles sur une grille 6x6 dans MATLAB?
- 18. Comment calculer une grille basée sur 4 arêtes courbes?
- 19. PHP/GD, comment copier un cercle d'une image à l'autre?
- 20. [iPhone] dessiner le cercle autour d'un emplacement sur google map
- 21. Comment manuellement déplacer un objet complexe vers un contrôle basé sur un modèle comme une ligne dans une grille?
- 22. Comment faire un JavaFX LinearGradient lisse sur une grande surface?
- 23. cercle emballage - java
- 24. Comment faire antialiasing sur une vue pivotée?
- 25. Afficher/Masquer une ligne de grille basée sur une propriété?
- 26. Comment faire une boucle sur plusieurs baies?
- 27. Comment faire pivoter une image sur l'iPhone?
- 28. Preloader Cercle dans l'objectif C
- 29. Comment faire une requête importante sur une page ASP.NET pour une base de données Oracle
- 30. Calculer la zone d'intersection entre un cercle et un triangle?