aboutsummaryrefslogtreecommitdiff
path: root/vec3.go
diff options
context:
space:
mode:
Diffstat (limited to 'vec3.go')
-rw-r--r--vec3.go15
1 files changed, 14 insertions, 1 deletions
diff --git a/vec3.go b/vec3.go
index f590625..068ef6c 100644
--- a/vec3.go
+++ b/vec3.go
@@ -82,7 +82,7 @@ func RandomVec3OnUnitSphere() (v Vec3) {
i := Interval{-1, 1}
for true {
- v = i.RandomVec3()
+ v = Vec3{i.Sample(), i.Sample(), i.Sample()};
if v.MagSqr() < 1 {
v = v.Unit();
return;
@@ -92,6 +92,19 @@ func RandomVec3OnUnitSphere() (v Vec3) {
return;
}
+func RandomVec3OnUnitDisk() (v Vec3) {
+ i := Interval{-1, 1}
+
+ for true {
+ v = Vec3{i.Sample(), i.Sample(), 0};
+ if v.MagSqr() < 1 {
+ return;
+ }
+ }
+
+ return;
+}
+
func (v Vec3) Reflect(n Vec3) Vec3 {
return v.Sub(SplatVec3(2 * v.Dot(n)).Mul(n));
}