Здравствуйте, Nuzhny, Вы писали:
N>тут натуральность — это частный случай. А ожидается именно целое оложительное.
Это уже абстрактная философия.

Если на бумаге записаны числа 1, 2, 3 и т.п., то для них справедливы утверждения: "числа являются целыми", "числа являются натуральными". Что меняется от того, что те же самые числа записаны в память компьютера с аналогичной их интерпретацией в языке?
N>Потому что код не будет работать без явного каста к целому.
Так это ж хорошо. Радиус — это количество клеток/пикселов (объектов реального мира), так что его значение, по своей сути, может быть только натуральным. А когда Вы хотите отложить это количество на координатной сетке влево от нуля, происходит переход к отрицательным целым. Значение радиуса и значения переменной, пробегающей интервал от -r до r, имеют
различный смысл, хоть они временами и равны численно и/или визуально схожи. Явное преобразование это и подчеркивает, и поясняет.
N>Все размеры изображений знаковые, потому что они тоже могут стать отрицательными в результате преобразований — корректных преобразований.
Если
размер может стать отрицательным — значит, это уже не "размер", а нечто абстрактное, имеющее лишь часть свойств реального размера. В этом случае, понятное дело, использование знаковых величин оправдано.