Here's a small optimization. The function returns True only if several tests succeed. You can return False as soon as one of them fails.
Function InTriangle(x0,y0,x1,y1,x2,y2,x3,y3) b0# = (x2 - x1) * (y3 - y1) - (x3 - x1) * (y2 - y1) b1# = ((x2 - x0) * (y3 - y0) - (x3 - x0) * (y2 - y0)) / b0 If b1 <= 0 Then Return False b2# = ((x3 - x0) * (y1 - y0) - (x1 - x0) * (y3 - y0)) / b0 If b2 <= 0 Then Return False b3# = ((x1 - x0) * (y2 - y0) - (x2 - x0) * (y1 - y0)) / b0 If b3 <= 0 Then Return False Return True End Function