Fast Inverse Square Root
   HOME
*



picture info

Fast Inverse Square Root
Fast inverse square root, sometimes referred to as Fast InvSqrt() or by the hexadecimal constant 0x5F3759DF, is an algorithm that estimates \frac, the Multiplicative inverse, reciprocal (or multiplicative inverse) of the square root of a 32-bit floating-point number x in Single-precision floating-point format#IEEE 754 single-precision binary floating-point format: binary32, IEEE 754 floating-point format. This operation is used in digital signal processing to Unit vector, normalize a vector, such as scaling it to length 1. For example, computer graphics programs use inverse square roots to compute angle of incidence (optics), angles of incidence and Reflection (computer graphics), reflection for computer graphics lighting, lighting and shading. Predated by similar video game algorithms, this one is best known for its implementation in 1999 in ''Quake III Arena'', a first-person shooter video game heavily based on 3D graphics. The algorithm only started appearing on public forums ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Logical Shift
In computer science, a logical shift is a bitwise operation that shifts all the bits of its operand. The two base variants are the logical left shift and the logical right shift. This is further modulated by the number of bit positions a given value shall be shifted, such as ''shift left by 1'' or ''shift right by n''. Unlike an arithmetic shift, a logical shift does not preserve a number's sign bit or distinguish a number's exponent from its significand (mantissa); every bit in the operand is simply moved a given number of bit positions, and the vacant bit-positions are filled, usually with zeros, and possibly ones (contrast with a circular shift). A logical shift is often used when its operand is being treated as a sequence of bits instead of as a number. Logical shifts can be useful as efficient ways to perform multiplication or division of unsigned integers by powers of two. Shifting left by ''n'' bits on a signed or unsigned binary number has the effect of multiplyin ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Unit Vector
In mathematics, a unit vector in a normed vector space is a vector (often a spatial vector) of length 1. A unit vector is often denoted by a lowercase letter with a circumflex, or "hat", as in \hat (pronounced "v-hat"). The term ''direction vector'', commonly denoted as d, is used to describe a unit vector being used to represent spatial direction and relative direction. 2D spatial directions are numerically equivalent to points on the unit circle and spatial directions in 3D are equivalent to a point on the unit sphere. The normalized vector û of a non-zero vector u is the unit vector in the direction of u, i.e., :\mathbf = \frac where , u, is the norm (or length) of u. The term ''normalized vector'' is sometimes used as a synonym for ''unit vector''. Unit vectors are often chosen to form the basis of a vector space, and every vector in the space may be written as a linear combination of unit vectors. Orthogonal coordinates Cartesian coordinates Unit vectors may be us ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Vector Components
In mathematics, physics, and engineering, a Euclidean vector or simply a vector (sometimes called a geometric vector or spatial vector) is a geometric object that has Magnitude (mathematics), magnitude (or euclidean norm, length) and Direction (geometry), direction. Vectors can be added to other vectors according to vector algebra. A Euclidean vector is frequently represented by a ''directed line segment'', or graphically as an arrow connecting an ''initial point'' ''A'' with a ''terminal point'' ''B'', and denoted by \overrightarrow . A vector is what is needed to "carry" the point ''A'' to the point ''B''; the Latin word ''vector'' means "carrier". It was first used by 18th century astronomers investigating planetary revolution around the Sun. The magnitude of the vector is the distance between the two points, and the direction refers to the direction of Displacement (geometry), displacement from ''A'' to ''B''. Many algebraic operations on real numbers such as addition, subtr ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Euclidean Norm
Euclidean space is the fundamental space of geometry, intended to represent physical space. Originally, that is, in Euclid's ''Elements'', it was the three-dimensional space of Euclidean geometry, but in modern mathematics there are Euclidean spaces of any positive integer dimension, including the three-dimensional space and the '' Euclidean plane'' (dimension two). The qualifier "Euclidean" is used to distinguish Euclidean spaces from other spaces that were later considered in physics and modern mathematics. Ancient Greek geometers introduced Euclidean space for modeling the physical space. Their work was collected by the ancient Greek mathematician Euclid in his ''Elements'', with the great innovation of '' proving'' all properties of the space as theorems, by starting from a few fundamental properties, called ''postulates'', which either were considered as evident (for example, there is exactly one straight line passing through two points), or seemed impossible to prove (par ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Transform, Clipping, And Lighting
Transform, clipping, and lighting (T&L or TCL) is a term used in computer graphics. Overview Transformation is the task of producing a two-dimensional view of a three-dimensional scene. Clipping means only drawing the parts of the scene that will be present in the picture after rendering is completed. Lighting is the task of altering the colour of the various surfaces of the scene on the basis of lighting information. Hardware Hardware T&L had been used by arcade game system boards since 1993, and by home video game consoles since the Sega Genesis's Virtua Processor (SVP), Sega Saturn's SCU-DSP and Sony PlayStation's GTE in 1994 and the Nintendo 64's RSP in 1996, though it wasn't traditional hardware T&L, but still software T&L running on a coprocessor instead of the main CPU, and could be used for rudimentary programmable pixel and vertex shaders as well. More traditional hardware T&L would appear on consoles with the GameCube and Xbox in 2001 (the PS2 still using a vector co ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Lambert's Cosine Law
In optics, Lambert's cosine law says that the radiant intensity or luminous intensity observed from an ideal diffusely reflecting surface or ideal diffuse radiator is directly proportional to the cosine of the angle ''θ'' between the direction of the incident light and the surface normal; I = I0cos(''θ'').RCA Electro-Optics Handbook, p.18 ffModern Optical Engineering, Warren J. Smith, McGraw-Hill, p. 228, 256 The law is also known as the cosine emission law or Lambert's emission law. It is named after Johann Heinrich Lambert, from his ''Photometria'', published in 1760. A surface which obeys Lambert's law is said to be ''Lambertian'', and exhibits Lambertian reflectance. Such a surface has the same radiance when viewed from any angle. This means, for example, that to the human eye it has the same apparent brightness (or luminance). It has the same radiance because, although the emitted power from a given area element is reduced by the cosine of the emission angle, the so ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Reflection For Semicircular Mirror
Reflection or reflexion may refer to: Science and technology * Reflection (physics), a common wave phenomenon ** Specular reflection, reflection from a smooth surface *** Mirror image, a reflection in a mirror or in water ** Signal reflection, in signal transmission * Elastic scattering, a process in nuclear and particle physics * Reflection nebula, a nebula that is extended and has no boundaries * Reflection seismology or seismic reflection, a method of exploration geophysics Mathematics * Reflection principle, in set theory * Point reflection, a reflection across a point * Reflection (mathematics), a transformation of a space * Reflection formula, a relation in a function * Reflective subcategory, in category theory Computing * Reflection (computer graphics), simulation of reflective surfaces * Reflection (computer programming), a program that accesses or modifies its own code * Reflection, terminal emulation software by Attachmate Arts and entertainment Film and television * ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Surface Normals
In geometry, a normal is an object such as a line, ray, or vector that is perpendicular to a given object. For example, the normal line to a plane curve at a given point is the (infinite) line perpendicular to the tangent line to the curve at the point. A normal vector may have length one (a unit vector) or its length may represent the curvature of the object (a ''curvature vector''); its algebraic sign may indicate sides (interior or exterior). In three dimensions, a surface normal, or simply normal, to a surface at point P is a vector perpendicular to the tangent plane of the surface at P. The word "normal" is also used as an adjective: a line ''normal'' to a plane, the ''normal'' component of a force, the normal vector, etc. The concept of normality generalizes to orthogonality (right angles). The concept has been generalized to differentiable manifolds of arbitrary dimension embedded in a Euclidean space. The normal vector space or normal space of a manifold at point P i ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


