On 22/12/2009 12:49 PM, Mark Knecht wrote:
On Mon, Dec 21, 2009 at 4:42 AM, Duncan Murdoch <murd...@stats.uwo.ca> wrote:
> I've just posted a demo made with the rgl package to Youtube, visible here:
> http://www.youtube.com/watch?v=prdZWQD7L5c
>
> For future reference, here are the steps I used:
>
> 1. Design a shape to be displayed, and then play with the animation
> functions to make it change over time. Use play3d to do it live in R,
> movie3d to write the individual frames of the movie to .png files.
>
> 2. Use the ffmpeg package (not an R package, a separate project at
> http://ffmpeg.org) to convert the .png files to an .mp4 file. The
> individual frames totalled about 1 GB; the compressed movie is about 45 MB.
> 3. Upload to Youtube. I'm not a musician, so I had to use one of their
> licensed background tracks, I couldn't write my own. I spent a lot of time
> picking one and then adjusting the timing of the video to compensate. Each
> render/upload cycle at full resolution took about an hour and a half. It's
> a lot faster to render in a smaller window with fewer frames per second, but
> it's still tedious. It's easier to synchronize if you actually have a copy
> of the music locally, but Youtube doesn't let you download their music. So
> the timing isn't perfect, but it's good enough for me!
>
> Duncan Murdoch
>
Cool enough video. Thanks for sharing.
I'm curious - did you do the equations for the knot in R? If so what
did they look like, assuming there's no reason you cannot share it.
The knot has equation
cbind(sin(theta)+2*sin(2*theta), 2*sin(3*theta), cos(theta)-2*cos(2*theta))
The threads in the braid have equation
cbind(sin(theta) + sin(2*theta)/2, sin(theta-pi) + sin(2*theta)/2, theta)
in the local coordinates of the knot.
Overall it's about 100 lines of R code, too ugly to post.
Duncan Murdoch
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.