animated line drawing
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.
Please start posting anonymously - your entry will be published after you log in or create a new account.
Asked: 7 years ago
Seen: 1,052 times
Last updated: Nov 25 '17