On Mar 8, 2015, at 10:53 PM, Neil Toronto <neil.toro...@gmail.com> wrote:

> If you've ever had the slightest hankering to do some real 3D but avoided it 
> because of the pain that usually goes with it, try Pict3D. (If it fails to 
> work, please submit a bug report on the GitHub page.) Got a visualization 
> project? Try Pict3D. Want to make a game? Try Pict3D's version of Big Bang. 
> Want to just fool around in 3D space for a bit? Try Pict3D, and report back 
> on how it goes.

I made a version of the game unpossible using pict3d:
https://github.com/AlexKnauth/my-unpossible
It’s a bit slow and jerky, but that’s probably entirely because I didn’t try 
too hard to make my end of it fast.  
If you have any suggestions that would be great.


On Mar 9, 2015, at 5:58 PM, Neil Toronto <neil.toro...@gmail.com> wrote:

> On 03/09/2015 03:37 PM, Alexander D. Knauth wrote:
>> Is there a good way to draw a smooth curved cylinder?

> Sure! You could assemble it yourself out of triangles and quads. :)
> 
> OK, maybe that's not "good". It's a fun problem, though, so I gave it a shot. 
> I've attached my solution. The `parametric-cylinder` function accepts a 
> function that takes a "time" parameter `t` and returns four values: the 
> center of the cylinder at time `t`, the first derivative of the function from 
> `t` to center, the second derivative, and a radius. It should work on any 
> parametric function that doesn't have any collinear segments.
> 
> You probably want something like the `helix` example.
> 
> An easier-to-use solution would probably derive the first and second 
> derivatives from samples of the center position.
> 
> Neil ⊥

Thanks!
And by the way, for my use case, it was good that I could provide the 
derivative myself.  
I ended up using it like this:
(parametric-cylinder
 #:samples 1
 (match-lambda
  [0.0 (values pos dir (dir- new-dir dir) 1/2)]
  [1.0 (values new-pos new-dir (dir- new-dir dir) 1/2)])
 0.0 1.0)



____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to