Fran Rojas προσωπική ιστοσελίδα


ΑΙΤΗΣΕΙΣ

Αυτή η σελίδα χρειάζεται JAVASCRIPT για να λειτουργήσει

Multiprecision calculator


v1.0.2



v1.1



v1.2


Φακός


v1.1


v1.2


v1.3


Κωδικοποιητής (Java File Encoder)


v1.0


v1.1


v1.2


v1.3



v1.4



v1.5


Συγχρονισμός υποτίτλων


v1.0


v1.1


Συγχρονισμός ήχου


v0.5


Φιλτράρισμα φύλλων Google


v0.5


Chess PDF Browser

( ChessPdfBrowser ιστοσελίδα )

v1.0



v1.1



v1.11



v1.20



v1.26


pdf2pgn (στα Αγγλικά)


v1.20


v1.26


Κρυπτογράφηση κειμένου (TextCrypt)


v1.0


v1.0.2


v1.3


v1.4



v1.5



v1.6


Instrumental Music


v1.0



v1.1



v1.2


Βιβλιοθήκες πλατφόρμας


v1.0



v1.1



v1.2



v1.3



v1.4


Εικονίδια


v1.0


PDF Inspector


v1.0


Donut


v1.0


Αναπαραγωγή μουσικής


v1.0


Επεξεργαστής μορφοποίησης


v1.0



v1.1


Fractal Image Compression


v1.0


Αντιγραφή εικόνων με βάση το χρώμα


v1.0



Χρωματική μπάλα


v1.0



Ρίζες πολυωνύμων


v1.0



Εργασία με κωδικούς QR


v1.0



Συζητώντας με τον A.I.


v1.0



Βιβλιοθήκη Java για την εξαγωγή πινάκων από PDF


v1.0





Αυτή είναι μία από τις πρώτες μεγάλες εφαρμογές μου που προγραμματίστηκαν στην Java.

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

Η τελική εφαρμογή εμφανίζει ένα πλαίσιο κειμένου όπου μπορείτε να εισάγετε τις λειτουργίες που θέλετε να υπολογίσετε.Μπορείτε επίσης να αποθηκεύσετε συναρτήσεις και μεταβλητές.

Το περιβάλλον εργασίας χρήστη είναι υποτυπώδες και έχει κάποια σφάλματα που το κάνουν λίγο κουραστικό να χρησιμοποιήσετε την εφαρμογή.Σκοπεύω να σχεδιάσω μια νέα εκδοχή ελπίζοντας ότι θα βελτιώσει αυτή την έλλειψη.

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

Πρόκειται για μια νέα έκδοση της αριθμομηχανής πολλαπλής ακρίβειας.

Στόχοι:

Το κύριο κίνητρο αυτής της νέας έκδοσης είναι η εφαρμογή μιας αλγεβρικής παραγωγής.

Η ιδέα για αυτή την ικανότητα προήλθε από το γυμνάσιο, όταν ένας από τους δασκάλους πρότεινε στην τάξη να συμμετάσχει στον ετήσιο διαγωνισμό λογισμικού παρουσιάζοντας μια εφαρμογή που θα μπορούσε να αντλήσει.

Εκείνη την εποχή, δεν κάναμε μεγάλη πρόοδο στο έργο, αλλά σχεδόν 30 χρόνια αργότερα, μια εφαρμογή που μπορεί να αντλήσει έφτασε τελικά :-).


Αολοκληρωμένο εγχειρίδιο υπάρχει Αυτό εξηγεί πώς λειτουργεί η εφαρμογή.

Νέα έκδοση της αριθμομηχανής πολλαπλής ακρίβειας.

Στόχοι:


Αολοκληρωμένο εγχειρίδιο υπάρχει Αυτό εξηγεί πώς λειτουργεί η εφαρμογή.

Το μικρό εφέ φακού εφαρμογής ήταν το υποπροϊόν μιας ανοιξιάτικης διακοπής χωρίς σχέδια.

