diff --git a/src/SVG/Guideline.vue b/src/SVG/Guideline.vue index 685f8c5..2f6409e 100644 --- a/src/SVG/Guideline.vue +++ b/src/SVG/Guideline.vue @@ -33,10 +33,19 @@ const aov = computed(() => { const focalPlaneTop = vec(focal.value.x, -focal.value.d) const focalPlaneBottom = vec(focal.value.x, focal.value.d) - const inner = focalPlaneTop.sub(lensTop).normalize().mul(infR.value) - const outer = focalPlaneBottom.sub(lensTop).normalize().mul(infR.value) + const middleOuter = focalPlaneTop.sub(lensTop) + const middleInner = focalPlaneBottom.sub(lensTop) - return { inner, outer } + const inner = middleOuter.copy().normalize().mul(infR.value) + const outer = middleInner.copy().normalize().mul(infR.value) + + // Over infinity + if (lens.value.x + lens.value.f > sensor.value.x) { + middleOuter.minus().normalize().mul(infR.value) + middleInner.minus().normalize().mul(infR.value) + } + + return { middleInner, middleOuter, inner, outer } }) // Depth of field @@ -75,18 +84,23 @@ const dof = computed(() => { + + + + + + + + + + + + + + + - - - - - - - - - -