René's URL Explorer Experiment


Title: BUG: Ensure that distinct polygon collections are shaded identically by eric-wieser · Pull Request #12792 · matplotlib/matplotlib · GitHub

Open Graph Title: BUG: Ensure that distinct polygon collections are shaded identically by eric-wieser · Pull Request #12792 · matplotlib/matplotlib

X Title: BUG: Ensure that distinct polygon collections are shaded identically by eric-wieser · Pull Request #12792 · matplotlib/matplotlib

Description: Right now, shading ratios are computed by computing a shade in [-1, 1] for each face from the normal vector, and then normalizing across the polygon collection so that the brightest face has shade=1, and the dimmest shade=0.5. This behaves poorly with multiple polygon collections, as the normalization is internal to each. This results in two polygons with the same orientation but in different collections ending up with different shadings. Notably, this obstructs the shading of ax.voxels(). This approach instead scales [-1, 1] to [0.4, 1], ignoring the local brightness minima and maxima within a collection. Some more noticeable effects of this change: Highlights will be darker, unless they were already directly facing the light source Contrast between extreme highlights and shadows will be slightly greater (from 1:0.5 to 1:0.4) PR Summary PR Checklist Has Pytest style unit tests Code is Flake 8 compliant New features are documented, with examples if plot related Documentation is sphinx and numpydoc compliant Added an entry to doc/users/next_whats_new/ if major new feature (follow instructions in README.rst there) Documented in doc/api/api_changes.rst if API changed in a backward-incompatible way

Open Graph Description: Right now, shading ratios are computed by computing a shade in [-1, 1] for each face from the normal vector, and then normalizing across the polygon collection so that the brightest face has shade=...

X Description: Right now, shading ratios are computed by computing a shade in [-1, 1] for each face from the normal vector, and then normalizing across the polygon collection so that the brightest face has shade=...