Εκείνη την εποχή, τελείωνα τον προγραμματισμό της πρώτης έκδοσης του κωδικοποιητή (File Encoder Application), και χρειαζόμουν κάτι πιασάρικο για το About...

Η αρχική ιδέα δεν είναι δική μου, αλλά την υλοποίησα με βάση ένα εφέ που είχα δει σε ένα από εκείνα τα εικονικά demos του DOS.

Αποφάσισα να ενθυλακώσω την επίδραση μέσα σε ένα Java Swing JPanel για το έργο μου.

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

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

Όταν δημιουργείτε το LensJPanel, το περιεχόμενο του JPanel εφαρμόζεται στο στοιχείο που θα υποστεί το μεγεθυντικό αποτέλεσμα. Μπορείτε να καθορίσετε την ακτίνα του μεγεθυντικού φακού και αν θα μεγεθύνει ή θα μειώσει το περιεχόμενο.

Όταν έχετε την ακτίνα και καθορίζετε αν ο μεγεθυντικός φακός θα μεγεθύνει ή θα συρρικνώσει το περιεχόμενο, δημιουργείται μια δισδιάστατη τετράγωνη μήτρα με ένα στοιχείο για κάθε τετραγωνικό εικονοστοιχείο που περιέχει τον μεγεθυντικό φακό.
Ο αλγόριθμος υπολογίζει τις συντεταγμένες του αντίστοιχου πηγαίου εικονοστοιχείου στην αρχική εικόνα για κάθε εικονοστοιχείο προορισμού για να καθορίσει το χρώμα κατά την εφαρμογή του μετασχηματισμού.
Ο μετασχηματισμός περιλαμβάνει έναν απλό πολικό μετασχηματισμό συντεταγμένων, γι' αυτό και χρησιμοποιείται ένας μεγεθυντικός φακός:
Ένα εικονοστοιχείο υπολογίζεται από μια συγκεκριμένη θέση του πλαισίου του φακού και χρησιμοποιείται για τον προσδιορισμό του χρώματος όταν εφαρμόζεται ο μετασχηματισμός.Το εικονοστοιχείο θα βρίσκεται επίσης μέσα στο πλαίσιο του φακού.Επιπλέον, υπολογίζεται η ακτίνα από το κέντρο του φακού μέχρι τη γωνία για ένα δεδομένο εικονοστοιχείο.Το εικονοστοιχείο "προέλευσης" για το εικονοστοιχείο που υπολογίζουμε θα είναι στην ίδια γωνία, αλλά η ακτίνα θα αλλάξει.Η ακτίνα εκτείνεται από 0% έως 100% τόσο για τα εικονοστοιχεία «στόχος» όσο και «πηγή», με το 100% να αντιπροσωπεύει το μήκος της ακτίνας του φακού.Το πηγαίο εικονοστοιχείο υπολογίζεται για κάθε εικονοστοιχείο-στόχο διατηρώντας τη γωνία του και μετατρέποντας την ακτίνα χρησιμοποιώντας μια συνάρτηση με μονοτονικά αυξανόμενο παράγωγο. Αυτός ο μετασχηματισμός συμβαίνει στο διάστημα μεταξύ 0 και 1, όπου το f(0) ισούται με 0 και το f(1) ισούται με 1. Εδώ, το 0 αντιπροσωπεύει το 0% της ακτίνας του φακού, και το 1 αντιπροσωπεύει το 100% της ακτίνας του φακού.Αυτό σημαίνει ότι οι ακτίνες θα πάρουν το πηγαίο εικονοστοιχείο τους από μικρότερη ακτίνα, η οποία θα επεκτείνει τον κύκλο του φακού.Έξω από τον κύκλο του φακού, η μεταμόρφωση θα είναι η ταυτότητα, που σημαίνει ότι το πηγαίο εικονοστοιχείο δεν θα αλλάξει.


Η εξήγηση είναι λίγο συγκεχυμένη, αλλά αν σας ενδιαφέρει να μάθετε περισσότερα για το θέμα, μη διστάσετε να επικοινωνήσετε μαζί μου.

Ελπίζω κάποιος να το βρει χρήσιμο :-).

Η νέα έκδοση της εφαρμογής διαθέτει ένα κυκλικό γραφικό παράθυρο με κινητό φακό που μπορεί να ελεγχθεί κάνοντας κλικ και σύροντας με το ποντίκι σας.
Μπορείτε να βγείτε από την εφαρμογή πατώντας ESC.

Μερικά προβλήματα είναι εμφανή:

Η νέα έκδοση της εφαρμογής αντιμετωπίζει ένα σφάλμα διαφάνειας που συνέβη σε λειτουργικά συστήματα Mac και Linux.

Η τελευταία έκδοση ασχολείται επίσης με το θέμα εικονοστοιχείων που βρέθηκε σε προηγούμενες εκδόσεις.

Αυτό επιτυγχάνεται με την εφαρμογή ενός φίλτρου λείανσης Gaussian στην εικόνα του φακού, δημιουργώντας ένα θολό αποτέλεσμα που μειώνει την εικονοστοιχία που προκαλείται από τη μεγέθυνση.

Η τελευταία διαθέσιμη υποέκδοση αυτής της έκδοσης λειτουργεί τόσο με το Java-8 όσο και με το Java-11.

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

Η εφαρμογή επιτρέπει την εύκολη κρυπτογράφηση αρχείων, χρησιμοποιώντας μεθόδους κρυπτογράφησης/αποκρυπτογράφησης εξοικονόμησης χρόνου που καθιστούν τις επιθέσεις brute-force λιγότερο δύσκολες και είναι κατάλληλες για την κρυπτογράφηση μικρών αρχείων.

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

Αυτή η έκδοση της εφαρμογής δημιουργήθηκε ως απάντηση σε ζητήματα που προκλήθηκαν από τη νέα έκδοση JRE, η οποία επηρέασε την οπτική πτυχή της αρχικής εφαρμογής v1.0. Η έκδοση 1.1 αναπτύχθηκε για την αντιμετώπιση αυτών των προβλημάτων.

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

Μερικές αλλαγές έγιναν σε αυτή την έκδοση:

Μια συγκεκριμένηΕγχειρίδιο χρήσης αυτής της έκδοσης υπάρχει που εξηγεί όλες τις λεπτομέρειες.

Έχουν γίνει αρκετές αλλαγές σε αυτή την έκδοση:

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

Αυτή η έκδοση έχει αναπτυχθεί για να διορθώσει ένα σφάλμα που συνέβη όταν αλληλεπιδρούσε με ένα νέο χαρακτηριστικό Java-9 που ασχολείται με οθόνες υψηλής πυκνότητας εικονοστοιχείων.

Περιλαμβάνεται επίσης υποστήριξη Maven.

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

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

Επίσης, έχει προστεθεί και η επιλογή dark mode.

Υπάρχει ένασυγκεκριμένο εγχειρίδιο χρήσης για αυτή την έκδοση που παρέχει λεπτομερείς εξηγήσεις.

Esta es la primera versin de una pequea aplicacin en Java que licensea ayudar a sincronizar subttulos aplicando un factor timeral a los ficheros de subttulos de tipo (.srt).

Η εφαρμογή εντοπίζει αυτόματα το σύνολο χαρακτήρων του αρχείου υποτίτλων. Σας επιτρέπει να επιλέξετε ένα σύνολο χαρακτήρων για τη δημιουργία του αρχείου εξόδου, ή να χρησιμοποιήσετε τον εντοπισμένο κώδικα κατά τη διάρκεια της ανάγνωσης.

Μερικά αντικείμενα έχουν προστεθεί σε αυτή την έκδοση:

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

Αυτή η εφαρμογή διεπαφής εντολών, γραμμένη σε C++, επιτρέπει την εφαρμογή ενός παράγοντα χρόνου σε αρχεία ήχου.

Αυτή η λειτουργία σημαίνει ότι τα αρχεία ήχου εισόδου και εξόδου θα έχουν διαφορετικά μήκη και μεγέθη.

Η διαδικασία περιλαμβάνει την παρεμβολή ψηφιακών σημάτων για τη δημιουργία του μετασχηματισμού.

Υπάρχει έναλεπτομερής οδηγός να λειτουργεί την εφαρμογή και να κατανοεί τους εσωτερικούς μηχανισμούς της.

Εφαρμογή που αναπτύχθηκε σε Java που σας δίνει τη δυνατότητα να συνδεθείτε στο Google Drive και να αποκτήσετε πρόσβαση σε ένα υπολογιστικό φύλλο.

Μετά από αυτό, η εφαρμογή συμπληρώνει ένα JTable με τα δεδομένα και σας δίνει τη δυνατότητα να το φιλτράρετε.

Υπάρχει έναπεριεκτικό εγχειρίδιο στα ισπανικά, το οποίο εξηγεί πώς να ρυθμίσετε την εφαρμογή βήμα προς βήμα.

Το Chess PDF Browser είναι μια εφαρμογή που προγραμματίζεται σε Java που σας επιτρέπει να περιηγείστε στα βιβλία σκακιού σε μορφή PDF.

Επιτρέπει επίσης την εργασία με αρχεία παιχνιδιών σε μορφή.pgn.

Δείτε μια σκακιέρα όπου μπορείτε να περιηγηθείτε σε διαφορετικά παιχνίδια.

Σας επιτρέπει να ανοίξετε βιβλία σκακιού PDF και να εξαγάγετε παιχνίδια για να αποθηκεύσετε σε μορφή.pgn.

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

Υπάρχει έναπεριεκτικό εγχειρίδιο που περιγράφει λεπτομερώς τον τρόπο λειτουργίας της εφαρμογής.

Αρκετά σφάλματα έχουν διορθωθεί, και νέα χαρακτηριστικά έχουν προστεθεί στην τελευταία έκδοση της εφαρμογής:

Υπάρχει έναπεριεκτικός οδηγός Αυτό εξηγεί πώς λειτουργεί η εφαρμογή.

Οι οδηγοί χρήστη έχουν ενημερωθεί με τη νέα έκδοση της εφαρμογής.

Υπάρχει έναπεριεκτικός οδηγός Αυτό εξηγεί πώς λειτουργεί η εφαρμογή.

Με την τελευταία έκδοση της εφαρμογής, έχουν προστεθεί πολυάριθμα νέα χαρακτηριστικά:

Υπάρχει έναπεριεκτικός οδηγός Αυτό εξηγεί πώς λειτουργεί η εφαρμογή.

Η νέα έκδοση της εφαρμογής μπορεί πλέον να εξάγει κινήσεις παιχνιδιού από τα PDF χρησιμοποιώντας αλγεβρική σημειογραφία ειδώλου.

Τι νέο υπάρχει σε αυτή την έκδοση:


Υπάρχει έναπεριεκτικός οδηγός Αυτό εξηγεί πώς λειτουργεί η εφαρμογή.


Μπορείτε να δείτε ένα βίντεο της νέας λειτουργίας Επίδειξη βίντεο

ChessPdfBrowser πρόσθετο εφαρμογής

Παρουσιάζοντας μια εφαρμογή διεπαφής εντολών που σας δίνει τη δυνατότητα να εξαγάγετε παιχνίδιαπαιχνίδια από βιβλία σκακιού PDF και αποθηκεύστε τα σε μορφή.pgn.

Η εφαρμογή δέχεται διαφορετικές παραμέτρους, επιτρέποντάς σας να:


Υπάρχουν βασικά σενάρια για διαφορετικά περιβάλλοντα που εκτελούν την κλήση Java και περνούν τις παραμέτρους στην εφαρμογή:

Ενημέρωση στην online έκδοση του ChessPdfBrowser

Ένα σενάριο bash έχει προστεθεί για να απλοποιήσει την επεξεργασία όλων των PDF σε έναν κατάλογο.

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

TextCrypt είναι μια μικρή εφαρμογή Java που σας επιτρέπει να κρυπτογραφήσετε και να αποκρυπτογραφήσετε απλό κείμενο.

Το κείμενο είναι πάντα κρυπτογραφημένο και ποτέ δεν αποθηκεύεται μη κρυπτογραφημένο στο σκληρό δίσκο.

Η εφαρμογή μπορεί να δημιουργήσει ένα κρυπτογραφημένο αρχείο που είναι συμβατό με την Java File Encoder εφαρμογή αλλάζοντας απλά την επέκταση του αρχείου στην κατάλληλη μορφή.

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

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

Αυτή η έκδοση περιλαμβάνει αρκετά νέα χαρακτηριστικά:

Αυτή η έκδοση της εφαρμογής έχει ως στόχο να αποτρέψει ένα σφάλμα που προέκυψε από την αλληλεπίδραση με ένα νέο χαρακτηριστικό Java-9, το οποίο χειρίζεται αυτόματα οθόνες υψηλής πυκνότητας εικονοστοιχείων (dpi).

Επιπλέον, προστέθηκε υποστήριξη για το Maven.

Μια νέα έκδοση ερωτήματος έχει προστεθεί σε αυτήν την ενημέρωση της εφαρμογής.

Σκοτεινή επιλογή λειτουργίας έχει προστεθεί.


Αυτός ο κρυπτογραφητής κειμένου έχει επιπλέον επιθυμητά χαρακτηριστικά:

Instrumental music είναι μια μικρή εφαρμογή που προγραμματίζεται σε Java που σας επιτρέπει να ακούτε μουσική από ένα μικρόφωνο.

Επίσης, σας επιτρέπει να επεξεργάζεστε την καταγεγραμμένη είσοδο και να καθορίζετε την κυρίαρχη νότα σε πραγματικό χρόνο.

Δοκιμάστε την εφαρμογή σφυρίζοντας σημειώσεις και στη συνέχεια ρυθμίστε την για να αναπαραγάγετε τη νότα που ανιχνεύεται στο MIDI.

Αυτή η εφαρμογή κάνει για απλή ψυχαγωγία.

Η έκδοση των βιβλιοθηκών της πλατφόρμας έχει ενημερωθεί σε αυτή την έκδοση:

Μπορείτε τώρα επίσης να ορίσετε το όριο πλάτους για την ανίχνευση μιας σημείωσης.

Αυτή η έκδοση της εφαρμογής προκύπτει από τον επιπλέον ελεύθερο χρόνο που είχα λόγω της απαγόρευσης εισόδου σε μπαρ και εστιατόρια στην Καταλονία χωρίς πιστοποιητικό COVID κατά τη διάρκεια των Χριστουγέννων του 2021.

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

Επίδειξη βίντεο

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

Οργανώνονται σε δύο υποβιβάσματα:

Το libGeneric περιλαμβάνει κλάσεις που δεν εξαρτώνται από το περιβάλλον και που, θεωρητικά, μπορούν να χρησιμοποιηθούν σε εφαρμογές κάτω από οποιοδήποτε περιβάλλον, συμπεριλαμβανομένου του Android.


Το libGenericDesktop περιλαμβάνει κλάσεις που εξαρτώνται περισσότερο από μια κούνια (πρότυπο περιβάλλον επιφάνειας εργασίας Java). Περιλαμβάνει:

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

Όσον αφορά την προηγούμενη έκδοση, έχουν προστεθεί τα εξής:

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

Σε σύγκριση με την προηγούμενη έκδοση, έχουν γίνει οι ακόλουθες προσθήκες:

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

Αυτή η νέα έκδοση διαθέτει:

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

Αυτή η νέα έκδοση διαθέτει:

Νέες εξωτερικές βιβλιοθήκες έχουν συμπεριληφθεί για ευκολία μεταγλώττισης και χωρίζονται σε δύο ομάδες σύμφωνα με τις άδειες τους (lgpl και gpl):


Χαρακτηριστικά βιβλιοθήκης

Αυτή η εφαρμογή σας επιτρέπει να δημιουργήσετε εικονίδια με την αλλαγή μεγέθους μιας εικόνας εισόδου σε διάφορα τυποποιημένα μεγέθη εικονιδίων των Windows:

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

Έχετε την επιλογή να μετατρέψετε ένα συγκεκριμένο χρώμα σε άλλο χρώμα κατά τη διαδικασία αλλαγής μεγέθους. Για παράδειγμα, αυτό μπορεί να χρησιμοποιηθεί για να αλλάξει το χρώμα φόντου, το οποίο μπορεί να είναι διαφανές, σε λευκό.

Μπορείτε επίσης να το χρησιμοποιήσετε για να ρυθμίσετε το στοιχείο άλφα (διαφάνεια) των υπόλοιπων εικονοστοιχείων.

Νέα επιλογή σκοτεινής λειτουργίας

Αυτή η εφαρμογή σας επιτρέπει να ανοίξετε βιβλία PDF και να δείτε τις εικόνες και το κείμενό τους.

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

Νέα επιλογή σκοτεινής λειτουργίας

Η εφαρμογή παρουσιάζει ένα τρισδιάστατο Donut, επιτρέποντας εναλλαγές και στους δύο άξονες.


Είναι ένα απλό παράδειγμα του τι μπορεί να επιτευχθεί με τις βιβλιοθήκες πλατφόρμας.


Δυνατότητες βιβλιοθήκης

Αυτή η εφαρμογή είναι μια συσκευή αναπαραγωγής μουσικής.

Λειτουργεί με λίστες αναπαραγωγής.m3u, οι οποίες μπορούν να δημιουργηθούν σύροντας και ρίπτοντας αρχεία μουσικής από τον εξερευνητή αρχείων.


Επίδειξη βίντεο

Η έμπνευση για αυτή την εφαρμογή ξεκίνησε πριν από πολύ καιρό.

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

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

Θυμάμαι να γοητεύομαι από μια επίδειξη από μια ισπανική ομάδα που παρουσίαζε ένα φαινόμενο μορφοποίησης:Κατά τη διάρκεια της επίδειξης, τα συστατικά υποβλήθηκαν σε μια σειρά μετασχηματισμών, με αποκορύφωμα το τελικό συστατικό να μετατρέπεται σε ιγκουάνα (αυτό συνδέεται στην ομάδα τους που ονομάζεται "Iguana").

Ήταν ένα εντυπωσιακό αποτέλεσμα.

Έχω στοχαστεί πώς να αναδημιουργήσω αυτό το αποτέλεσμα όλα αυτά τα χρόνια. Τώρα, παρουσιάζω αυτή την εφαρμογή ως τη λύση που προτείνω.

Υπάρχει έναοδηγός χρήστη που εξηγεί λεπτομερώς πώς λειτουργεί η εφαρμογή.

Βίντεο επίδειξης:

Βίντεο που δημιουργήθηκε με την εφαρμογή

Ενδιαφέρομαι τώρα να ενσωματώσω στοιχεία AI στο προσωπικό μου έργο μετά την ολοκλήρωση ενός μεταπτυχιακού διπλώματος στην Τεχνητή Νοημοσύνη.

Αυτή τη φορά, θα υπάρχει μια βιβλιοθήκη για την ανίχνευση παλαιότερων προσώπων.


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

