Calculator Inputs
Example Data Table
| Use Case | Tangent | Normal | Method | Expected Binormal |
|---|---|---|---|---|
| Basic right handed frame | (1, 0, 0) | (0, 1, 0) | T × N | (0, 0, 1) |
| Reversed orientation | (1, 0, 0) | (0, 1, 0) | N × T | (0, 0, -1) |
| Mirrored tangent space | (1, 0, 0) | (0, 1, 0) | T × N, handedness -1 | (0, 0, -1) |
| Triangle UV basis | From P and UV | From triangle face | UV bitangent formula | Depends on texture layout |
Formula Used
For direct vector input, the standard binormal formula is:
B = T × N
Here, T is the tangent vector, N is the normal vector, and B is the binormal vector. The cross product creates a vector perpendicular to both input vectors.
The alternate orientation is:
B = N × T
This reverses the sign of the result. It is useful when a graphics engine uses the opposite tangent space convention.
For triangle and UV mode:
f = 1 / ((U1 - U0)(V2 - V0) - (U2 - U0)(V1 - V0))
B = f × (-(U2 - U0) × Edge1 + (U1 - U0) × Edge2)
The calculator also supports handedness. A value of -1 flips the final binormal.
How To Use This Calculator
Select direct mode when you already know the tangent and normal vectors. Enter X, Y, and Z components for both vectors. Pick T × N for a Frenet style binormal. Pick N × T when your rendering pipeline expects that convention.
Select triangle mode when you want to compute a tangent space from geometry. Enter three vertex positions. Then enter matching UV coordinates. Use the UV bitangent formula for mesh based shading work. Enable normalization when you need a unit length vector for lighting, normal mapping, or shader export.
After submitting, the result appears above the form. Review the dot checks. Values near zero mean the binormal is perpendicular to the related vectors. Export the result as CSV or PDF for records.
Article: Binormal Vectors In Computer Graphics
What A Binormal Represents
A binormal vector helps define local direction around a curve, surface, or mesh triangle. In computer graphics, it often works with a tangent and a normal. Together, these three vectors form a tangent space basis. This basis lets a shader understand surface detail in a local frame.
Why It Matters
Normal maps store small surface changes in texture space. A renderer must convert that texture direction into world space or view space. The tangent points along one texture axis. The binormal points along the other texture axis. The normal points outward from the surface. When these directions are correct, light reacts naturally.
Direct Vector Method
The simplest method uses a cross product. If the tangent and normal are known, the binormal can be found with B = T × N. Some engines use B = N × T instead. The difference is direction. The magnitude may change when the input vectors are not unit length. Normalizing the result makes the output easier to use.
Triangle And UV Method
Meshes often need tangent space from triangle vertices and UV coordinates. The calculator uses edges from the triangle. It also uses changes in U and V texture coordinates. These values show how the texture lies across the face. A small determinant can mean broken or overlapping UVs.
Handedness And Mirroring
Mirrored UV islands can flip tangent space. Many engines store a handedness sign with the tangent. The binormal can then be rebuilt with a cross product and that sign. This saves memory and keeps shading consistent.
Quality Checks
Dot products help verify the result. A binormal should be close to perpendicular to the tangent and normal. The dot checks should be near zero. Large values may show bad input, unusual scaling, or a mismatched convention. This calculator reports those checks so you can diagnose tangent space problems before exporting data.
FAQs
What is a binormal vector?
A binormal vector is a direction perpendicular to the tangent and normal. In graphics, it is often called the bitangent. It helps form the local basis used for shading and normal mapping.
Is binormal the same as bitangent?
In many graphics workflows, yes. Bitangent is the common mesh shading term. Binormal is common in curve and frame math. Both usually describe the third axis of a tangent space basis.
Which formula should I use?
Use T × N when your convention expects that orientation. Use N × T when your engine or shader uses the opposite orientation. Test with a known normal map if unsure.
Why is my result zero?
A zero result usually means one vector is zero, or the tangent and normal are parallel. A cross product needs two nonparallel directions to create a useful perpendicular vector.
Should I normalize the binormal?
Yes, for most rendering and shader uses. Unit vectors make lighting calculations stable. Leave it unnormalized only when you need to inspect raw scale or intermediate math.
What does handedness mean?
Handedness is a sign that flips the binormal direction. It is useful for mirrored UVs and compact tangent space storage. Many engines store this sign in tangent.w.
What are dot checks?
Dot checks test perpendicularity. B · T and B · N should be near zero. If they are large, review vector inputs, normalization, or orientation settings.
When should I use triangle mode?
Use triangle mode when building tangent space from mesh geometry. It uses vertex positions and UV coordinates to estimate tangent and binormal directions for textured shading.