Skip to main content

blendNegation: Symmetric Color Equilibrium

Unity-Centered Symmetric Balance

Negation blending creates symmetric color relationships through a unity-centered equilibrium function. The mathematical formula generates white when base and blend values sum to unity, establishing a balanced pivot point for color interactions. Below this equilibrium, colors combine additively; above it, they invert subtractively.

The mathematical definition centers on unity equilibrium:

Cresult=11CbaseCblendC_{result} = 1 - |1 - C_{base} - C_{blend}|

This creates a symmetric relationship where the sum (Cbase+Cblend)(C_{base} + C_{blend}) determines output behavior around the critical point at unity.

Symmetric Equilibrium Properties

PropertyDescriptionMathematical Expression
Unity PivotWhite generation at sum unityCbase+Cblend=1Cresult=1C_{base} + C_{blend} = 1 \Rightarrow C_{result} = 1
Additive DomainDirect addition below unityCbase+Cblend<1Cresult=Cbase+CblendC_{base} + C_{blend} < 1 \Rightarrow C_{result} = C_{base} + C_{blend}
Subtractive DomainInverted subtraction above unityCbase+Cblend>1Cresult=2CbaseCblendC_{base} + C_{blend} > 1 \Rightarrow C_{result} = 2 - C_{base} - C_{blend}
Perfect SymmetryMirror behavior around unityf(x)=f(2x)f(x) = f(2-x) where x=Cbase+Cblendx = C_{base} + C_{blend}
Live Editor
const fragment = () => {
      const horizontalGrad = uv.x
      const verticalGrad = uv.y.oneMinus()
      const equilibrium = blendNegationVec3(
              vec3(horizontalGrad, 0.2, 0.3),
              vec3(verticalGrad, 0.8, 0.7)
      )
      return vec4(equilibrium, 1)
}