Bias in Twist modifier


Twist modifier as whole (i mean not for vertices)
How does bias work in twist modifier? how does it untwist the twisted vertices or object or rotation?
For twist angle we can use wire parameter, constraint or matrices
But about “bias” i don’t know how does it work?

Point3 TwistDeformer::Map(int i, Point3 p)
   float x, y, z, cosine, sine, a;
   if (theAngle==0.0f) return p;
   p = p * tm;

   x = p.x;
   y = p.y;
   if (doRegion) {
      if (p.z<from) {
         z = from;
      } else 
      if (p.z>to) {
         z = to;
      } else {
         z = p.z;
   } else { 
      z = p.z;
   if (doBias) {
      float u = z/height;
      a = theAngle * (float)pow(fabs(u), bias);
      if (u<0.0) a = -a;
   } else {
      a = z * angleOverHeight;
   cosine = float(cos(a));
   sine = float(sin(a));
   p.x =  cosine*x + sine*y;
   p.y = -sine*x + cosine*y;

   p = p * invtm;
   return p;

when positive it moves the bias up (ie more twist at the end) when negative it bias’s the start (ie more twist at the start) kind of an ease in ease out kind of thang :slight_smile:

it sometimes looks like it cancels it out @ ± 100 as the twist is “squeezed” into a zero range so has no net effect.