2014年3月1日土曜日

パスを引き終わった

集中線を作るためのExtensionの途中経過

集中線の基準となるパスに長さの変化をもたせる処理を加えて一段落。
次はこれにパスエフェクトを載せる処理。

ひさしぶりにベクトルを使ったので頭が痛い。

Memo

def cutLine(startPos, endPos, ratio, keepSide):
    v = [(endPos[0] - startPos[0]) * ratio, (endPos[1] - startPos[1]) * ratio]
    if keepSide == 'edge':
        endPos = [startPos[0] + v[0], startPos[1] + v[1]]
    else:
        startPos = [endPos[0] - v[0], endPos[1] - v[1]]
    return [startPos, endPos]

二点間の距離を指定の割合に縮める処理です。
パス一本に付き三回この処理を行っています。

円をパスにしてノードを追加して揺らす処理をしたら、パスの始点と終点の部分がこんがらがった。
ノードが重なっているとこうなる。

あらかじめ1点にまとめておくか、事後に手作業で取り除いてください。