Opened 4 years ago

Last modified 4 years ago

#24335 new enhancement

Create a complex_plot3d function.

Reported by: charpent Owned by:
Priority: major Milestone: sage-8.2
Component: graphics Keywords:
Cc: Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: #24331 Stopgaps:

Status badges

Description (last modified by charpent)

[ Inspired by this ask.sagemath question ]

The complex_plot function allows us to plot a complex function, using brightness (a. k. a. hue) to represent the modulus and color (a. k. a. value) to represent this argument. This is in fact an (over-) simplified version of domain coloring.

This representation is hard to use for functions with a large range of modules : zeroes (i. e. black spots) are quite hard to pinpoint in a dark background (happens when the function is continuous at its zeroes), poles (i. e. white spots) are usually indistinguishable from a bight and light environment. Furthermore, people with color vision impairment may have these problems worsened for them.

A popular representation of complex function is to use a 3D plot, using z to represent the modulus of f(x+I*y), using color to represent the argument ; this is, for example, the representation used by the Digital Library of Mathematica Functions, a. k. a. Abramowitz and Stegun on the Web, which also defines a specific mapping of argument to color aiming at easing the interpretation of the graphs.

Using some undocumented features of our 3D plotting infrastructure (see #24331), creating such a 3D-plot of a complex function is almost trivial (poles need special handling). The trick is to do if fast...

In order to avoid to loose these functions at the next upgrade of our 3D infrastructure, we depend on the documentation of these features.

Change History (2)

comment:1 Changed 4 years ago by charpent

  • Description modified (diff)

comment:2 Changed 4 years ago by charpent

  • Description modified (diff)
Note: See TracTickets for help on using tickets.