Opened 6 years ago

Last modified 6 weeks ago

#14428 new enhancement

Tachyon objects should be able to accept 3d plots and fields from sage.

Reported by: anton_t Owned by: anton_t
Priority: major Milestone: sage-wishlist
Component: graphics Keywords: tachyon 3d plot raytrace
Cc: niles, paulmasson, slelievre Merged in:
Authors: anton_t Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description

Currently the sage objects created by

sage: t = Tachyon() 

only accept certain drawn primitives that are predefined inside sage/plot/plot3d/tachyon.py after they are created, e.g. using sphere, plane, cylinder methods to insert those figures. General sage 3d plots can't be added to such scenes. A round about method using

sage: var('x y')
(x, y)
sage: a = plot3d(sin(x+y), (x, -4, 4), (y, -4, 4))
sage: tachyon_rt(a.tachyon())

is possible, however most of the options are hard-coded into sage/plot/plot3d/base.pyx. Even worse the whole scene is treated as one large text file making any further manipulation difficult at best.

Attachments (2)

tachyon.patch (4.5 KB) - added by anton_t 6 years ago.
patch to tachyon.py to enable general 3d objects to be inserted into tachyon scenes.
tachyon_converter.sage (3.3 KB) - added by niles 5 years ago.
helpers to convert graphics objects to Tachyon or join two Tachyon objects

Download all attachments as: .zip

Change History (12)

Changed 6 years ago by anton_t

patch to tachyon.py to enable general 3d objects to be inserted into tachyon scenes.

comment:1 Changed 6 years ago by anton_t

  • Summary changed from Tachyon objects should be able to accept complex scenes. to Tachyon objects should be able to accept 3d plots and fields from sage.

comment:2 Changed 6 years ago by anton_t

  • Milestone changed from sage-5.10 to sage-5.9

comment:3 Changed 6 years ago by jdemeyer

  • Milestone changed from sage-5.11 to sage-5.12

comment:4 Changed 5 years ago by vbraun_spam

  • Milestone changed from sage-6.1 to sage-6.2

comment:5 Changed 5 years ago by niles

  • Cc niles added

This definitely needs to be done :) I'm not sure of the best way to go about it -- I had a different approach in mind, and yet another way is outlined at this AskSage answer.

comment:6 Changed 5 years ago by vbraun_spam

  • Milestone changed from sage-6.2 to sage-6.3

comment:7 Changed 5 years ago by vbraun_spam

  • Milestone changed from sage-6.3 to sage-6.4

Changed 5 years ago by niles

helpers to convert graphics objects to Tachyon or join two Tachyon objects

comment:8 Changed 5 years ago by niles

I've cleaned up and attached some function definitions that outline the approach I had in mind. Part of it is similar to the approach of anton_t, but it also includes some code for extracting a tachyon scene string from a graphics object and some code for joining the objects from a scene string into another Tachyon object.

It's still in a very sketchy state, and I'm not yet sure this is the best approach, but it's what I have at the moment :)

comment:9 Changed 3 years ago by paulmasson

  • Cc paulmasson added

comment:10 Changed 6 weeks ago by slelievre

  • Cc slelievre added
  • Milestone changed from sage-6.4 to sage-wishlist
Note: See TracTickets for help on using tickets.