'
'------------- Cubic -------------------
'
SegmentType("Cubic", x, x1, y1, x2, y2)
xbar = (x-x1)/(x2-x1);
ybar = 3*xbar2-2*xbar3;
y = y1+(y2-y1)*ybar;
return y;
endSegmentType
'
'------------- Quarter Sine ------------
'
SegmentType("Quarter-Sine", x, x10, y1, x2, y2)
xbar = (x-x10)/(x2-x10);
ybar = sin(PI*xbar/2);
y = y1+(y2-y1)*ybar;
return y;
endSegmentType
'
'------------- Quarter Cosine ------------
'
SegmentType("Quarter-Cosine", x, x1, y1, x2, y2)
xbar = (x-x1)/(x2-x1);
ybar = 1-cos(PI*xbar/2);
y = y1+(y2-y1)*ybar;
return y;
endSegmentType
'
'------------- Half Cosine ----------------
'
SegmentType("Half-Cosine", x, x1, y1, x2, y2)
xbar = (x-x1)/(x2-x1);
ybar = cos(PI*xbar);
y = (y2+y1)/2-((y2-y1)/2)*ybar;
return y;
endSegmentType
'
'------------- 3-4-5 Polynomial ----------------
'
SegmentType("3-4-5-Polynomial", x, x1, y1, x2, y2)
xbar = (x-x1)/(x2-x1);
ybar = 10*xbar3-15*xbar4+6*xbar5;
y = y1+(y2-y1)*ybar;
return y;
endSegmentType
'
'------------- 4-5-6-7 Polynomial -------------
'
SegmentType("4-5-6-7-Polynomial", x, x1, y1, x2, y2)
xbar = (x-x1)/(x2-x1);
ybar = 35*xbar4-84*xbar5+70*xbar6-20*xbar7;
y = y1+(y2-y1)*ybar;
return y;
endSegmentType
'
'------------- 5-6-7-8-9 Polynomial -------------
'
SegmentType("5-6-7-8-9-Polynomial", x, x1, y1, x2, y2)
xbar = (x-x1)/(x2-x1);
ybar = 126*xbar5-420*xbar6+540*xbar7-315*xbar8+70*xbar9;
y = y1+(y2-y1)*ybar;
return y;
endSegmentType
'
'------------- Cycloidal ----------------
'
SegmentType("Cycloidal", x, x1, y1, x2, y2)
xbar = (x-x1)/(x2-x1);
ybar = 1-cos(PI*xbar/2);
y = y1+(y2-y1)*ybar;
return y;
endSegmentType
'
'------------- Quadratic -------------------
'
SegmentType("Quadratic", x, x1, y1, x2, y2)
xbar = (x-x1)/(x2-x1);
ybar = xbar2;
y = y1+(y2-y1)*ybar;
return y;
endSegmentType
'
'------------- Linear -------------------
'
SegmentType("Linear", x, x1, y1, x2, y2)
slope = (y2-y1)/(x2-x1);
dy = slope*(x-x1);
val = y1 + dy;
return val;
endSegmentType