Προς το περιεχόμενο

Fractals in C


npapak

Προτεινόμενες αναρτήσεις

Δημοσ.
Χα, μ'αρέσουν αυτά βγάζουν ωραία σχεδιάκια. :-D

Έπεσες σχεδόν μέσα: σχηματίζεται ακριβώς το "αρνητικό" του τριγώνου του Sierpinski!

Το αρνητικο? Χμμμ, δεν νομιζω, αλλα anyway, δεν το σκεφτηκα και πολυ για να το πω με βεβαιοτητα.

Επισης αυτο που εννοω ειναι ιδια σημεια αλλα οχι σε ιδιο συστημα συντεταγμενων. Αλλα επειτα απο στροφη συστηματος συντεταγμενων.

 

Επισυνάπτω υλοποιημένο το παραπάνω ως sreensaver που είχα πει, σε δύο εκδόσεις, λευκό και με τεχνητό χρωματισμό. Υπάρχει 1msec καθυστέρηση ανά τετράγωνο που χρωματίζεται για λόγους απόλαυσης. ;)

Αν εδινες και τον κωδικα....:-)

Σε εμενα ωραια φαινεται με 1 ms.

Δημοσ.
ειναι ιδια σημεια αλλα οχι σε ιδιο συστημα συντεταγμενων. Αλλα επειτα απο στροφη συστηματος συντεταγμενων.

Ναι, είναι με συστροφή 45 μοιρών. Αλλά η δομή είναι πανομοιότυπη. Αν παρατηρούσαμε αυτή τη δομή στη φύση δεν θα είχε νόημα να μιλάμε για συντεταγμένες, αφού ούτως ή άλλως οι συντεταγμένες ορίζονται αυθαίρετα (στην οθόνη, σε ένα φύλλο χαρτί...). Με λίγα λόγια, αν δεις κάπου τη δομή δεν μπορείς να ξεχωρίσεις αν "φτιάχτηκε" με τον ένα ή τον άλλο τρόπο. ;)

Δημοσ.

Πανεύκολα...

>void Paint(HWND hwnd, unsigned int left, unsigned int right, unsigned int top, unsigned int bottom)
{
if(right - left < 2 || bottom - top < 2) return;
rect.left   = left;
rect.right  = left + (right - left) / 2;
rect.top    = top + (bottom - top) / 2;
rect.bottom = bottom;
FillRect(hDC, &rect, hbr);
Paint(hwnd, left + (right - left) / 2, right, top, top + (bottom - top) / 2); // top right
Paint(hwnd, left, left + (right - left) / 2, top, top + (bottom - top) / 2); // top left
Paint(hwnd, left + (right - left) / 2, right, top + (bottom - top) / 2, bottom); // bottom right
}

Δημοσ.

Αν καταλάβεις τη λογική του παραπάνω, δεν έχεις παρά να κάνεις την αντιστοιχία για την υλοποίηση που το θες. Όπως βλέπεις, απλούστερος κώδικας δε γίνεται... ;)

 

Υ.Γ. Είναι το γνωστό RECT από το windef.h

(περιέχει απλά τις συντεταγμένες της επιφάνειας)

 

typedef struct tagRECT {

LONG left;

LONG top;

LONG right;

LONG bottom;

} RECT,*PRECT,*LPRECT;

Δημοσ.
thanx φιλε να σαι καλα...

 

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

οφείλω να σε ενημερώσω απλά..

Δημοσ.

:lol:

 

Υ.Γ. gruploader, στείλε μου και τη δική σου λύση σε ΠΜ για συλλεκτικούς λόγους. (σημ. δεν έχω καμία σχέση με σχολές κτλ).

 

Υ.Γ.2 Κατά σύμπτωση μέσα σε τούτο το μικρό χώρο, ο Parsifal κι εγώ σκεφτήκαμε παρά λίγο ακριβώς το ίδιο. Βγάλε συμπέρασμα λοιπόν...

Δημοσ.
Εγω δεν ζητησα κωδικα...

απλα εφαρμοσα οτι μου ειπαν :D

 

εγω δεν σου ειπα τη ζητησες....σου ειπα για το καλο σου τι να κανεις...γιατι αν δεν ξερεις, οι ασκησεις περνιουντε μεσω μος και τσεκαροντε....οποτε αν σε βρουν (που θα σε βρουν) μαζι με τους υπολοιπους....πολυ απλα θα μηδενιστειτε....

Δημοσ.

Οτι δεν ζητησα κωδικα σημαινει οτι δεν πηρα αυτο που εδωσαν..απλα εφαρμοσα οτι μου ειπαν στον δικο μου κωδικα...

Αρχειοθετημένο

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

  • Δημιουργία νέου...