Skip to content

Conversation

@bdeket
Copy link
Contributor

@bdeket bdeket commented Aug 14, 2019

Adds a 3d renderer for paramteric surfaces

this is faster than the trick used for polar3d, where an isosurface is used, since the right values for the polygons can be directly computed

also exposes a renderer for polygons, similar to lines3d

@spdegabrielle
Copy link
Member

Hi @bennn @jeapostrophe

Auto Generated Inline Image 1

this is so awesome I'm begging for this PR to be merged.
Please let em know if I can do anything to support this as I'd like all the summer picture entries to be runnable by new racketeers

Kind regards,

Stephen

@jeapostrophe jeapostrophe merged commit 6e596bd into racket:master Aug 19, 2019
@jeapostrophe
Copy link

I just tested this. It looks excellent. Good work and thank you!

@spdegabrielle
Copy link
Member

thanks @bdeket !

@spdegabrielle
Copy link
Member

@jeapostrophe and thank you Jay for responding so quickly!

alex-hhh added a commit to alex-hhh/plot that referenced this pull request Jul 16, 2020
This commit introduces the a new way of writing plot tests where a sample plot
is recorded and compared against the current rendering of the plot.  These
types of tests have the ability to automatically detect changes in the way the
plots are rendered.

This commit only adds tests for changes in racket#5 and racket#59, since these were
recently merged and had no tests, as well as racket#55 since this pull request used
3D plots, and I wanted to validate the method for 3D plots as well.

Instead of comparing bitmap or vector images, plots are rendered using
`plot/dc` or `plot3d/dc` to a special `record-dc%` object and the draw steps
are written to a file. When running the tests, the new set of draw steps are
generated and compared to the saved ones.

The `record-dc%` used for drawing is updated to report consistent values for
text dimensions, regardless of the font -- this allows the data files to be
used across different platforms which would generate slightly different plot
images due to different fonts being available.

In addition to this, a sample PNG image is saved for each plot -- this allows
the user to manually run the tests and having something to compare the result.

The verification steps are automated in `check-draw-steps` and
`check-draw-steps3d` such that, when a verification fails, a new set of draw
steps are written to file, as well as a new sample image.

The GitHub Actions `ci.yml` has been updated to upload these files as an
artifact, so we have the data to analyze failed runs on GitHub Actions. The
test will work fine without this feature, so they can be run on DrDr or the
users computer.
@bdeket bdeket deleted the parametric-surface3d branch September 10, 2020 10:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants