ポイント番号順に処理したいのですが、初期状態のポイント位置で計算してしまいます。
移動した後のポイントを考慮しながら処理してほしいのですが、どうしたらいいでしょうか?
for (int i = 1; i < @numpt-1; i++) {
vector A = point(0, "P", i);
vector B = point(0, "P", i - 1);
vector C = point(0, "P", i + 1);
vector dirprev = B - A;
vector dirnext = C - A;
float dot = dot(normalize(dirprev),normalize(dirnext));
float deg = degrees(acos(dot));
if(deg < 90)
{
float t = dot(dirnext,dirprev)/dot(dirprev,dirprev);
vector D = A + t *dirprev;
setpointattrib(0,"P",i,D,"set");
}
}