Commit Graph

58 Commits

Author SHA1 Message Date
Neil Toronto
3ed1a78713 Made plot snips resizeable 2012-02-25 22:47:09 -07:00
Neil Toronto
7d28eef00d Moved contract/c and treeof to unstable/contracts
Little plot doc fixes
2012-02-01 09:44:47 -07:00
Neil Toronto
ec96e37e09 Documented unstable/flonum 2012-02-01 09:44:47 -07:00
Neil Toronto
713772959f Clipping lines now uses exact arithmetic. Fixes visual issues with plotting inexact functions at very small scales. Every plot should render correctly at every scale now. 2012-02-01 09:44:47 -07:00
Neil Toronto
015625e732 PLoT documentation for new renderers and plot/utils (code changes are only to move code around so a previously public function could be public again)
Many little doc fixes

Closes PR 12433

Closes PR 12435

Please please please merge into release
2012-01-23 15:56:11 -07:00
Ryan Culpepper
f99d79ef10 pruned unstable/contract
Removed unused code. Removed nat/c, pos/c as they correspond to
standard predicates.
2011-12-18 13:56:00 -07:00
Neil Toronto
3e895b7072 Plot performance improvement: precalculated light, view and half dir
Color flonum-to-byte conversion handles special flonums (hopefully helps with Marijn's problem)
2011-12-07 10:56:08 -07:00
Neil Toronto
73615de58f Precision improvements for user functions that return flonums
Performance: 2d-plot-area% now uses flonums internally as much as possible
2011-12-01 13:26:36 -07:00
Neil Toronto
918c4e97a6 Fixed a bug with small (but not epsilon) flonum bounds 2011-11-28 22:09:15 -08:00
Neil Toronto
553c72ab28 Moved some flonum stuff (e.g. flatan2, flnext, +max.0, +min.0, etc.) to unstable/flonum (will document in another commit)
Moved Racket-language, doc-generating "defthing" defines to unstable/latent-contract/defthing (will document in another commit)
2011-11-25 18:40:19 -07:00
Neil Toronto
989fcc4c22 Reworked how major and minor ticks are chosen; now isosurfaces3d always shows 3-5 surfaces, and all *-ticks parameters have the same default
Contour and isosurface 'auto levels reorg
2D contours: z-min = z-max now makes empty plot instead of infinite loop
3D isosurfaces: d-min = d-max now makes empty plot instead of infinite loop
Fixed contracts and corner case on marching squares and cubes functions
Better selection box and point-label formatting
Increased timeout on extreme-bounds-tests.rkt
2011-11-24 21:59:16 -09:00
Neil Toronto
bf77e525cc Points renderers fill color option 2011-11-24 21:59:16 -09:00
Neil Toronto
57f07d516d Refactoring: plot-device% now uses dc<%>'s set-origin, simplifying uses 2011-11-24 21:59:16 -09:00
Neil Toronto
bddcd76f7f Ensure snips handle rendering errors
Fraction tick formatting more reasonable for non-ticks (e.g. selection bounds, eventually plot labels)
2011-11-24 21:59:16 -09:00
Neil Toronto
547ac9c7d8 Focus tweaks to capture off-snip movement; account for split editor 2011-11-24 21:59:16 -09:00
Neil Toronto
9c5d68ead5 Plot snips no longer get focus
Right-click on plot snips now opens editor pop-up menu
2011-11-24 21:59:16 -09:00
Neil Toronto
2f308a5323 Click and drag to zoom 2D plots
Snip refactoring
2011-11-24 21:59:15 -09:00
Neil Toronto
94373ea9f9 Move point label `radius' units from point; plug plot->dc API leak 2011-11-21 10:39:16 -07:00
Neil Toronto
a23808dd95 Use rational? instead of regular-real?, cut some cruft
Make docs compile without warnings
2011-11-20 22:23:38 -08:00
Neil Toronto
8f914f653f Better error message when plot can't determine sensible bounds 2011-11-14 22:36:27 -08:00
Neil Toronto
75f76986c3 Plots with intervals too small or too large for flonums (2D and 3D)
Bounds fixpoint computation now uses only exact rationals
Speed improvements (3d-plot-area% now uses flonums internally as much as possible)
2011-11-14 22:01:07 -08:00
Neil Toronto
20e09c9f7f Little fixes and improvements 2011-11-14 22:01:07 -08:00
Neil Toronto
a710cbb7fe Speed/readability improvements in contour, surface and isosurface renderers
Progress on customization docs
Snip fixes and UI improvements
2011-11-14 22:01:07 -08:00
Neil Toronto
723a54a4d9 Added "Axis Transforms and Ticks" doc page 2011-11-11 18:12:40 -07:00
Neil Toronto
233323faac Faster 3D animation: now caches actual shapes drawn 2011-11-10 12:59:43 -07:00
Neil Toronto
bf2fbbbc49 3D stacked histograms
2D inverted histograms
2011-11-10 12:59:43 -07:00
Neil Toronto
8b93de59c6 Abstracted render-thread into worker-thread (preparing for animated 2D plots)
Endpoint-indifferent line styles (allows styles in finely chopped lines)
Adjacent polygons now gapless (faces drawn w/o antialiasing; jaggies mitigated by supersampling)
2011-11-10 12:59:43 -07:00
Neil Toronto
5bd8481aa7 2D stacked histograms, grouped histograms, collapse indistinguishable ticks, doc tests, fixes 2011-11-10 12:59:43 -07:00
Neil Toronto
56f70fb4f2 Exposed marching squares and cubes algorithms through plot/utils, speed improvements, fixes 2011-11-10 12:59:43 -07:00
Neil Toronto
ee71e01c13 Changed bounds argument contracts to (or/c regular-real? #f) 2011-11-10 12:59:43 -07:00
Neil Toronto
e878c80f0f Adjusted light position so that at default angles, all visible rectangle faces have different shading;
used mild front+side lighting (e.g. late morning with the sun behind and to the left)
Fixed a tick collapse error (calculated wrong average position of collapsed ticks)
2011-11-10 12:59:43 -07:00
Neil Toronto
d477352c98 Small fixes, refactoring
Began finalizing the public interface to plot-device%
2011-11-10 12:59:42 -07:00
Neil Toronto
6bed60452a Began finalizing public interface to *d-plot-area% classes 2011-11-10 12:59:42 -07:00
Neil Toronto
a4f245b273 Speed improvements in clipping 2011-11-10 12:59:42 -07:00
Neil Toronto
d953a093c7 Refactored margin fixpoint computation 2011-11-10 12:59:42 -07:00
Neil Toronto
dd471b4d73 Rename area.rkt -> plot-area.rkt 2011-11-10 12:59:42 -07:00
Neil Toronto
5a379b7236 Refactor *d-plot-area%; they are now containers for plot-device% instead of descendants of plot-area% 2011-11-10 12:59:42 -07:00
Neil Toronto
596e8b3775 Polar axes use r ticks
Removed r and d transforms (r needs design, d is useless)
2011-11-10 12:59:42 -07:00
Neil Toronto
4ae9ecf28e Subdivide nonlinearly transformed 3D shapes
Detect possible nonconvergence in plot bounds fixpoint calculation
Collapse nearby 3D ticks
2011-11-10 12:59:42 -07:00
Neil Toronto
639ec15125 Added 'isoline' and 'isoline*' aliases for contour functions.
Added #:family argument to 2D label functions.
Various little fixes.
2011-11-10 12:59:41 -07:00
Neil Toronto
dab5caf67c Expanded numbered colors to 128 2011-11-10 12:59:41 -07:00
Neil Toronto
e90ec4b69f Added unstable/latent-contract
Reorganized contracts
Started exposing customization API in plot/utils
Now dog-fooding customization API in earnest
2011-11-10 12:59:41 -07:00
Neil Toronto
6b39863f1c Source reorg
Added non-rendering plot elements
Optimizations
2011-11-10 12:59:41 -07:00
Neil Toronto
ae64e8683a Parameter groups 2011-11-10 12:59:41 -07:00
Neil Toronto
afadbbf0d1 Parameter lists
Some tick changes
Allow #f in renderer fields
2011-11-10 12:59:41 -07:00
Neil Toronto
27538e1214 Better save/restore of parameters in plot-pict and plot3d-pict 2011-11-10 12:59:41 -07:00
Neil Toronto
4ca0729a2f Combined renderer structs and fixpoint bounds determination 2011-11-10 12:59:41 -07:00
Neil Toronto
f593d468f7 Finished first draft of tick/axis overhaul 2011-11-10 12:59:41 -07:00
Neil Toronto
f182a2719f Adjusted appx. plot bound fixpoint computation; fixes a layout issue with multiple function renderers
Merge into 5.2
2011-11-10 12:53:52 -07:00
Neil Toronto
7270c27141 Fixed x/y mixup in 'axes'
Removed 'plot-tick-skip' parameter

Merge into 5.2
2011-10-14 22:06:15 -06:00