[Bf-committers] Curve normal calculation

Chris Burt desoto at exenex.com
Thu May 24 19:55:05 CEST 2007

Since all curves start off as 2D curves, why not just make the
starting normal perpendicular to the plane the curve was added to the
scene in?


On 5/24/07, Ben Batt <benbatt at gmail.com> wrote:
> Hi all,
> I'm currently working on fixing curve normal calculation in Blender
> (to eliminate the curve twisting problem) using the torsion minimizing
> method outlined in:
> http://www.cs.auckland.ac.nz/~burkhard/Lectures/715S2C_2006/CalculationOfReferenceFrames.pdf
> (basically you choose a starting normal and then iterate along the
> curve in small steps, rotating the normal by the rotation from the old
> tangent to the new tangent at each step). I'm fairly happy with the
> results so far:
> http://i201.photobucket.com/albums/aa206/artificer_blender/curvenormals01.png
> This works reasonably well, but the issue of choosing a starting
> normal remains. The current method I'm using is just to choose a
> normal that is perpendicular to the tangent at the start of the curve,
> and as close to the positive Z axis ("up") as possible. If the
> starting tangent is vertical, the normal is set to be the positive X
> axis. This is not really an optimal solution, so I'd like to find a
> better one.
> One possibility I thought of was to give each curve a preferred normal
> specified as a vector, and allow the user to rotate this vector
> arbitrarily. The starting normal would then be the vector closest to
> the preferred normal while still being perpendicular to the starting
> tangent.
> Does anybody have any suggestions? Comments? Links to papers that
> discuss this problem?
> Thanks,
> Artificer
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers


More information about the Bf-committers mailing list