Ellipse circumference measurement

Ellipse circumference measurement

Post by karth » Sun, 07 Apr 2002 20:34:21



Hi All,
              I need a help from you. I am very new to the graphics.
My task is to draw an ellipse hatched. ie., I have to fill the ellipse
region full of vertical lines ( /* ||||| */). I am constructing the
ellipse using Bezier curves. How to calculate the elliptical region so
that I can fill the area.

Thanks in advcance!
Karthik

 
 
 

Ellipse circumference measurement

Post by Dann Corbi » Mon, 08 Apr 2002 07:25:45



Quote:> Hi All,
>               I need a help from you. I am very new to the graphics.
> My task is to draw an ellipse hatched. ie., I have to fill the ellipse
> region full of vertical lines ( /* ||||| */). I am constructing the
> ellipse using Bezier curves. How to calculate the elliptical region so
> that I can fill the area.

The circumference of an ellipse is calculated using an elliptical integral.
However, knowing the circumference will not help you to cross hatch it.

To fill an ellipse, it will depend on what sort of notions you are using.

If you have vectors, then it may be simplified.  If you have pixels, then
you will need to know if a pixel is inside or outside of the ellipse.

The CGA FAQ has the following:

Subject 5.08: How do I find the intersection of a ray and a Bezier surface?

    Joy I.K. and Bhetanabhotla M.N., "Ray tracing parametric surfaces
    utilizing numeric techniques and ray coherence", Computer
    Graphics, 16, 1986, 279-286

    Joy and Bhetanabhotla is only one approach of three major method
    classes: tessellation, direct computation, and a hybrid of the
    two.  Tessellation is relatively easy (you intersect the polygons
    making up the tessellation) and has no numerical problems, but can
    be inaccurate; direct is cheap on memory, but very expensive
    computationally, and can (and usually does) suffer from precision
    problems within the root solver; hybrids try to blend the two.

    Reference:

    [Glassner:RayTracing]

Maybe this will be helpful.  Of course, you only have a line and not a
surface.  Maybe this reference from the CGA FAQ could help:

Directory of Computational Geometry Software,

Nina Amenta is maintaining a WWW directory to computational
geometry software. The directory lives at The Geometry Center.
It has pointers to lots of convex hull and voronoi diagram programs,
triangulations, collision detection, polygon intersection, smallest
enclosing ball of a point set and other stuff.
http://www.geom.umn.edu/software/cglist/

You might also look at the Graphics Gems stuff.  They have plenty of
clipping and intersection algorithms in there.

Foley and Van Dam's "Computer Graphics" on page 488 talks about bezier
curves.  They suggest using a convex hull for clipping.  Certainly, if
nothing else, you can derive it from the basic mathematics.
--
C-FAQ: http://www.eskimo.com/~scs/C-faq/top.html
 "The C-FAQ Book" ISBN 0-201-84519-9
C.A.P. FAQ: ftp://cap.connx.com/pub/Chess%20Analysis%20Project%20FAQ.htm

 
 
 

1. Circumference of an ellipse?

Anyone know a formula for the circumference of an ellipse?

All the ones I've seen so far are of the form

       C = pi*(a+b) + some correction factor

where a and b are the major and minor radii.

They all break down (give inaccurate results) when a >> b .


2. Where is the "texture velocity" ??

3. Is ellipse completely contained in another ellipse?

4. Advice for image processing?

5. Ellipse-Ellipse :-)

6. Require info/C++ on Double-buffering/virtual screens

7. Is ellipse completely contained in another ellipse?

8. Spatial ellipse from 2D ellipse

9. Intersection of ellipse and ellipse

10. Circumference of a Spiral?

11. SOLUTION to wrapping 3D text around a circumference

12. "Circumference" of a Peano curve