【AE表达式案例】螺旋线怎么做

示例

20230313-12500378.png

表达式

创建形状图层, Add -> Path

在Path里添加表达式

再加一个描边即可

radius = 0; // 初始半径
turns =5; // 旋转次数
segments = 250; // 线段数
thetaMax = turns * 2 * Math.PI; // 最大角度
thetaMin = 0 * 2 * Math.PI; // 最小角度(初始角度)
step = (thetaMax - thetaMin) / segments; // 每一步的角度增量
inOutTangents = [0.0, 0.0]; // 入向和出向切线长度

// 创建螺旋线的路径
vertices = [];
inTangents = [];
outTangents = [];
for (i = 0; i <= segments; i++) {
  theta = i * step + thetaMin;
  x = radius * Math.cos(theta);
  y = radius * Math.sin(theta);
  vertices.push([x, y]);

  inTangents.push([Math.cos(theta - step / 2) * inOutTangents[0], Math.sin(theta - step / 2) * inOutTangents[1]]);
  outTangents.push([Math.cos(theta + step / 2) * inOutTangents[0], Math.sin(theta + step / 2) * inOutTangents[1]]);

  radius += 1; // 每段线段的半径递增
  // radius +=  Math.cbrt(i*i); // 可以更改这个 使半径变化更大
}
createPath(vertices, inTangents, outTangents, false);

其他

螺旋线路径: https://www.yuelili.com/?p=6540

评论(1)