Πιο συγκεκριμένα, περιλαμβάνει μια βιβλιοθήκη που ανιχνεύει πρόσωπα σε εικόνες χρησιμοποιώντας ορόσημα προσώπου DLib-68, η οποία παρέχει 68 κορυφές για κάθε ανιχνευμένο πρόσωπο.


Με αυτές τις νέες πληροφορίες, η εφαρμογή επιτρέπει πλέον:


Αυτή η βελτίωση σας επιτρέπει να δημιουργήσετε έργα Μορφοποίησης πιο αποτελεσματικά.

Για παράδειγμα, μπορείτε να δημιουργήσετε ένα ενδιαφέρον εφέ χρησιμοποιώντας τέσσερις φωτογραφίες σε λιγότερο από 20 λεπτά, ενώ με την προηγούμενη έκδοση,Θα μπορούσε να σου πάρει τουλάχιστον δύο ώρες.


Υπάρχει έναοδηγός χρήστηντε ουσουάριοπου εξηγεί λεπτομερώς τον τρόπο χρήσης της εφαρμογής.

Βίντεο επίδειξης

Βίντεο που δημιουργήθηκε με την εφαρμογή

Η εφαρμογή υλοποιεί έναν αλγόριθμο fractal image compression που περιγράφεται σε ένα έγγραφο IEEE από τις ημέρες του πανεπιστημίου μου. Βασίζεται στον τριγωνισμό Delaunay και την κωδικοποίηση μπλοκ.

Συνεργάστηκα με συμμαθητή του πανεπιστημίου για να αναπτύξω την αρχική έκδοση αυτού του αλγορίθμου κατά τη διάρκεια πρακτικής άσκησης για την τελευταία σειρά μαθημάτων της Teleco Television (σχέδιο 64 της Βαρκελώνης).

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

Θυμάμαι ότι αναπτύξαμε έναν αρκετά καλό τριγωνισμό Delaunay και εφαρμόσαμε με επιτυχία την προσέγγιση διάσπασης και συγχώνευσης. Αυτό περιλάμβανε τον υπολογισμό των πιο αντιπροσωπευτικών τριγώνων και την εύρεση των βέλτιστων χαρτογραφήσεων κατά τη διαδικασία κωδικοποίησης. Ωστόσο, παρά τους τρεις μήνες εντατικής ανάπτυξης, ποτέ δεν ολοκληρώσαμε την εφαρμογή.

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

Προφανώς, κάτι θα βελτιωθεί 25 χρόνια αργότερα. Επιπλέον, αυτή τη φορά με πρόσθετη υποστήριξη λειτουργίας για να χειριστώ τρίγωνα, τα οποία είχα ήδη προγραμματίσει για την εφαρμογή Morphing effect.

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

Είναι προφανές ότι όταν δεν χρειάζεται να φτιάξεις μόνος σου τα τούβλα, τόσο πιο γρήγορα μπορείς να χτίσεις τους τοίχους...


Βίντεο επίδειξης

Η αίτηση, επίσης γραμμένη σε Java, εισήχθη κατά την παρουσίαση της διατριβής του Artificial Intelligence Master (2022/2023).

Το πρότυπο του PowerPoint που λάβαμε είχε ένα πορτοκαλί θέμα, που αντικατοπτρίζει τα σχολικά χρώματα του VIU University.

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

Η βιβλιοθήκη "Apache Commons CLI" χρησιμοποιείται για την ανάλυση παραμέτρων εισόδου για τη γραμμή εντολών, παρέχοντας μια νέα δυνατότητα.

Η επιλογή slf4j logback είναι επίσης ένα νέο χαρακτηριστικό.

Η εφαρμογή colorBall δημιουργήθηκε ως μια μορφή ψυχαγωγίας μεταξύ των έργων. Αναπτύχθηκε μετά την ολοκλήρωση της έκδοσης v1.1 του Morphing Editor και πριν από την έναρξη των εργασιών για τη νέα έκδοση της εφαρμογής σκακιού.

Το λογισμικό χρησιμοποιεί το Painter για να προγραμματίσει το ImageJPanel. Αυτό σας επιτρέπει να ζωγραφίσετε πάνω από την εμφανιζόμενη εικόνα. Χρησιμοποιεί επίσης το KeyColorImage, το οποίο σας επιτρέπει να χρωματίσετε εικονοστοιχεία με μια επιλεγμένη απόχρωση χρησιμοποιώντας το JColorChooser.

Με αυτόν τον τρόπο, η εφαρμογή επικαλύπτει μια μπάλα επιλέξιμου μεγέθους, διακριτικά χρωματισμένη με την επιλεγμένη απόχρωση, πάνω από την εμφανιζόμενη εικόνα.


Το JColorChooser έχει ενσωματωθεί στις βιβλιοθήκες μέσω της εφαρμογής, καθιστώντας το διαθέσιμο για όλες τις εφαρμογές:

Βίντεο επίδειξης

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

Συνεισφέρω τη δική μου εκδοχή της λύσης στο πρόβλημα.

Δεν είναι μια πολύ αποτελεσματική λύση αφού η υπολογιστική πολυπλοκότητα στη χειρότερη περίπτωση είναι O(G2), όπου G αντιπροσωπεύει τον πολυωνυμικό βαθμό.

Ωστόσο, νομίζω ότι κάνει τη δουλειά αποτελεσματικά.


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

Κάτω από αυτή την υπόθεση, είναι ευθύς ο υπολογισμός των ριζών επειδή μπορούμε να καθορίσουμε το όριο εύρους των ριζών.(Βλέπε:Ιδιότητες των πολυωνυμικών ριζών)

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

Αλλά... χρειαζόμαστε τη συνάρτηση για να υπολογίσουμε τις ρίζες της παράγωγης συνάρτησης!

Κανένα πρόβλημα. Χρησιμοποιούμε αναδρομή για να υπολογίσουμε τις ρίζες ενός πολυωνύμου. Η αναδρομική συνάρτηση έχει μια θήκη τερματισμού για το σενάριο ενός πολυωνύμου βαθμού μηδέν (μια σταθερά), το οποίο υποθέτουμε ότι δεν έχει ρίζες.

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


Αυτός ο τρόπος διαδικασίας μπορεί να απαιτεί ακρίβεια στους υπολογισμούς μας, αλλά αυτό δεν είναι πρόβλημα αν χρησιμοποιήσουμε την κλάση Java BigDecimal.

Συνδυασμένη εφαρμογή Java desktop (QR printing) και Android (QR reading)

Αυτό είναι το αποτέλεσμα της αντιγραφής και επικόλλησης πληροφοριών από το διαδίκτυο που εξηγεί τη λειτουργικότητα της βιβλιοθήκης Zxing για την επεξεργασία κώδικα QR.

Υπάρχει επίσης μια εφαρμογή γραμμής εντολών όπου μπορείτε να δημιουργήσετε εικόνες QR.

Η εφαρμογή αυτή γεννήθηκε από την επιθυμία ενσωμάτωσης προηγμένων δυνατοτήτων A.I., όπως:


Με αυτό, μπορείτε να συνομιλήσετε με ένα γεννητικό A.I.: Llama3.

Μιλώντας στο μικρόφωνο (η αναγνώριση φωνής δεν είναι τέλεια, αλλά αναγνωρίζει κάποια μέρη)

Επεξεργασία του κειμένου για αποστολή στο Α.Ι., και αποστολή του

Βλέποντας την απάντηση του Α.Ι. σε πραγματικό χρόνο και ακούγοντάς την μέσω του ομιλητή

Βίντεο επίδειξης

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

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

Ελπίζω ότι αυτό θα είναι χρήσιμο σε κάποιον.