Torus SDF

This commit is contained in:
paulevsGitch 2021-07-21 12:27:00 +03:00
parent 2bfc985403
commit 5fbb2e03b5

View file

@ -0,0 +1,24 @@
package ru.bclib.sdf.primitive;
import ru.bclib.util.MHelper;
public class SDFTorus extends SDFPrimitive {
private float radiusSmall;
private float radiusBig;
public SDFTorus setBigRadius(float radius) {
this.radiusBig = radiusBig;
return this;
}
public SDFTorus setSmallRadius(float radius) {
this.radiusSmall = radiusSmall;
return this;
}
@Override
public float getDistance(float x, float y, float z) {
float nx = MHelper.length(x, z) - radiusBig;
return MHelper.length(nx, y) - radiusSmall;
}
}