is it true to say that 亡くなる is a polite form of しぬ?
Like what is the difference in nuance between these two sentences:
亡くなる is a euphemism for 死ぬ. 死ぬ means “to die” directly, and it is often appropriate to replace it with the less direct 亡くなる when one is talking about the death of a person. As Dave wrote in his answer, euphemisms for death exist in other languages, too.
死ぬ can be used for a person or an animal, but 亡くなる is usually used only for a person.
逝去する, mentioned in Derek’s comment on Dave’s answer, is a 尊敬語 (respectful form) of 死ぬ/亡くなる and raises the status of the person who is mentioned. 亡くなる is not a 尊敬語. For example, it is correct to use 亡くなる when talking about the death of a family member to the outside, but it is incorrect to use 逝去する in this case.
死ぬ = too direct, rough and generally rude when talking about a person.
亡くなる = polite way of saying it.
Same exact nuance exists in most languages, English included:
死ぬ → to die
亡くなる → to pass away / to pass on / to be deceased (when using past form)
While you could say "I heard that your grandpa died", saying "I heard that your grandpa passed away" would be consider much better form.
Being the rudeness level, I think it's also a matter of shock level. Characters in anime and movies are likely to use '死ぬ' because it's very shocking to say it like that, where in real life people are a little more likely to have some restraint.
Let's face it, "お前はもう死んでいる" has more impact than "お前はもう亡くなっている". (Both mean "You are already dead", but the first is a direct quote from the anime Fist of the North Star's Ken.)