module StraightSkeleton::Node
def project(travel)
def project(travel) det = normals.inject(&:cross) if normals.all? case when det&.nonzero? x = normals.map { |normal| travel - @travel + normal.dot(point) } (normals[0].perp * x[1] - normals[1].perp * x[0]) / det when normals[0] then normals[0] * (travel - @travel) + point when normals[1] then normals[1] * (travel - @travel) + point end end