首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自LightSource RayTracing的光线方向

来自LightSource RayTracing的光线方向
EN

Stack Overflow用户
提问于 2013-07-20 08:15:17
回答 1查看 101关注 0票数 1

好的,我上了这门课

代码语言:javascript
复制
public sealed class LightSource
{
    public readonly Point3D Source;
    public readonly Point3D Direction;

    public readonly float ConeAngle;

    public List<Ray> Lights { get; private set; }

    public const double MaxRadian = 2.0 * Math.PI;

    public LightSource(Point3D source, Point3D direction, float coneAngle)
    {
        this.Source = source;
        this.Direction = direction;

        if (coneAngle <= 0 || coneAngle > LightSource.MaxRadian)
        {
            throw new ArgumentException("coneAngle <= 0 || coneAngle > LightSource.MaxRadian");
        }

        this.ConeAngle = coneAngle;
        this.Lights = LightSource.GenerateLights(this.Source, this.Direction, this.ConeAngle);
    }

    public static List<Ray> GenerateLights(Point3D source, Point3D direction, float coneAngle)
    {
        //How would i do this?
    }
}

我如何实现GenerateLights方法来给出我的圆锥角内的光线列表。假设射线的数量是一个常数。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-20 08:42:36

我不是专家,但只是给你一个起点:也许你可以放置一个垂直于你瞄准的方向的网格,并且只保留与方向夹角在coneAngle内的光线?

ASCII艺术:

代码语言:javascript
复制
                                      +--+--+
                                      |  |  |
                                      +--+--+
                     direction        |  |  |    
staring point ----------------------> +--+--+
                                      |  |  |
                                      +--+--+
                                      |  |  |  
                                      +--+--+

假设网格垂直于“方向”矢量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17757331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档