Difference between revisions of "BezierCurve:renderSegment"

m (Function)
m (Add example)
Line 17: Line 17:
 
=== Returns ===
 
=== Returns ===
 
{{param|table|coordinates|List of x,y-coordinate pairs of points on the specified part of the curve.}}
 
{{param|table|coordinates|List of x,y-coordinate pairs of points on the specified part of the curve.}}
 +
 +
== Example ==
 +
=== Draw a segment of a bezier curve ===
 +
<source lang="lua">
 +
curve = love.math.newBezierCurve({25,25,75,50,125,25})
 +
function love.draw()
 +
love.graphics.line(curve:renderSegment(0, .75))
 +
end
 +
</source>
  
 
== See Also ==
 
== See Also ==

Revision as of 16:13, 31 October 2016

Available since LÖVE 0.10.0
This function is not supported in earlier versions.

Get a list of coordinates on a specific part of the curve, to be used with love.graphics.line.

This function samples the Bézier curve using recursive subdivision. You can control the recursion depth using the depth parameter.

If you are just need to know the position on the curve given a parameter, use BezierCurve:evaluate.

Function

Synopsis

coordinates = BezierCurve:renderSegment( startpoint, endpoint, depth )

Arguments

number startpoint
The starting point along the curve. Must be between 0 and 1.
number endpoint
The end of the segment to render. Must be between 0 and 1.
number depth (5)
Number of recursive subdivision steps.

Returns

table coordinates
List of x,y-coordinate pairs of points on the specified part of the curve.

Example

Draw a segment of a bezier curve

curve = love.math.newBezierCurve({25,25,75,50,125,25})
function love.draw()
	love.graphics.line(curve:renderSegment(0, .75))
end

See Also


Other Languages