По поводу самого слова тупой известнейший этимолог М. Фасмер пишет следующее: "тупо́й туп, тупа́, ту́по, укр., блр. тупи́й, др.-русск. тупъ, сербск.-цслав. тѫпъ πα?υς, болг. тъп (Младенов 646), сербохорв. ту̯п, ту́па ж., ту́по, ту̯пи, словен. tòp, tóра, чеш., слвц. tupý, польск. tęру, в.-луж., н.-луж. tuру Праслав. *tǫpъ сближают с др.-исл. Þambr «толстый, вздутый», лит. tampýti, tаmраũ «тянуть», tem̃pti, tempiù — то же, лат. tempus «время; висок», далее сравнивают с греч. τέμνω «режу», ст.-слав. тьнѫ, тѩти (см. тять); ср. Младенов 646; Фик I, 443; Хольтхаузен, Awn. Wb. 312. С др. стороны, относят *tǫpъ к д.-в.-н., ср.-в.-н. stumpf «изуродованный, тупой», д.-в.-н. stumbal «обрубок, обрезок», предполагая варианты *(s)tomp: *stomb-; см. Бругман, Grdr. I, 386; Мейе, ét. 239; Преобр., Труды I, 18.".
Из всего этого набора букв следует, что слово "тупой" происходит еще из праславянского языка, а значит оно очень древнее. Слово "тупой" отразилось во многих современных славянских языках, а также имеет связи с другими языками, особенно древненемецкими. Из значений родственных слов следует, что слову "тупой" близки значения "изуродованный", "тупой", "обрубок", "обрезок", близки также такие значения, как "режу", "тяну". Таким образом изначально слово "тупой" обозначало некий обрезок предмета, нечто обрубленное.
Дальше уже по логике можно предположить, что "тупой человек" возникло по аналогии с "тупой предмет". Здесь можно вспомнить различные идиомы вида "тупой как пень", "тупой как бревно", "тупой как столб". Никто ведь не говорит "тупой как дерево" или "тупой как трава", значит прилагательное "тупой" соотносится с конкретными свойствами характеризуемых им предметов, которые, в свою очередь, переносятся уже на человека с помощью метафоры. А "тупой угол" - чисто мое предположение - возник как антоним острому углу, который действительно напоминает нечто заостренное.
От себя добавлю, что в математике и геометрии этимология слов зачастую довольно прозаична: слово "квадрат" происходит от латинского quadrātum - "четырехугольник"; слово "треугольник" происходит от слов "три" и "угол" и т.д.
Толковый разбор.