Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι

ΘΕΜΑ: Ζωγράφηση Κύκλου.

Ζωγράφηση Κύκλου. 7 Χρόνια 10 Μήνες πριν #3652

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 445
  • Ληφθείσες Ευχαριστίες 75
Θέλω να κάνω ένα παιχνίδι όπου ο χαρακτήρας θα έχει έναν κύκλο γύρο από τον εαυτό του.
Δηλαδή θέλω να γνωρίζω όλλα τα σημεία γύρο από τον χαρακτήρα μου σε ακτίνα R.

Η εξίσωση του κύκλου είναι R**2 = (x-x1)**2 + (y-y1)**2 . το κέντρο του κύκλου είναι το ζεύγος
(x1, y1) όπου επίσης είναι το κέντρο του χαρακτήρα μου.
Αυτήν η εξίσωση όμως βοηθάει μόνο όταν θέλω να δω εάν ένα σημείο (x, y) ανήκει στον κύκλο μου.
Πως μπορώ να υπόλογίσω όλλα τα σημεία του κύκλου;

Εαν με κάποιον τρόπο μπορέσω να βρω αυτά τα σημεία, τότε απλος θα τα ενώσω για να δημιουργήσω τον
κύκλο.

Γενικά αυτό που προσπαθώ να κάνω είναι πως να πω στον υπολογιστή να μου ζωγραφίσει ένα κύκλο
με γνωστό κέντρο και ακτίνα.

Αυτό προσπαθώ να το πετύχω με pygame. Υπάρχει μια συνάρτηση η drawlines η οποία παίρνει μία
λίστα με σημεία και τα ενώνει. Η ιδέα μου είναι η εξής:

εάν της δώσω μία λίστα με όλλα τα σημεία ενός κύκλου
τότε θα με ζωγραφίσει έναν κύκλο.

Το ξέρω ότι στο pygame υπάρχει και μια συνάρτηση drawCirlce απλώς εγώ θέλω να το κάνω
μόνος μου.

Το πρόβλημα είναι κυρίως μαθηματικό και όχι προγραμματιστικό αλλά σας ρωτάω μήπως ξέρετε τίποτα.

Ευχαριστώ.
Τελευταία διόρθωση: 7 Χρόνια 10 Μήνες πριν από babaliaris1.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Ζωγράφηση Κύκλου. 7 Χρόνια 10 Μήνες πριν #3654

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
0. Τι θα πει «ζωγράφιση»;

1. Χρησιμοποίησε την drawCircle. Οτιδήποτε άλλο είναι λάθος στη συγκεκριμένη περίπτωση.

2. Μία τελείως naive προσέγγιση είναι η εξής:

a) Έχεις ένα σημείο με συντεταγμένες (x, y) και θέλεις τα σημεία με ακτίνα R
b) Προφανώς δεν μπορείς να έχεις όλα τα σημεία (είναι άπειρα) για αυτό και θα πρέπει να αρκεστείς σε ένα πολύγωνο
c) Χωρίζεις το διάστημα [x-R, x+R] σε N διαστήματα. Τα σημεία αυτά είναι οι τετμημένες των σημείων του κύκλου. Σε κάθε τετμημένη αντιστοιχούν 2 τεταγμένες. Αντικαθιστώντας και λύνοντας την εξίσωση που έχεις θα βγάλεις δύο ρίζες που είναι οι τεταγμένες των σημείων που ψάχνεις.

3. Χρησιμοποιώντας πολικές συντεταγμένες θα είναι αρκετά πιο εύκολο να γίνει καθώς και πιο computationally efficient.

4. Χρησιμοποίησε την drawCircle.
Τελευταία διόρθωση: 7 Χρόνια 10 Μήνες πριν από pmav99.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Ζωγράφηση Κύκλου. 7 Χρόνια 10 Μήνες πριν #3655

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 445
  • Ληφθείσες Ευχαριστίες 75
pmav99 έγραψε:
0. Τι θα πει «ζωγράφιση»;

1. Χρησιμοποίησε την drawCircle. Οτιδήποτε άλλο είναι λάθος στη συγκεκριμένη περίπτωση.

2. Μία τελείως naive προσέγγιση είναι η εξής:

a) Έχεις ένα σημείο με συντεταγμένες (x, y) και θέλεις τα σημεία με ακτίνα R
b) Προφανώς δεν μπορείς να έχεις όλα τα σημεία (είναι άπειρα) για αυτό και θα πρέπει να αρκεστείς σε ένα πολύγωνο
c) Χωρίζεις το διάστημα [x-R, x+R] σε N διαστήματα. Τα σημεία αυτά είναι οι τετμημένες των σημείων του κύκλου. Σε κάθε τετμημένη αντιστοιχούν 2 τεταγμένες. Αντικαθιστώντας και λύνοντας την εξίσωση που έχεις θα βγάλεις δύο ρίζες που είναι οι τεταγμένες των σημείων που ψάχνεις.

3. Χρησιμοποιώντας πολικές συντεταγμένες θα είναι αρκετά πιο εύκολο να γίνει καθώς και πιο computationally efficient.

4. Χρησιμοποίησε την drawCircle.

Ναι έχεις δίκαιο τα σημεία είναι άπειρα.
Ας ξεχάσουμε τη είπα. Αυτό που θέλω να μάθω είναι πως
λειτουργεί η drawCircle. Δηλαδή τη κάνει έτσι ώστε να
ζωγραφήση έναν κύκλο γνωρίζαντας μόνο το κέντρο και την
ακτίνα του; Πως ξέρει ποια pixels πρέπει να χρωματίσει
έτσι ώστε να εμφανιστεί στην οθόνη μου ένας κύκλος;

Ο λόγος που θέλω να το μάθω αυτό είναι απλά για γνώση.
Δεν θέλω την ακριβής λειτουργία της συγκεκριμένεις
μεθόδου (drawCircle) αλλά γενικά πως δουλεύει κάτι τέτοιο.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Ζωγράφηση Κύκλου. 7 Χρόνια 10 Μήνες πριν #3656

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": babaliaris1
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.412 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου