Am fost întotdeauna un mare fan al culturii R hexsticker. Uneori vreau doar să creez un nou pachet doar ca să pot crea încă un autocolant. Am început o colecție digitală cu ceva timp în urmă și cu fantasticul r-universe.dev, a fost destul de ușor să duc colecția la aproape 3000 de autocolante hexadecimale. Pentru o vreme, au stat doar într-un dosar de pe laptopul meu până când am dat peste un magazin care face tricouri imprimate integral și am știut ce trebuie să fac!

În această postare, vreau să parcurg procesul de creare a acestei cămăși. Și, de asemenea, distribuiți materialul, astfel încât să puteți obține această piesă de modă glorioasă.
După cum am menționat mai sus, întreaga colecție de autocolante hexagonale este în jur de 3000, dar nu toate au o dimensiune standard sau sunt de fapt hexagonale. Am trecut prin toate autocolantele cu mâna și am îndepărtat toate autocolantele nehexagonale și cele cu dimensiuni evident greșite. La final am rămas cu aproximativ 2100 de stickere. Procesul nu a fost perfect și mi-am dat seama mai târziu că produsul final mai conținea niște hexlogo-uri scalate greșit.
Prima sarcină a fost să aranjezi toate autocolantele hexagonale într-un perete cu gresie îngrijită. Există o soluție existentă în R, pentru a crea un hexwall, dar scriptul (ei bine, magick pentru a fi mai precis) din păcate rămânea fără memorie. Am încercat să ajustez scriptul pentru a funcționa cu o cantitate atât de mare de autocolante hexagonale, dar în cele din urmă nu am reușit.
Căutând o alternativă, mi-a venit ideea să caut editori de hărți pentru jocuri video și am găsit un editor numit Tiled. Editorul a permis să creeze hărți pe o grilă hexagonală cu un set de tile predefinit.
Tilesets pentru Tiled sunt fișiere XML simple și le-aș putea genera cu ușurință cu un simplu script R.
header <- '", "hex_tileset.tsx", append = TRUE) ' write(header, file = "hex_tileset.tsx", append = FALSE) fs <- paste0(list.files("resized_img100_picked", full.names = TRUE)) for (i in 1:length(fs)) { paste0(' ') |> write("hex_tileset.tsx", append = TRUE) } write("
După importarea setului de plăci, m-am gândit că trebuie să plasez toate plăcile manual (eram pregătit să fac asta!), dar am găsit o opțiune de umplere aleatorie care a făcut acest lucru mai ușor! problema cu umplerea aleatorie este că nu se poate garanta că fiecare autocolant hexagonal apare într-adevăr cel puțin o dată. Din fericire, editorul are o opțiune de a exporta o hartă ca json. Json conține informațiile de țiglă ca o matrice pe care pur și simplu am înlocuit-o cu o matrice care a fost garantat să includă toate hexstickers-urile cel puțin o dată.
A <- jsonlite::fromJSON("hexmap.tmj")
B <- matrix(sample(all), 47, 47)
A$layers$data <- c(B)
jsonlite::write_json(A, "hexmap2.tmj", simplifyVector = FALSE)
Mai jos este „harta” finală.


Reutilizați
Citare
citat BibTeX:
@online{schoch2024,
author = {Schoch, David},
title = {Making of the {R} {Hexsticker} {T} {Shirt}},
date = {2024-10-29},
url = {http://blog.schochastics.net/posts/2024-10-29_hexshirt-making-of/},
langid = {en}
}
Pentru atribuire, vă rugăm să citați această lucrare ca:
Schoch, David. 2024. „Confecționarea tricoului R Hexsticker.”
29 octombrie 2024. http://blog.schochastics.net/posts/2024-10-29_hexshirt-making-of/.
