Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!decwrl!sgi!shinobu!odin!texas.asd.sgi.com!robert From: robert@texas.asd.sgi.com (Robert Skinner) Newsgroups: comp.graphics Subject: Re: How to arbitarily break a bezier. Message-ID: <1990Sep13.165916.21995@odin.corp.sgi.com> Date: 13 Sep 90 16:59:16 GMT References: <1990Sep12.235912.14229@allgfx.agi.oz> <776@sol.deakin.OZ.AU> Sender: news@odin.corp.sgi.com (Net News) Reply-To: robert@sgi.com Organization: Silicon Graphics Inc., Entry Systems Division Lines: 39 In article <776@sol.deakin.OZ.AU>, peter@aragorn.cm.deakin.oz.au (Peter Horan) writes: |> See Foley Van Dam Feiner & Hughes which is open before me at the very topic pp507-514 |> |> Given the control points P1, P2, P3, P4, a Bezier curve may be split in half by computing L1 - L4 and R1 - R4 |> where |> L1 = P1 |> L2 = (P1 + P2)/2 |> H = (P2 + P3)/2 |> L3 = (L2 + H)/2 |> R2 = (H + R3)/2 |> L4 = R1 = (L3 + R2)/2 |> R3 = (P3 + P4)/2 |> R4 = P4 |> |> Draw a picture of it all. Its nice and easy. |> -- |> Peter Horan Or, if you want to split it into any a:1-a ratio, you can generalize the above interpolation equations: L2 = a*P1 + (1-a)*P2 ... etc, etc. So that splits the Bezier at an arbitrary point in *parameter* space. Is that really what you wanted? Or did you want to split it in object space? Robert Skinner robert@sgi.com When I woke up this morning, my girlfriend asked if I had slept well. I said, "no, I made a few mistakes."