Есть предположение, что вы забыли перевести a и b из строк в числа int, float. С оператором + это прокатывает, а с - нет.
какого типа a и b? нет ли опечатки: русская "с"
Первые две вершинные нормали - совпадают с нормалью первого четырехугольника. Две последние вершинные нормали - (не проверял точно) - с нормалью второго четырехугольника. Третья и четвертая вершинные нормали - примерно среднее между нормалями первого и второго прямоугольника.
Нормали это не жестко заданые однозначные вектора, их можно менять. (От них зависит как будет отражаться свет от объекта).
Прошу прощения, спутал с stl форматом. В obj vn - нормаль вершины. Обычно находят интерполяцией нормалей граней.
# - это начало комментария, м.б. числа общее количество вершиин, граней и т.д. paulbourke.net/dataformats/obj
sswwssww, возможно что 1.png с прозрачностями или индексными цветами и imagemagick его некорректно обрабатывает. Попробуйте с jpg вариантом.
Или версия imagemagick другая, по-моему, раньше вместо 80% надо было писать 20%.
Вобщем поэкспериментируйте с процентами, что бы black.tif был не чисто белый.
Согласен с DarkWood. Нарисовать глянец это по сути нарисовать на предмете окружающую обстановку с геометрическими искажениями. Не существует "зеркального" цвета.