List and explain the factors affecting body temperature