#6447: [with patch, needs work] Add a <canvas> renderer for 3D plotting
-------------------------+--------------------------------------------------
Reporter: wcauchois | Owner: was
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: graphics | Keywords:
Reviewer: | Author:
Merged: |
-------------------------+--------------------------------------------------
Comment(by wcauchois):
The attached patch implements the feature as described, although it
currently only renders in wireframe.
Try it out for yourself:
{{{
x, y = var('x y')
plot3d(sin(pi*(x^2+y^2))/2,(x,-1,1),(y,-1,1), viewer='canvas3d',
plot_points=(20, 20))
}}}
A couple of issues need to be addressed:
* Doctests. As well as documentation to make this feature visible to an
end-user.
* Solid polygons. Here we run into problems like depth-testing and
shading. I'm sure there are JavaScript libraries available for 3D
rendering using canvas. Could we plug one of these in?
* I am somewhat unsatisfied with the mechanism for rotating the model.
Currently, the X and Y position of the mouse are used to rotate the model
about the Y and X axes. But this can result in unexpected rotations, due
to the inadequacy of Euler angles (wherein one rotation configuration can
be represented in multiple ways). I'm aware of a better method for user
interaction with a 3D viewer called
[http://rainwarrior.thenoos.net/dragon/arcball.html Arcball], but that
looks too complicated to do in JavaScript.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6447#comment:1>
Sage <http://sagemath.org/>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en
-~----------~----~----~----~------~----~------~--~---