Cudna animacija (ampak zabavna)

kegel
Jurij Podgoršek 2025-02-27 21:29:06 +01:00
parent e5f481c4ec
commit 7016b5c90b
2 changed files with 25 additions and 9 deletions

View File

@ -3,6 +3,8 @@
(use-modules (chickadee)
(chickadee graphics color)
(chickadee math vector)
(chickadee math vector)
(chickadee graphics path)
(system repl coop-server)
(ww copic))
@ -17,7 +19,7 @@
(define stevec 0)
;; copic za risanje - kazalnik
(define copic (make-copic (kazalnik 50) (vec2 300 300)))
(define copic (make-copic (kazalnik 100 stevec) (vec2 300 300)))
(define (prestavi-copic! nov-polozaj)
(copic-polozaj-set! copic (vec2+ (copic-polozaj copic)
@ -37,7 +39,8 @@
(define tekst "")
(set! stevec 6000)
(set! stevec 300)
(define (update dt)
;; REPL!
@ -68,7 +71,7 @@
(draw-text tekst (vec2 3 3) #:color black)
;; kurzor
(izrisi-kazalnik copic))
(izrisi-kazalnik copic 100 stevec))
(define (load)
(reset-stevec!))

View File

@ -21,13 +21,26 @@
#:origin (vec2 sirina sirina)))
;; Krog z gradientom kot copic
(define (kazalnik sirina)
(define (kazalnik sirina stevec)
(with-style
((fill-color (kazalnik-barva sirina)))
(fill (circle (vec2 sirina sirina) sirina))))
((fill-color black))
(fill
(path
(line-to (vec2
(* sirina (cos (/ stevec 33)))
(* sirina (sin (/ stevec 100)))))
(line-to (vec2 (* sirina (sin (/ stevec 50)))
(cos (/ stevec 16.5))))
(line-to (vec2 (* sirina (sin stevec)) (* sirina (sin (/ stevec 471)))))
(line-to (vec2 (cos (/ stevec 47)) (cos (/ stevec 123))))))))
(define (izrisi-kazalnik copic)
(define (izrisi-kazalnik copic sirina stevec)
(draw-canvas
(make-canvas
(translate (copic-polozaj copic)
(copic-lik copic)))))
(translate
(copic-polozaj copic)
(rotate (/ stevec 10)
(translate (vec2 (* -1 (/ sirina 2))
(* -1 (/ sirina 2)))
(kazalnik sirina stevec)))))))