another triangle intersection method