Skip to main content
typo
Source Link
Bram
  • 3.7k
  • 18
  • 25

To inflate the shape:

  1. For all edges, find how well aligned it is with the neighbour edge, using the dot product between their normalized directions.
  2. Determine the lowest and highest values.
  3. For the edgesedge with highest dot value (smallest angle between edges), push out the vertex between them, away from center, with a certain percentage.
  4. For the edgesedge with the lowest (negative in your example) dotproduct value, push in the vertex between them, towards the center, with the same percentage.

To visualize it in your example shape:

The left most vertex has most acute angle, and will be pushed in.

The second most left vertex has the shallowest angle, and will be pushed out.

Then rinse and repeat, to slowly converge. Note that this has some basis in real world physics too: the surface tension in a fold is very low, and will be the part of the inflatable to move.

To inflate the shape:

  1. For all edges, find how well aligned it is with the neighbour edge, using the dot product between their normalized directions.
  2. Determine the lowest and highest values.
  3. For the edges with highest dot value (smallest angle between edges), push out the vertex between them, away from center, with a certain percentage.
  4. For the edges with the lowest (negative in your example) dotproduct value, push in the vertex between them, towards the center, with the same percentage.

To visualize it in your example shape:

The left most vertex has most acute angle, and will be pushed in.

The second most left vertex has the shallowest angle, and will be pushed out.

Then rinse and repeat, to slowly converge. Note that this has some basis in real world physics too: the surface tension in a fold is very low, and will be the part of the inflatable to move.

To inflate the shape:

  1. For all edges, find how well aligned it is with the neighbour edge, using the dot product between their normalized directions.
  2. Determine the lowest and highest values.
  3. For the edge with highest dot value (smallest angle between edges), push out the vertex between them, away from center, with a certain percentage.
  4. For the edge with the lowest (negative in your example) dotproduct value, push in the vertex between them, towards the center, with the same percentage.

To visualize it in your example shape:

The left most vertex has most acute angle, and will be pushed in.

The second most left vertex has the shallowest angle, and will be pushed out.

Then rinse and repeat, to slowly converge. Note that this has some basis in real world physics too: the surface tension in a fold is very low, and will be the part of the inflatable to move.

Fixed away -> towards error.
Source Link
Bram
  • 3.7k
  • 18
  • 25

To inflate the shape:

  1. For all edges, find how well aligned it is with the neighbour edge, using the dot product between their normalized directions.
  2. Determine the lowest and highest values.
  3. For the edges with highest dot value (smallest angle between edges), push out the vertex between them, away from center, with a certain percentage.
  4. For the edges with the lowest (negative in your example) dotproduct value, push in the vertex between them, away fromtowards the center, with the same percentage.

To visualize it in your example shape:

The left most vertex has most acute angle, and will be pushed in.

The second most left vertex has the shallowest angle, and will be pushed out.

Then rinse and repeat, to slowly converge. Note that this has some basis in real world physics too: the surface tension in a fold is very low, and will be the part of the inflatable to move.

To inflate the shape:

  1. For all edges, find how well aligned it is with the neighbour edge, using the dot product between their normalized directions.
  2. Determine the lowest and highest values.
  3. For the edges with highest dot value (smallest angle between edges), push out the vertex between them, away from center, with a certain percentage.
  4. For the edges with the lowest (negative in your example) dotproduct value, push in the vertex between them, away from center, with the same percentage.

To visualize it in your example shape:

The left most vertex has most acute angle, and will be pushed in.

The second most left vertex has the shallowest angle, and will be pushed out.

To inflate the shape:

  1. For all edges, find how well aligned it is with the neighbour edge, using the dot product between their normalized directions.
  2. Determine the lowest and highest values.
  3. For the edges with highest dot value (smallest angle between edges), push out the vertex between them, away from center, with a certain percentage.
  4. For the edges with the lowest (negative in your example) dotproduct value, push in the vertex between them, towards the center, with the same percentage.

To visualize it in your example shape:

The left most vertex has most acute angle, and will be pushed in.

The second most left vertex has the shallowest angle, and will be pushed out.

Then rinse and repeat, to slowly converge. Note that this has some basis in real world physics too: the surface tension in a fold is very low, and will be the part of the inflatable to move.

Source Link
Bram
  • 3.7k
  • 18
  • 25

To inflate the shape:

  1. For all edges, find how well aligned it is with the neighbour edge, using the dot product between their normalized directions.
  2. Determine the lowest and highest values.
  3. For the edges with highest dot value (smallest angle between edges), push out the vertex between them, away from center, with a certain percentage.
  4. For the edges with the lowest (negative in your example) dotproduct value, push in the vertex between them, away from center, with the same percentage.

To visualize it in your example shape:

The left most vertex has most acute angle, and will be pushed in.

The second most left vertex has the shallowest angle, and will be pushed out.