Morph from one position to another - animation

I’m aware of how to make certain features move using integers and increments but is there a tool to animate/morph from one position to the other ie if I draw an object at 30 degrees at position 200,300 - then the same object rotated at 60 degrees at position 200,400 - can it morph between the two to animate?

1 Like

Did you look at lerp()? It’s pretty cool.

You would not use a for loop but the fact that draw() loops.

Increment the amt parameter slowly.

Use lerp for x for y and for angle

See reference

1 Like

Okay, will take a look. Thanks.

1 Like



float amt=0;

void setup() {
  size(1960, 1000);
  background(0);
  delay(12);
  fill(255);
  noStroke(); 
  //
}//func

void draw() {
  //
  background(0);   // clear screen

  float x=lerp(  133, 1300, amt  );
  float y=lerp(  122, 900, amt  );

  text("test for lerp(). ", 
    x, y);

  amt += 0.00414;

  if (amt>=1.0) {
    // noLoop(); // reached target
    amt=1;
  }
  //
}//func
1 Like

Hi Chris,

Thanks I managed to use lerp to interpolate between facial expressions (ie happy to sad would be lerp between an arc (for the lips) with a certain length, width and fill radian to another). I also managed to connect a slider which controls the level of interpolation (how happy or sad you want it to be). While this works for an interpolation between 2 states, my question is regarding how to do multiple states simulatenously? I want to have multiple sliders which allow a combination of interpolations. ie sliders for happy to sad, happy to angry, happy to disgust and you can be on 40% sad, 60% angry, 80% disgust and the lips adjust to interpolate a combination of the three interpolations. Appreciate your help/support!

This post is also continued here:

:)

Hey guys, I’m using lerp to interpolate between facial expressions (ie happy to sad would be lerp between an arc (for the lips) with a certain length, width and fill radian to another). I also managed to connect a slider which controls the level of interpolation (how happy or sad you want it to be). While this works for an interpolation between 2 states, my question is regarding how to do multiple states simulatenously? I want to have multiple sliders which allow a combination of interpolations. ie sliders for happy to sad, happy to angry, happy to disgust and you can be on 40% sad, 60% angry, 80% disgust and the lips adjust to interpolate a combination of the three interpolations.

You asked a similar question here:

Check out list-based interpolations

…and a related discussion using PVector

1 Like