add sphere
This commit is contained in:
25
src/test/java/eu/jonahbauer/raytracing/shape/SphereTest.java
Normal file
25
src/test/java/eu/jonahbauer/raytracing/shape/SphereTest.java
Normal file
@@ -0,0 +1,25 @@
|
||||
package eu.jonahbauer.raytracing.shape;
|
||||
|
||||
import eu.jonahbauer.raytracing.math.Ray;
|
||||
import eu.jonahbauer.raytracing.math.Vec3;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
class SphereTest {
|
||||
|
||||
@Test
|
||||
void hit() {
|
||||
var center = new Vec3(1, 2, 3);
|
||||
var radius = 5;
|
||||
var sphere = new Sphere(center, radius);
|
||||
|
||||
var origin = new Vec3(6, 7, 8);
|
||||
var direction = new Vec3(-1, -1, -1);
|
||||
var ray = new Ray(origin, direction);
|
||||
|
||||
var t = sphere.hit(ray);
|
||||
assertFalse(Double.isNaN(t));
|
||||
assertEquals(center.plus(new Vec3(1, 1, 1).unit().times(radius)), ray.at(t));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user