memory heap
375 subscribers
2.56K photos
526 videos
52 files
3.16K links
science ∩ art = wonder

all memory blocks here are allocated by @a_v_p

GitHub: https://github.com/artyom-poptsov
Mastodon: https://fosstodon.org/@avp

https://memory-heap.org/~avp/
Download Telegram
Палец-нажималец.

#freecad #3dprinting
This media is not supported in your browser
VIEW IN TELEGRAM
Alt Linux.
👀3👾2
#music #music_ambient

Mrmo Tarius, "Rain Ambient One":
https://www.youtube.com/watch?v=R3GBoqzS6W8

Из описания:
Визуализация к музыке сделана в Blender, при записи использовались KORG Volca Drum, _MicroFreak, педаль MS-70CDR и педаль для закольцовывания частей записи, плюс автор записал свой голос через vocoder.
Forwarded from Кибердянск
3👻1👾1
27.03.2024
🔥7
"tfw you find a pentagram in your computer science paper"

Мой перевод:
"То самое чувство, когда находишь пентаграмму в статье по компьютерным наукам."

Источник:
https://fosstodon.org/@[email protected]/112158006549699748
🔥3
Исправил в Guile-PNG проблемы с переворотом изображений, и также добавил процедуру переворота на 180 градусов.

Код:
#!/home/avp/.guix-profile/bin/guile \
-L modules -e main -s
!#

(use-modules (oop goops)
(logging logger)
(png)
(png fsm context)
(png image)
(png image-processing))

(define (main args)
(log-add-handler! (make <precise-port-log>
#:port (open-output-file "/tmp/smc.log")))
(let* ((image (png->scm #:debug-mode? #t)))
(let ((result (png-image-rotate-180 image)))
(scm->png result))))


Оказывается если не пытаться сэкономить память и изменения применять к копии изображения, то можно сильно упростить код.

В качестве примера использована картинка с лягушонком Пепе.

#projects #guile_png
🔥6
memory heap
Исправил в Guile-PNG проблемы с переворотом изображений, и также добавил процедуру переворота на 180 градусов. Код: #!/home/avp/.guix-profile/bin/guile \ -L modules -e main -s !# (use-modules (oop goops) (logging logger) (png) …
Реализовал в Guile-PNG методы отражения изображения ("flip") по вертикали и горизонтали. Модуль с поворотом и отражением называется теперь transform.scm (идею подсмотрел в GIMP.)

#projects #guile_png
🔥4
memory heap
Реализовал в Guile-PNG методы отражения изображения ("flip") по вертикали и горизонтали. Модуль с поворотом и отражением называется теперь transform.scm (идею подсмотрел в GIMP.) #projects #guile_png
Подсчёт пикселей одного цвета через png-image-pixel-fold в Guile-PNG:

#!/home/avp/.guix-profile/bin/guile \
-L modules -e main -s
!#

(use-modules (oop goops)
(logging logger)
(rnrs bytevectors)
(png)
(png fsm context)
(png image)
(png graphics pixel)
(png image-processing))

(define (main args)
(log-add-handler! (make <precise-port-log>
#:port (open-output-file "/tmp/smc.log")))
(let* ((image (png->scm #:debug-mode? #t))
(result (png-image-pixel-fold image
0
(lambda (pixel previous . rest)
(if (and (= (bytevector-u8-ref pixel 0) 255)
(= (bytevector-u8-ref pixel 1) 0)
(= (bytevector-u8-ref pixel 2) 0))
(+ previous 1)
previous)))))
(format (current-error-port) "result: ~a~%" result)))


#projects #guile_png
🔥4