Post #4080721
2026-07-24 13:13 UTC
@unnick@booping.synth.download here are two things you could try:
1) spherical area coordinates are one way of generalizing barycentric coordinates to the sphere, check out https://brsr.github.io/2023/11/04/spherical-areal.html
2) you could fit a homogeneous polynomial of the form c200*x^2 + c020*y^2 + c002*x^2 + c110*x*y + c101*x*z + c011*y*z and sample it. this framework is described in Alfeld et al. 1996 "Bernstein-Bézier polynomials on spheres and sphere-like surfaces." https://www.researchgate.net/profile/Mike-Neamtu/publication/2509001_Bernstein-B'ezier_Polynomials_on_Spheres_and_Sphere-Like_Surfaces/links/540daaef0cf2d8daaacc78c4/Bernstein-Bezier-Polynomials-on-Spheres-and-Sphere-Like-Surfaces.pdf
I have played with both approaches and...
Replies (1)
-
@matt_zucker@mastodon.social 2026-07-24 13:16
@unnick@booping.synth.download my vague recollection is that approach (1) will give the area property you want but does not reduce to slerp on the edges and (2) does reduce to slerp on the edges but doesn't have the area property but don't take my word for it without trying it out. Both approaches will handle the case of a triangle defined over (1, 0, 0), (0, 1, 0), (0, 0, 1). Let me know if it would be helpful to post a Python/numpy/matplotlib script demoing these approaches