Blended curve nor redering right

 From:  Michael Gibson
4101.2 In reply to 4101.1 
Hi NightCabbage, yeah that's a bug in the curve display engine. It's a cosmetic display bug though, your actual curve is fine.

It can happen when you've got a curve that is in just the right kind of "S" shape on the screen, and when that curve is made up of the minimal amount of control points for it so the curve is equivalent to a bezier segment (Blend will make this kind of curve).

Basically what happens is the curve display works by approximating the curve with lines, and it measures the midpoint of the line and compares the distance from that line midpoint to the midpoint of the actual curve. It decides to stop refining the curve when that measured distance is small enough - when it's less than a screen pixel in distance.

But if a bezier has got just the right kind of "S" shape on the screen then what happens is the midpoint of the line between the ends of the S can happen to be close to the midpoint of the actual curve, so for that particular shape only doing that one measurement can break down - that's what you are seeing in this particular case.

It could be fixed in the display engine by doing some additional checks of the line segments before deciding whether they have been refined enough. The problem is that adding additional checks will slow down the curve display mechanism for all curves by quite a bit, so fixing this bug can have some really negative impact on display performance, that's why I haven't tried to mess with it yet. At some point in the future I'll probably be able to give it a try but it has to be done very carefully so as not to impact performance very much, and it may even turn out that leaving the bug in place is better overall than slowing down the curve draw performance for all curves. It kind of depends on how much the performance is affected which requires a lot of benchmark testing to really understand well.

In the meantime if that's causing you a problem like if you need to make a screenshot of the particular view of the curve that it happens in, you should be able to get it to stop happening by inserting a point on the curve - if you use the Edit > Add pt command to add a point on the curve while the curve's control points are not currently being displayed that will add a knot to the curve, making it made up of 2 bezier spans instead of just 1 bezier span like a regular blend curve. That will then make the problem go away because the display starts out with a bezier decomposition of the curve.

- Michael

EDITED: 10 Mar 2011 by MICHAEL GIBSON