john.c and stahta01 have a point (sorry didn't resist the pun).
You are dealing with triangle SIDES, not vertices. And choosing 3 random values between -10 and 10:
Not all choosen values are valid as "lengths"...Code:rand()/(float)RAND_MAX -> Will be a value between 0 and 1. (rand() / (float)RAND_MAX) * 20 -> Will be a value between 0 and 20. (rand() / (float)RAND_MAX) * 20 - 10 -> Will be a value between -10 and 10