POV-Ray : Newsgroups : povray.binaries.animations : Roller Coaster WIP 6 (MPEG1 Link: 4.7 MB) : Re: Roller Coaster WIP 6 (MPEG1 Link: 4.7 MB) Server Time
3 Jul 2024 02:56:09 EDT (-0400)
  Re: Roller Coaster WIP 6 (MPEG1 Link: 4.7 MB)  
From: DJ Wiza
Date: 2 May 2006 14:36:20
Message: <4457a6a4$1@news.povray.org>
Trevor G Quayle wrote:
> DJ Wiza <Kil### [at] sohcahtoanet> wrote:
> 
>>http://www.sohcahtoa.net/videos/amazinggrace.m1v
>>
>>This roller coaster is called Amazing Grace.  It was designed by RiscIt,
>>one of the admins of CoasterSims.com.  The actual track looks FAR better
>>in No Limits, because he uses terrain and 3DS objects, both of which I
>>have not implemented yet.  Also, the lack of supports kind of takes a
>>bit away from the feel of the ride.
>>
>>That said, this represents the fact that I've fixed my banking problem
>>in that corkscrews and loops work (See my post on p.general), though
>>loops with little lateral movement will show a glitch, which shows
>>itself in one of the loops in this ride.
>>
>>I need to change the method of interpolation though...through the
>>corkscrews, the ride kind of wobbles because the interpolation is
>>linear.  I know that No Limits uses some sort of bezier interpolation,
>>but I'm not sure how exactly to implement it for banking.  I might
>>settle for 3rd order b-spline interpolation.  While it may end up being
>>very smooth, it won't be as accurate to the original track.
>>
>>-DJ
> 
> 
> Got any barf bags?  That was kind of fun.
> 
> As a note, you have a kink in your track, ascending the loop at about the
> 38sec mark.
> 
> -tgq
> 
> 

I know about the kink, that's why I noted above that vertical loops with 
very little lateral movement will show a glitch.

The problem is with vertical track.  If a track is exactly 90 degrees 
down, how do you know which way is up?  To make an up vector, I use 
VPerp_To_Plane to find a vector that is perpendicular to a plane defined 
by a vector that points "foward" along the track and the vector y.  This 
creates a vector pointing right.  I then use vaxis_rotate to rotate that 
by the amount of banking defined by the track.

Of course, this creates the problem that as track gets closer and closer 
to going 90 degrees either straight up or down, you get rounding errors 
that result in those kinks.

The author of No Limits found a way around it by allowing the user to 
specify that a banking angle is "relative" to the previous control 
points banking.  Not sure how I could implement that though.  I might 
have to do a lot of reworking.

-DJ


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.