CORDIC
CORDIC (for "coordinate rotation digital computer"), also known as Volder's algorithm, or: Digit-by-digit method Circular CORDIC (Jack E. Volder), Linear CORDIC, Hyperbolic CORDIC (John Stephen Walther), and Generalized Hyperbolic CORDIC (GH CORDIC) (Yuanyong Luo et al.), is a simple and efficient algorithm to calculate trigonometric functions, hyperbolic functions, square roots, multiplications, divisions, and exponentials and logarithms with arbitrary base, typically converging with one digit (or bit) per iteration. CORDIC is therefore also an example of digit-by-digit algorithms. CORDIC and closely related methods known as pseudo-multiplication and pseudo-division or factor combining are commonly used when no hardware multiplier is available (e.g. in simple microcontrollers and FPGAs), as the only operations it requires are additions, subtractions, bitshift and lookup tables. As such, they all belong to the class of shift-and-add algorithms. In computer science, CORDIC is ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Streaming SIMD Extensions
In computing, Streaming SIMD Extensions (SSE) is a single instruction, multiple data (SIMD) instruction set extension to the x86 architecture, designed by Intel and introduced in 1999 in their Pentium III series of Central processing units (CPUs) shortly after the appearance of Advanced Micro Devices (AMD's) 3DNow!. SSE contains 70 new instructions (65 unique mnemonics using 70 encodings), most of which work on single precision floating-point data. SIMD instructions can greatly increase performance when exactly the same operations are to be performed on multiple data objects. Typical applications are digital signal processing and graphics processing. Intel's first IA-32 SIMD effort was the MMX instruction set. MMX had two main problems: it re-used existing x87 floating-point registers making the CPUs unable to work on both floating-point and SIMD data at the same time, and it only worked on integers. SSE floating-point instructions operate on a new independent register set, the ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




William Kahan
William "Velvel" Morton Kahan (born June 5, 1933) is a Canadian mathematician and computer scientist, who received the Turing Award in 1989 for "''his fundamental contributions to numerical analysis''", was named an ACM Fellow in 1994, and inducted into the National Academy of Engineering in 2005. Biography Born to a Canadian Jewish family, he attended the University of Toronto, where he received his bachelor's degree in 1954, his master's degree in 1956, and his Ph.D. in 1958, all in the field of mathematics. Kahan is now emeritus professor of mathematics and of electrical engineering and computer sciences (EECS) at the University of California, Berkeley. Kahan was the primary architect behind the IEEE 754-1985 standard for floating-point computation (and its radix-independent follow-on, IEEE 854). He has been called "The Father of Floating Point", since he was instrumental in creating the original IEEE 754 specification. Kahan continued his contributions to the IEEE 754 revisio ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]