bezier_2d_isect.c File Reference

#include "common.h"
#include <stdio.h>
#include "machine.h"
#include "vmath.h"
#include "nmg.h"
#include "raytrace.h"
#include "nurb.h"
#include "../librt/debug.h"

Include dependency graph for bezier_2d_isect.c:

Go to the source code of this file.

Defines

#define SGN(_x)   (((_x)<0) ? -1 : 1)
#define MAXDEPTH   64

Functions

int CrossingCount (point2d_t *V, int degree, point2d_t ray_start, point2d_t ray_dir, point2d_t ray_perp)
int ControlPolygonFlatEnough (point2d_t *V, int degree, fastf_t epsilon)
void Bezier (point2d_t *V, int degree, double t, point2d_t *Left, point2d_t *Right, point2d_t eval_pt, point2d_t normal)
int FindRoots (point2d_t *w, int degree, point2d_t **intercept, point2d_t **normal, point2d_t ray_start, point2d_t ray_dir, point2d_t ray_perp, int depth, fastf_t epsilon)
bezier_2d_listsubdivide_bezier (struct bezier_2d_list *bezier_in, int degree, fastf_t epsilon, int depth)


Detailed Description

The following routines are for 2D Bezier curves

The following routines are borrowed from Graphics Gems I, Academic Press, Inc, 1990, Andrew S. Glassner (editor), "A Bezier Curve-based Root-finder", Philip J. Schneider.

JRA 4/2001: Modifications have been made for inclusion in BRL-CAD and to generalize the codes for finding intersections with any 2D line rather than just the X-axis.

Definition in file bezier_2d_isect.c.


Generated on Mon Sep 18 01:25:04 2006 for BRL-CAD by  doxygen 1.4.6