The gods generally have a humanoid form: one head, two eyes, two ears, two arms, two legs, etc. Of course some gods have individual variations: Vishnu has four arms, Brahma has four heads, Indra has a thousand eyes, Ganesha has an elephant head, etc. But they're all variations on the standard human form. My question is, why do the gods, as well as other races like Asuras and Gandharvas, resemble human beings rather than other animals? Or to put it another way, why is it that humans resemble the gods, Asuras, Gandharvas, etc., and other animals do not?
The reason I ask is that critics of religion often use the anthropomorhic appearance of the gods to argue that the gods were invented by humans. For instance the Greek philosopher Xenophenes said "But if cattle and horses and lions had hands or could paint with their hands and create works such as men do, horses like horses and cattle like cattle also would depict the gods' shapes and make their bodies of such a sort as the form they themselves have." Has Hindu scripture given a response to such critiques?
Jews and Christians believe that God created man in his own image. Does Hinduism suggest a similar explanation for the appearance of humans?
Note: I'm not looking for symbolic explanations of the appearances of gods, or speculation that the appearances of gods are just how humans conceive of Brahman. I'm looking for answers that take for granted that there really is a thousand-eyed god in Swarga named Indra, a four-headed god in Brahmaloka named Brahma, etc.