Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Results 1 to 5 of 5

Thread: Normal and Vector of a line

  1. #1
    Intern Contributor
    Join Date
    Mar 2004
    Location
    UK, Portsmouth
    Posts
    71

    Normal and Vector of a line

    Hi,

    Am quite new to openGL and have tried my best to steer clear of any "complicated" maths. But i think i am going to have to dive in, so to speak.

    My first question is basically what is a vector and a normal??

    My program generates a tree and uses 3d lines. I would like to do some collision detection between the branches. But cant work out how to do it. I think i should do some vector maths but unsure.

    Can some one please shed some light on this.

    So just to round up my questions are:
    Whats a vector and normal
    How do i work out vector of a 3d line
    What can i do with this (in ref collision)

    Cheers, very much appreciated if someone could help

  2. #2
    Junior Member Regular Contributor
    Join Date
    Apr 2001
    Location
    U.S.
    Posts
    149

    Re: Normal and Vector of a line

    Originally posted by Andrew Davey:
    Whats a vector and normal
    How do i work out vector of a 3d line
    You can find definitions for stuff like this easily by doing Google search (e.g. normal vector).

    An n-dimensional vector (non-mathematical) is an ordered list of n real numbers that map to some n-dimensional space.

    A normal vector is a vector that is perpendicular to a plane ... computed by taking the cross product of two non-coincident vectors in the plane.

    Not sure what you meant by last question.

  3. #3
    Intern Contributor
    Join Date
    Mar 2004
    Location
    UK, Portsmouth
    Posts
    71

    Re: Normal and Vector of a line

    basically iu have a line, just straight forward 3d line from a to b. Was wondering how to create a vector of that line and then a normal.

    And what i can do with them.

    Ideally aimed towards collision detectioon between two of the lines.

    Better explanation?

  4. #4
    Junior Member Regular Contributor
    Join Date
    Apr 2001
    Location
    U.S.
    Posts
    149

    Re: Normal and Vector of a line

    // 3D vector from a to b
    vectorAB.x = b.x - a.x;
    vectorAB.y = b.y - a.y;
    vectorAB.z = b.z - a.z;

    A normal vector is a perpendicular vector to a plane. It requires at least 3 points to determine a plane. Assuming you had a third point, c.

    // 3D vector from a to c
    vectorAC.x = c.x - a.x;
    vectorAC.y = c.y - a.y;
    vectorAC.z = c.z - a.z;

    // Normal vector for plane containing points a, b, and c. Remember to normalize to magnitude of 1.
    normalPlaneABC = crossProduct(vectorAB, vectorAC);
    mag = magnitude(normalPlaneABC);
    normalPlaneABC.x /= mag;
    normalPlaneABC.y /= mag;
    normalPlaneABC.z /= mag;

    One normally doesn't think of two lines as intersecting in 3D (okay for 2D though).

    If you mean collision ... that usually implies some sort of interaction between two planes or surfaces.

  5. #5
    Junior Member Newbie
    Join Date
    Dec 2003
    Location
    Zagreb, Croatia
    Posts
    13

    Re: Normal and Vector of a line

    "My first question is basically what is a vector and a normal?"

    One of the best sources for these kind of questions is the flipcode's geometry primer. First part talks about vectors, second one is about lines ( and a lot of other things ):

    http://www.flipcode.com/geometry/

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •