animated line drawing
Is it possible to draw a line in sagemath as like javascript?
A Demo: http://jsfiddle.net/m1erickson/7faRQ/
Is it possible to draw a line in sagemath as like javascript?
A Demo: http://jsfiddle.net/m1erickson/7faRQ/
For sure, see the animated plots documentation.
EDIT: here is a possible solution:
def drawlines(lines, ns, **options):
r"""
Input:
- ``lines``: a list of lines, each line being defined
by its endpoints as ``[(x1,y1), (x2,y2)]``
- ``ns``: the number of division of each line for the
animation
- ``**options``: any option to pass to the graphic
command ``line``, like ``color`` or ``thickness``
"""
resu = []
preceeding = Graphics()
for li in lines:
x1, y1 = li[0]
x2, y2 = li[1]
dx = float(x2 - x1)/float(ns)
dy = float(y2 - y1)/float(ns)
for i in range(ns):
xx = x1 + (i+1)*dx
yy = y1 + (i+1)*dy
resu.append(preceeding + line([(x1,y1), (xx,yy)], **options))
preceeding = resu[-1]
return resu
anim = animate(drawlines([[(1,2), (3,4)],
[(3,4), (3,0)],
[(3,0), (1,2)]], 10, color='red', thickness=2),
xmin=0, xmax=4, ymin=0, ymax=5)
anim.show(delay=5)
You can see it at work on SageMathCell.
please tell me the exact example from your url. I can't find the example I want. I mean drawing a line, not moving a drawed line.
Well, you may draw the line as a sequence of small segments and then animate it.
How can I plot the trace of animated line? If I draw small segments of a line, all segments will be drawed at the same time. Is there 'wait()' like command in sage?
I've edited my answer to provide the link to some example.
Asked: 7 years ago
Seen: 1,150 times
Last updated: Nov 25 '17