diff options
Diffstat (limited to 'Build/source/utils/asymptote/base/three.asy')
-rw-r--r-- | Build/source/utils/asymptote/base/three.asy | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Build/source/utils/asymptote/base/three.asy b/Build/source/utils/asymptote/base/three.asy index 528a1da13c1..4221646f632 100644 --- a/Build/source/utils/asymptote/base/three.asy +++ b/Build/source/utils/asymptote/base/three.asy @@ -251,9 +251,12 @@ projection operator * (transform3 t, projection P) projection P=P.copy(); if(!P.absolute) { P.camera=t*P.camera; - P.normal=t*(P.target+P.normal); + triple target=P.target; P.target=t*P.target; - P.normal -= P.target; + if(P.infinity) + P.normal=t*(target+P.normal)-P.target; + else + P.normal=P.vector(); P.calculate(); } return P; |