Opengraph URL: https://github.com/matplotlib/matplotlib/pull/12792

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:67eba40c-9623-219f-8567-a629bea0b4de
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id810A:2373A7:1F652EB:2D8FD8A:6A54FD29
html-safe-nonce9701fe043749a7ad9931b3001b412d5d11660837ed51d1e1c903a9e3be18e987
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4MTBBOjIzNzNBNzoxRjY1MkVCOjJEOEZEOEE6NkE1NEZEMjkiLCJ2aXNpdG9yX2lkIjoiODIwNTg5MTE3MjM2NTA0MDkzNyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmace9824862ab8f4d6da0faff8d26d4776a7d5fa207f783d2ccc2ecc4762d86118c
hovercard-subject-tagpull_request:229988987
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/matplotlib/matplotlib/pull/12792/files
twitter:imagehttps://avatars.githubusercontent.com/u/425260?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/425260?s=400&v=4
og:image:altRight now, shading ratios are computed by computing a shade in [-1, 1] for each face from the normal vector, and then normalizing across the polygon collection so that the brightest face has shade=...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneeae2aab99907699a22d2c8449aa683ca74454fca87211b98f7c7b722086b2839
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/matplotlib/matplotlib git https://github.com/matplotlib/matplotlib.git
octolytics-dimension-user_id215947
octolytics-dimension-user_loginmatplotlib
octolytics-dimension-repository_id1385122
octolytics-dimension-repository_nwomatplotlib/matplotlib
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1385122
octolytics-dimension-repository_network_root_nwomatplotlib/matplotlib
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release6a35ab858be185cd86d12b93a43bccf34e8d8536
ui-targetcanary-1
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/matplotlib/matplotlib/pull/12792/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmatplotlib%2Fmatplotlib%2Fpull%2F12792%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmatplotlib%2Fmatplotlib%2Fpull%2F12792%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=matplotlib%2Fmatplotlib
Reloadhttps://github.com/matplotlib/matplotlib/pull/12792/files
Reloadhttps://github.com/matplotlib/matplotlib/pull/12792/files
Reloadhttps://github.com/matplotlib/matplotlib/pull/12792/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/12792/files
matplotlib https://github.com/matplotlib
matplotlibhttps://github.com/matplotlib/matplotlib
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/12792/files
Notifications https://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib
Fork 8.4k https://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib
Star 23k https://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib
Code https://github.com/matplotlib/matplotlib
Issues 1.1k https://github.com/matplotlib/matplotlib/issues
Pull requests 409 https://github.com/matplotlib/matplotlib/pulls
Actions https://github.com/matplotlib/matplotlib/actions
Projects https://github.com/matplotlib/matplotlib/projects
Wiki https://github.com/matplotlib/matplotlib/wiki
Security and quality 0 https://github.com/matplotlib/matplotlib/security
Insights https://github.com/matplotlib/matplotlib/pulse
Code https://github.com/matplotlib/matplotlib
Issues https://github.com/matplotlib/matplotlib/issues
Pull requests https://github.com/matplotlib/matplotlib/pulls
Actions https://github.com/matplotlib/matplotlib/actions
Projects https://github.com/matplotlib/matplotlib/projects
Wiki https://github.com/matplotlib/matplotlib/wiki
Security and quality https://github.com/matplotlib/matplotlib/security
Insights https://github.com/matplotlib/matplotlib/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fmatplotlib%2Fmatplotlib%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib%2Fissues%2Fnew%2Fchoose
timhoffmhttps://github.com/timhoffm
matplotlib:masterhttps://github.com/matplotlib/matplotlib/tree/master
eric-wieser:uniform-shadinghttps://github.com/eric-wieser/matplotlib/tree/uniform-shading
Conversation 4 https://github.com/matplotlib/matplotlib/pull/12792
Commits 3 https://github.com/matplotlib/matplotlib/pull/12792/commits
Checks 0 https://github.com/matplotlib/matplotlib/pull/12792/checks
Files changed https://github.com/matplotlib/matplotlib/pull/12792/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/12792/files
BUG: Ensure that distinct polygon collections are shaded identically https://github.com/matplotlib/matplotlib/pull/12792/files#top
Show all changes 3 commits https://github.com/matplotlib/matplotlib/pull/12792/files
92d7ecc BUG: Ensure that distinct polygon collections are shaded identically eric-wieser Nov 11, 2018 https://github.com/matplotlib/matplotlib/pull/12792/commits/92d7ecc185c807a335834eb7b9052b879c8e4952
9471695 fixup: Resolve PEP8 complaints eric-wieser Nov 27, 2018 https://github.com/matplotlib/matplotlib/pull/12792/commits/94716955a655c285574f13f3724095e394da3896
571b9fa Merge branch 'master' into uniform-shading eric-wieser Dec 11, 2018 https://github.com/matplotlib/matplotlib/pull/12792/commits/571b9fa6548425a1c6d4b8eefaa8486cf6560f1e
Clear filters https://github.com/matplotlib/matplotlib/pull/12792/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/12792/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/12792/files
axes3d.py https://github.com/matplotlib/matplotlib/pull/12792/files#diff-a67656224bfb26dc6de0a0f89e398cd6999377d1482aca3e867ee550ff05be57
bar3d_shaded.png https://github.com/matplotlib/matplotlib/pull/12792/files#diff-e2287e97ee1b1a35a20c5175400ac3c1dc0d5f94ca2fe7d4e8d8673dddc69bc6
mixedsubplot.pdf https://github.com/matplotlib/matplotlib/pull/12792/files#diff-ba8d83c2da161a6b262fa3f18f47b96f7903c5183a941689d8b29a92ba9f2f6f
mixedsubplot.png https://github.com/matplotlib/matplotlib/pull/12792/files#diff-5df03ddad6963863a81ecff30550c36b20a2e726ecea86a27e28c726defc15ee
surface3d_shaded.png https://github.com/matplotlib/matplotlib/pull/12792/files#diff-21cfe56a20210f3595dd81bca5ea34a333470d773c68627c7b12977249d238e0
trisurf3d_shaded.png https://github.com/matplotlib/matplotlib/pull/12792/files#diff-c8ccfc757072fa5e7c9ce72bd748e18ae82a9f0fef9c2a92ba66568e63f2f620
lib/mpl_toolkits/mplot3d/axes3d.pyhttps://github.com/matplotlib/matplotlib/pull/12792/files#diff-a67656224bfb26dc6de0a0f89e398cd6999377d1482aca3e867ee550ff05be57
View file https://github.com/eric-wieser/matplotlib/blob/571b9fa6548425a1c6d4b8eefaa8486cf6560f1e/lib/mpl_toolkits/mplot3d/axes3d.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/matplotlib/matplotlib/pull/12792/{{ revealButtonHref }}
https://github.com/matplotlib/matplotlib/pull/12792/files#diff-a67656224bfb26dc6de0a0f89e398cd6999377d1482aca3e867ee550ff05be57
https://github.com/matplotlib/matplotlib/pull/12792/files#diff-a67656224bfb26dc6de0a0f89e398cd6999377d1482aca3e867ee550ff05be57
lib/mpl_toolkits/tests/baseline_images/test_mplot3d/bar3d_shaded.pnghttps://github.com/matplotlib/matplotlib/pull/12792/files#diff-e2287e97ee1b1a35a20c5175400ac3c1dc0d5f94ca2fe7d4e8d8673dddc69bc6
View file https://github.com/eric-wieser/matplotlib/blob/571b9fa6548425a1c6d4b8eefaa8486cf6560f1e/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/bar3d_shaded.png
Open in desktop https://desktop.github.com
Reload?https://github.com/matplotlib/matplotlib/pull/12792/files
lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.pdfhttps://github.com/matplotlib/matplotlib/pull/12792/files#diff-ba8d83c2da161a6b262fa3f18f47b96f7903c5183a941689d8b29a92ba9f2f6f
View file https://github.com/eric-wieser/matplotlib/blob/571b9fa6548425a1c6d4b8eefaa8486cf6560f1e/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.pdf
Open in desktop https://desktop.github.com
lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.pnghttps://github.com/matplotlib/matplotlib/pull/12792/files#diff-5df03ddad6963863a81ecff30550c36b20a2e726ecea86a27e28c726defc15ee
View file https://github.com/eric-wieser/matplotlib/blob/571b9fa6548425a1c6d4b8eefaa8486cf6560f1e/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.png
Open in desktop https://desktop.github.com
Reload?https://github.com/matplotlib/matplotlib/pull/12792/files
lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d_shaded.pnghttps://github.com/matplotlib/matplotlib/pull/12792/files#diff-21cfe56a20210f3595dd81bca5ea34a333470d773c68627c7b12977249d238e0
View file https://github.com/eric-wieser/matplotlib/blob/571b9fa6548425a1c6d4b8eefaa8486cf6560f1e/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d_shaded.png
Open in desktop https://desktop.github.com
Reload?https://github.com/matplotlib/matplotlib/pull/12792/files
lib/mpl_toolkits/tests/baseline_images/test_mplot3d/trisurf3d_shaded.pnghttps://github.com/matplotlib/matplotlib/pull/12792/files#diff-c8ccfc757072fa5e7c9ce72bd748e18ae82a9f0fef9c2a92ba66568e63f2f620
View file https://github.com/eric-wieser/matplotlib/blob/571b9fa6548425a1c6d4b8eefaa8486cf6560f1e/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/trisurf3d_shaded.png
Open in desktop https://desktop.github.com
Reload?https://github.com/matplotlib/matplotlib/pull/12792/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.