jdb官网中文版

    二维码

    jdb官网中文版品牌网手机版

    扫一扫关注

    jdb官网中文版品牌网微信
    当前位置: 首页 » 新闻资讯 » 品牌商机 » 正文

    代做2D surface程序、代写R程序语言、代做R语言

    放大字体  缩小字体 发布日期:2019-10-10 16:19:41    来源:jdb官网中文版品牌网     浏览次数:142    评论:0
    导读

    Notes and hints for Assignment 3Ray tracing onto a planeThe equation for a planar 2D surface oriented into 3D space is:a(x − xc) + b(y − yc) + c(z − zc) = 0where (xc, xc, xc) are the coordinat

    Notes and hints for Assignment 3

    Ray tracing onto a plane

    The equation for a planar 2D surface oriented into 3D space is:

    a(x − xc) + b(y − yc) + c(z − zc) = 0

    where (xc, xc, xc) are the coordinates of the corner of the plane and (a, b, c) are the directional

    components of the plane surface normal vector.

    It is convenient to write this in vector form (note this will work in homogeneous as well as

    Cartesian coordinates)

    N · (P − Pc) = 0

    A vector starting at point P0 and running through point P1 can be described parametrically

    as

    P = P0 + t(P1 − P0)

    We want the value of t such that this vector intersects the above plane. Substituting the

    vector equation into the plane equation, and solving for t yields:

    thit =

    N · (Pc − P0)

    N · (P1 − P0)

    The coordinates in world space of the surface of the plane where the ray hits it, is then

    simply

    Psurface = P0 + thit(P1 − P0)

    Note these are the coordinates where the ray hits anywhere on the planar surface. You will

    need additional checks to see if the intersection is within the width and height that you have

    defined for the plane.

    The vector for the surface normal is just N as above.

    Ray tracing onto the surface of a sphere

    The equation for the surface of a sphere of radius r centred at (xc, yc, zc) is

    (x − xc)

    2 + (y − yc)

    2 + (z − zc)

    2 = r

    2

    A ray can be described parametrically by x = x0 + t(x1 − x0), y = y0 + t(y1 − y0), and

    z = z0 + t(z1 − z0). Substitute these into the equation of a sphere, expand it out and gather

    all the terms and one gets a quadratic equation in t for which we solve. Constructing the

    quadratic equation this way is not difficult, but does involve some tedious algebra.

    As with the plane, we can do all this using vector maths. In vector/point form the equation

    of a sphere can be written:

    (P − Pc) · (P − Pc) = r

    2

    As before, the ray shooting equation in vector form is:

    P = P0 + t(P1 − P0)

    Substituting this for P in the equation of a sphere

    (t(P1 − P0) + P0 − Pc) · (t(P1 − P0) + P0 − Pc)

    Here we have a dot product operation involving just two vectors (ie differences between

    points). Let’s write

    U = P1 − P0

    V = P0 − Pc

    Expanding we then have:

    (U · U)t

    2 + 2(U · V)t + V · V = r

    2

    This is a quadratic equation of the form at2 + bt + c = 0 which we need to solve for t. How

    do we do it? Just recall your high school maths. In general there are two solutions for t

    given by

    You need to first look at the “discriminant” D = b

    2 − 4ac.

    • D < 0 no real solutions for t, ie the ray misses the sphere

    • D = 0 one solution for t, the ray just grazes the sphere

    • D > 0 two solutions for the sphere intersect, entry and exit

    Given this, one can then get the coordinates for the ray entry into the sphere surface.

    However, what about the surface normal vector? What property of spheres can one use to

    get this?

    Hints on matrix transformations

    Recall from the lectures, to transform an object from local coordinate space to world coordinate

    space, first we scale it, then rotate it, then displace it. This is done by a single matrix

    transformation constructed from matrices for scalings, rotations, and displacement, ie

    T = D(dx, dy, dz) · Rx(ψ) · Ry(θ) · Ry(φ) · S(sx, sy, sz)

    Consider a plane modelled in local coordinates. This has its corner at the origin, has unit

    width and height, and is located on the xy plane.

    • What are the coordinates of the corner after being transformed into world space?

    • What are the components of the surface normal of the plane in local space?

    • What are the components of the surface normal after transforming to world space?

    You are also asked to construct a matrix that does the inverse of the above—this matrix

    will come in useful. How would you do this? You do NOT have to install a linear algebra

    library to compute a matrix inverse. Just think through the steps you would have to take

    to bring an object from world space back into local space.

    Illumination model

    The full local illumination model includes an ambient term plus diffuse and specular terms

    for multiple light sources. In this assignment it is enough to consider a simplified model with

    one light source and no ambient light. The local illumination model can then be written as

    follows:

    f = βN · L + (1 − β)(V · R)

    n

    where β is the amount of mixing between the diffuse and specular terms and 0 ≤ β ≤ 1.

    Note that N, L, and R are normalized vectors. The shading factor, f, is the scale factor

    that is applied to the surface colour. You need to ensure that 0 ≤ f ≤ 1, ie check for negative

    dot products.

    因为专业,所以值得信赖。如有需要,请加QQ:99515681或邮箱:99515681@qq.com

    微信:codehelp

     
    (文/小编)
    免责声明
    本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:https://www.babescouts.com/news/pinpaishangji/81364.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们2409157061@qq.com。
    0相关评论