GetSplinePoint Instability

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 21/04/2012 at 11:19, xxxxxxxx wrote:

User Information:
Cinema 4D Version:   R13 
Platform:   Windows  ; Mac  ;  
Language(s) :     C++  ;

---------
Hey everyone,

I am having some weird results using GetSplinePoint()

Basically I fill a Vector with:

  
  
Real dist = bc->GetReal(MY_DIST_PERCENTAGE);  
 Vector spos = spline->GetSplinePoint(dist, 0, NULL);  
  

I then set the position of objects to spos so that they will move along a certain percentage of the spline.

when I increase or decrease the dist percentage, I get random spurts of GetSplinePoint() returning Vector(0,0,0);    which makes my objects jump randomly back to the start of the spline .  Is this a known issue with GetSplinePoint() or am I doing something wrong?

Thanks,

Shawn

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 23/04/2012 at 05:17, xxxxxxxx wrote:

Any thoughts on this?

Thanks,

Shawn

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 23/04/2012 at 07:44, xxxxxxxx wrote:

I've recently done something similar and used the SplineHelp class to do it. In my case I wanted to know the actual global position in the 3D world represented by a given percentage along a spline. The SplineHelp::GetPosition() function works fine for that.

If you needed to know the nearest point in the spline to the percentage distance, you could try SplineHelp::GetPointIndex().

Hope that helps a little.

Steve

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 23/04/2012 at 08:02, xxxxxxxx wrote:

Thanks Steve!   I'll check those functions out when I get home. I wish I had a portable SDK on my iPhone. Lol

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 23/04/2012 at 14:11, xxxxxxxx wrote:

Hmmm..  well,  that works like it's supposed to just like GetSplinePoint() but I sitll get random flickers back to the beginning of the spline.  This is weird.  It must be earlier in the chain before I build the spline.  Back to the drawing board,.  😞

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 23/04/2012 at 15:21, xxxxxxxx wrote:

Is this a spline with more than one segment by any chance? I had trouble getting my code to work with segments other than the first one. Gave up in the end, it wasn't critical.

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 23/04/2012 at 15:24, xxxxxxxx wrote:

Yes it has more than one. Unfortunately it is critical in my setup. Lol

Thanks again Steve.

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 23/04/2012 at 19:02, xxxxxxxx wrote:

Okay, when the object jumps back to the base of the spline, the console prints out the value of the vector created by SplineHelp::GetPosition() as

Vector(-1.#QO, -1.#QO, -1.#QO);

Any idea what that means?

Thanks,

Shawn

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 24/04/2012 at 00:55, xxxxxxxx wrote:

The problem is clearly the use of more than one sesgment. I couldn't fix this, maybe someone with more knowledge could show how to make it work?

That strange printout, I can only guess that it's a value incredibly close to zero without actually being zero - like you see sometimes in Visual Studio, it appears to give a really weird value for a Real but you realise that it's just an arithmetical rounding error and it's really zero.

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 24/04/2012 at 03:48, xxxxxxxx wrote:

I had some problems with SplineHelp, too, in the past. Therefore, I returned to using SplineObject::GetSplinePoint().

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 24/04/2012 at 03:50, xxxxxxxx wrote:

Hi Jack,

Interestingly I get the same results with GetSplinePoint(),  You had your object along the spline return to the start?  How did you resolve this?

Thanks,

Shawn