GithubHelp home page GithubHelp logo

Comments (6)

CnlPepper avatar CnlPepper commented on August 11, 2024

You could just add a ray max depth to the method and pass it through the Ray(). It'll only check for collisions within that range,

from jet.

jacklovell avatar jacklovell commented on August 11, 2024

Thanks, I'll try that.

from jet.

mattngc avatar mattngc commented on August 11, 2024

Yeah, I think you can understand why it was custom (one of Matt's usual hack jobs :)). I think you really need to be careful with this reguardless of how you do it. The issue is that the full aperture is not a simple mesh file. You need to inject some special knowledge somewhere (i.e. CSG or max ray-depth, etc) otherwise it will definitely give you wrong results. The standard method will only work for systems without further occlusion beyond the pinhole. Anything beyond that is a more compount system.

from jet.

jacklovell avatar jacklovell commented on August 11, 2024

I have to take the blame for this hack job, I'm afraid! But yes, I agree that this is a somewhat special case. I think adding an optional max ray depth to the calculate_etendue method will generalise it significantly, and so make it more useful for situations like KB1.

from jet.

jacklovell avatar jacklovell commented on August 11, 2024

For the avoidance of confusion, @CnlPepper you mean ray.max_distance rather than ray.max_depth, right?

from jet.

jacklovell avatar jacklovell commented on August 11, 2024

Fixed by #9

from jet.

Related Issues (14)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.