memory heap
369 subscribers
2.48K photos
508 videos
52 files
3.07K 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
Forwarded from CADR SPACE (Artyom "avp" Poptsov)
После длительного обдумывания, планирования и проектирования, мы пришли к кардинально новой методике 3D-печати.

#REPLICADR #projects
CADR SPACE
После длительного обдумывания, планирования и проектирования, мы пришли к кардинально новой методике 3D-печати. #REPLICADR #projects
Зачем что-то печатать, если можно объект телепортировать из той параллельной вселенной, где он уже есть?
Сегодня в 20:00 по МСК буду проводить мастер-класс по моделированию во FreeCAD, в формате конференции в Jitsi и трансляцией на YouTube. Ссылку пришлю на конференцию ближе к началу.
👍1
Media is too big
VIEW IN TELEGRAM
Yes, "Roundabout" (from JoJo Bizarre Adventure)

Авторы проекта:
Михаил Л. и Даниил К.

#arduino #jojo #music
Media is too big
VIEW IN TELEGRAM
Sailor Moon, "OP 1" (1992)

Автор:
Генералов Владислав

#arduino #music
John M. Vlissides, Mark A. Linton, "Applying Object-Oriented Design to Structured Graphics"

https://www.softwarepreservation.org/projects/c_plus_plus/library/interviews/graphic.pdf

#articles #graphics #oop #programming
memory heap
John M. Vlissides, Mark A. Linton, "Applying Object-Oriented Design to Structured Graphics" https://www.softwarepreservation.org/projects/c_plus_plus/library/interviews/graphic.pdf #articles #graphics #oop #programming
Экспериментирую с API для рисования в Guile-PNG.

Исходный код для генерации рисунка:
(define (main args)
(let* ((image (png->scm))
(color (u8-list->bytevector '(255 255 255 0))))

(let loop ((w 10))
(unless (= w 490)
(let ((rect (make <rectangle>
#:position (make <point>
#:x 10
#:y 10)
#:width w
#:height w
#:color color)))
(draw! image rect))
(loop (+ w 10))))

(scm->png image)))


В качестве входного изображения программе подаю на stdin изображение с чёрным фоном размером 500x500px, поверх которого выполняется отрисовка. Результат программа выводит в stdout, который уже перенаправляю в файл.

#guile #png #graphics #projects #scheme
👍1
Реализовал алгоритм отрисовки эллипсов.

(define (main args)
(let* ((image (png->scm))
(color (u8-list->bytevector '(255 255 255 0)))
(ellipse (make <ellipse>
#:width 300
#:height 200
#:center (make <point>
#:x 250
#:y 250)
#:color color)))

(draw! image ellipse)

(scm->png image)))


#guile #png #graphics #projects #scheme
2
Круг — частный случай эллипса.

(use-modules (rnrs bytevectors)
(oop goops)
(png)
(png graphics))

(define (main args)
(let* ((image (png->scm))
(color (u8-list->bytevector '(255 255 255 0)))
(circle (make <circle>
#:radius 200
#:center (make <point>
#:x 250
#:y 250)
#:color color)))

(draw! image circle)

(scm->png image)))

#guile #png #graphics #projects #scheme
👍31
David Thompson выпустил релиз Guile-WebSocket 0.1.0:
https://lists.gnu.org/archive/html/guile-user/2022-11/msg00045.html

Реализация клиенской и серверной стороны протокола WebSocket (RFC 6455).

Сайт проекта:
https://dthompson.us/projects/guile-websocket.html

#guile #scheme #websocket #networking
Выпустил релиз Guile-PNG 0.2.0 с добавлением API по отрисовке графических примитивов (точек, линий, ломаных линий, прямоугольников, эллипсов, кругов) поверх PNG-изображений:
https://lists.gnu.org/archive/html/guile-user/2022-11/msg00050.html

#guile #png #projects #scheme
1