Bezier Plotting problem

  • Thread starter PerlTrader
  • Start date

Main Question or Discussion Point


Hello math gurus,

I'm using Bezier curves in my Perl application to chart currency trading data.
Having no formal math training, I've framed my questions in a modeling context.
I want to step along the major axis (on integer boundaries), and calculate real
values on the minor axis. I'm plotting in relative space, like PostScript's
"rcurveto" function. The example code fragments are in (pseudo) Perl with
scalar($) and termination(;) characters removed.

Control Points:
x1 = 70 y1 = 0
x2 = 100 y2 = 20
3 = 100 y3 = 50

Initialize Curve:
cX = (3 * x1)
cY = (3 * y1)
bX = ((3 * (x2 - x1)) - cX)
bY = ((3 * (y2 - y1)) - cY)
aX = (x3 - cX - bX)
aY = (y3 - cY - bY)

Plot Point:
t1 = t t2 = (t1 * t1) t3 = (t1 * t2)
pX = ((aX * $t3) + (bX * $t2) + ($cX * t1))
pY = ((aY * $t3) + (bY * $t2) + ($cY * t1))

Octant Change:
T: 0.65429213786 X: 88.830577627 Y: 22.884879224

Octant 0 Point:
T: 0.28268189551 X: 50.000000000 Y: 4.568654814

Octant 1 Point:
T: 0.88425060334 X: 98.778678931 Y: 40.000000000

In Octant 0, I want to use X integers (0 to 88) to find t (e.g. 0.28268189551
from 50) to generate Y reals (e.g. 4.568654814 from 0.28268189551). In Octant 1,
I want to use Y integers (23 to 50) to find t (e.g. 0.88425060334 from 40) to
generate X reals (e.g. 98.778678931 from 0.88425060334).

My three part question is:

1) Can the (aX, bX, cX, aY, bY, cY) initialization values be used in the solution,
or will separate initialization values be required for X stepping and Y stepping.

2) Are the X and Y stepping solutions (that find t) similar to the structure of
finding X and Y with t?

Find t with x: t1 = pX ... process ...
Find y with t: ((aY * $t3) + (bY * $t2) + ($cY * t1))

3) How will the solution calculate the following values from X = 50 in Octant 0
and Y = 40 in Octant 1:

T: 0.28268189551 X: 50.000000000 Y: 4.568654814

The only way I'll be able to understand a solution is if I can plug it into some
Perl code. Explanations in pseudo code or C fragments should also work.

Thanks (in advance, for anyone willing to help me with this).
 
Last edited:

Answers and Replies

Related Threads for: Bezier Plotting problem

  • Last Post
Replies
4
Views
5K
Replies
10
Views
1K
  • Last Post
Replies
1
Views
1K
  • Last Post
Replies
4
Views
1K
  • Last Post
Replies
1
Views
4K
Replies
2
Views
4K
Replies
0
Views
10K
Top