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

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

Δημοσ. (επεξεργασμένο)

Καλησπέρα,

Θέλω να γράψω/βρω έναν μεταχηματισμό στο Matlab, που θα κάνει ένα πίνακα πχ [300Χ200], vector [1Χ60.000], απλώς με reshape γίνεται αυτό, αλλά έτσι το κάνει με snake pattern.  Γίνεται να γίνει vector [1X60.000] αλλά να ακολυθεί την καμπύλη Hilbert αντί για το snake pattern; (προφανώς θα ορίζω τάξης 5, 6, 7 κτλ κτλ).

400px-Hilbert_curve.svg.png

Αυτό είναι το pattern, μην ψάχνεστε.

Ιδανικά, το πρόγραμμα θα παίρνει την εικόνα [300Χ200] (τυχαία νούμερα), θα βγάζει το Hilbert vector [1X60.000], αυτό θα το κάνω reshape με απλό snake pattern ξανά σε [320Χ200]. Η εικόνα που θα βγει θα είναι "σκουπίδια" στο μάτι αλλά εμένα θα μου ειναι χρήσιμη.

Έχω γράψει/βρει συνάρτηση που βγάζει τις συντεταγμένες που σχηματίζουν μια γραμμή Hilbert για διάφορες τάξεις, και η λύση που σκέφτηκα αρχικά (unoptimized του κερατά) είναι να κάνω "overlay" τον πίνακα που βγάζω με την εικόνα, να φτιάχνω το vector βάση ελάχιστης απόστασης καθώς τρέχω το μήκος της γραμμής Hilbert, για να κάνω mapping τον πίνακα σε Vector που θα "τυλιγόταν" με τον ίδιο τρόπο για να σχηματίσει την εικόνα.

Σας ερωτώ, υπάρχει κάποια συνάρτηση που μου διαφεύγει; Μου φαίνεται χαζό να μην υπάρχει κάτι έτοιμο για κάτι τέτοιο, καθώς μου μοιάζει αρκετά legit/συχνή "απαίτηση" (το απο εικόνα σε Hilbert vector).

Να επισημάνω δεν ειναι εργασία/task μπλα μπλα.

Επεξ/σία από Sheogorath
Δημοσ.
15 λεπτά πριν, pmav99 είπε

Λογικά ναι, θα τα τσεκάρω και ενημερώνω.

Τι διάλα, δεν το έχουν έτοιμο όμως, χαζό φαίνεται.

Είναι αντίστοιχη με αυτή που έιχα γράψει, αν και εμφανίζει τα νούμερα με την σειρά και όχι μόνο το line με συντεταγμένες.

Θα δω αν μπορώ να βγάλω άκρη απο εκεί, αλλά και πάλι δεν είναι ακριβώς ότι είπα. Θα το δουλέψω.

To κατάφερα, είναι πολύ messy γιατί ο φίλος πρακτικά έγραψε C, αλλά το συμαζεύω.

Έβαζε σε d και το τύπωνε σε iterations, εγώ απλώς το αποθήκευσα σε κάθε επανάληψη αντί να το τυπώνω, και το πήρα. Πχ για έναν πίνακα 8Χ8, το δυάνυσμα είναι:

21    22    25    26    37    38    41    42    20    23    24    27    36    39    40    43    19    18    29    28    35   34    45    44    16    17    30    31    32    33    46    47    15    12    11    10    51    52    53    48    14    13   8  9    50    55    54    49     1     2     7     6    61    56    57    62     0     3     4     5    60    59    58   63

Δημοσ.

Άσχετο, πιστεύεις θα ήταν χρήσιμο να ανεβάσω εδώ το conversion που έκανα, για να υπάρχει το αρχείο χάριν ευκολίας αν το αναζητήσει κάποιος στο μέλλον, ή δεν γμται;

Δημοσ.

Νομίζω στο έχω ξαναπει, το version control δεν είναι προαιρετικό ;)

Αντιλαμβάνομαι βέβαια ότι σε single dev projects, αρχικά τουλάχιστον, είναι δύσκολο να πείσεις τον εαυτό σου να χρησιμοποιεί git, αλλά η  εξάσκηση μετράει. Νομίζω ότι μεγάλο μέρος του reluctance που νοιώθει κάποιος στις αρχές σχετίζεται με το ότι δεν είναι fluent στο git και τα workflows του, αλλά για αυτό πρέπει να το χρησιμοποιεί, για να το μάθει.

Anyway, άμα βαριέσαι, πέτα το σε ένα gist για να το βρίσκεις και εσύ στο μέλλον και αν έχεις διάθεση για προσφορά κάντο public :P

  • Like 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...