[fluxus] sphere triangles
dave
dave at pawfal.org
Wed Feb 22 17:23:38 PST 2006
this is very akward isn't it. I think we possibly need indexed polyprims
after all. I think what's going on in this case is that there is a
rounding error causing the edge points to be not quite equal, throwing
your hashing off. try adding a small tolerance in your key matching?
the nurbs primitive would be easer for this sort of thing, but
ironically you'd still get the tearing along the seams.
On Mon, 2006-02-20 at 21:55 -0800, Alex wrote:
> I've been doing deformations of the sphere and one thing that i've
> found that is annoying is that (i'm pretty sure) there is an arc on
> the sphere where vertices of the triangles don't match up [i assume
> the first and last triangles computed at each level in y].
>
> My explanation isn't very good, so see this example:
>
> (define ob (build-sphere 10 10))
> (grab ob)
> (define deform
> (let ((pt 0)
> (myhash (make-vector (inexact->exact (pdata-size))))
> )
> (lambda (n)
> (set! pt (hash-ref myhash (pdata-get "p" n)))
> (if (not pt)
> (begin
> (set! pt (vmul (pdata-get "p" n) (+ 0.7 (* (flxrnd) 0.3))))
> (hash-set! myhash (pdata-get "p" n) pt)
> )
> )
> (pdata-set "p" n pt)
> (if (> n 0)
> (deform (1- n))
> )
> )
> )
> )
>
> (deform (pdata-size))
> (ungrab)
>
> You can see that the sphere is no longer "solid". I figure this could
> probably be fixed by doing a check when computing the sphere, storing
> the first vertices computed and comparing them to the last ones [if i
> am correct], then setting the two to be equal. while i could do this
> myself it would take me a while to figure out what exactly is
> happening, it seems like it would be a really quick fix for someone
> who knows the code really well.
>
> -Alex
> _______________________________________________
> fluxus mailing list
> fluxus at lists.pawfal.org
> http://lists.pawfal.org/listinfo.cgi/fluxus-pawfal.org
More information about the Fluxus
mailing list