lygia
/space
/polar2cart
)polar to cartesian conversion.
Use:
polar2cart(<vec2> polar)
#ifndef FNC_POLAR2CART
#define FNC_POLAR2CART
vec2 polar2cart(in vec2 polar) {
return vec2(cos(polar.x), sin(polar.x)) * polar.y;
}
// https://mathworld.wolfram.com/SphericalCoordinates.html
vec3 polar2cart( in float r, in float phi, in float theta) {
float x = r * cos(theta) * sin(phi);
float y = r * sin(theta) * sin(phi);
float z = r * cos(phi);
return vec3(x, y, z);
}
#endif
Use:
polar2cart(<float2> polar)
#ifndef FNC_POLAR2CART
#define FNC_POLAR2CART
float2 polar2cart(in float2 polar) {
return float2(cos(polar.x), sin(polar.x)) * polar.y;
}
// https://mathworld.wolfram.com/SphericalCoordinates.html
float3 polar2cart( in float r, in float phi, in float theta) {
float x = r * cos(theta) * sin(phi);
float y = r * sin(theta) * sin(phi);
float z = r * cos(phi);
return float3(x, y, z);
}
#endif
Use:
polar2cart(<float2> polar)
#ifndef FNC_POLAR2CART
#define FNC_POLAR2CART
float2 polar2cart(float2 polar) { return float2(cos(polar.x), sin(polar.x)) * polar.y; }
#endif
LYGIA is dual-licensed under the Prosperity License and the Patron License for sponsors and contributors.
Sponsors and contributors are automatically added to the Patron License and they can ignore the any non-commercial rule of the Prosperity Licensed software (please take a look to the exception).
It's also possible to get a permanent comercial license hook to a single and specific version of LYGIA.
Sign up for the news letter bellow, joing the LYGIA's channel on Discord or follow the Github repository