[Fluxus] Question (attempt 2, please ignore the previous incomplete message)
gabor papp
gabor.lists at mndl.hu
Tue Jun 29 01:09:32 PDT 2010
hi Hugo,
welcome to the list.
> From what I understand so far, this is the best philosophy: "building"
> the primitives rather than "drawing" them every-time.
i would suggest that you use draw primitives first until you are
familiar with them.
> Doing that every-frame will grow the primitive too large to display in
> the window, so it mans that this scale of 1.2 is 'multiplied' against the
> primitives current scale factor.
yes, because built primitives remember their transformation that you can
reset with (identity) as you have already figured out.
> As a workaround, I have tried to maintain an array of 'sizes' that I
there are a number of ways you can solve your problem, but probably this
is the simplest.
here's a small example that might help.
-----
(clear)
(define count 10)
; build list of random rotations, positions, sizes
(define rotations (build-list count (lambda (n) (vmul (crndvec) 180))))
(define positions (build-list count (lambda (n) (vmul (crndvec) 5))))
(define sizes (build-list count (lambda (n) (rndf))))
(define (animate)
; recalculate sizes
(set! sizes
(map
(lambda (s)
(if (> s 5)
1
(+ s .1)))
sizes))
; draw
(for-each
(lambda (r p s)
(with-state
(translate p)
(rotate r)
(scale s)
(draw-cube)))
rotations
positions
sizes))
(every-frame (animate))
-----
best,
gabor
More information about the Fluxus
mailing list