[comp.graphics] Intersection calculation problem

toivanen@tukki.jyu.fi (Jari Toivanen) (10/10/89)

I would like to know is there any simple and effective solution to
following problem:

I have curve c:[0,1] -> R*R. Curve c is cubic and it's following form

             3       2                   3       2
c(t) = (a * t + b * t + c * t + d , a * t + b * t + c * t + d )
         x       x       x       x   y       y       y       y

Now I rotate curve c around vector v so that I get surface (or what
ever I should call it). Let vector v be

v = (x  , y  , z  )
      up   up   up

Now I should calculate intersection of this surface and given line l.
Let line l be

l = (k * u + x , k * u + y , k * u + z ),  u >= 0
      x       0   y       0   z       0

This should be done as fast as possible, because it would be part
of ray tracer. I also need surface's normal in the intersection point.

I've been calculating this, but the solution seems to be quite
complicated. Is there any other easier way to do something like this?

Could anyone tell me good books which would help me deal with this
kind of problems and bicubic surfaces and stuff like that.
-- 

Jari Toivanen                           Segments are for worms ;-)
University of Jyvaskyla, Finland        Internet: toivanen@tukki.jyu.fi

rhbartels@watcgl.waterloo.edu (Richard Bartels) (10/12/89)

In article <1445@tukki.jyu.fi> toivanen@tukki.jyu.fi (Jari Toivanen) writes:
 :
 :I would like to know is there any simple and effective solution to
 :following problem:
 :
 : [intersecting a ray with a rotated cubic curve]
 :
 :Jari Toivanen                           Segments are for worms ;-)
 :University of Jyvaskyla, Finland        Internet: toivanen@tukki.jyu.fi

Look at the article:

	Ray Tracing Objects Defined By Sweeping Planar Cubic Splines
	Jarke J. van Wijk
	ACM Transactions on Graphics
	Vol. 3, No. 3, July, 1984, pp. 223-237

I believe that the author subsequently wrote a whole book on the subject.

-Richard