Здравствуйте, Нomunculus, Вы писали:
Н>Вопрос в том кто про что должен знать. Расчеты трепыхания тряпки должны быть внутри тряпки? Но тогда тряпка должна знать о внешнем мире. И это криво
Это зависит от вашего решения. На самом деле важно решение с минимальной сложностью и высокой maintainability.
Простые вычисления ветра и никто кроме тряпки с ветром не взаимодействует — суньте в тряпку.
Появятся еще объекты, которые гнутся под ветром — добавьте класс ветер.
Вычисления сложные, типа дифуры, новье-стокса — выделите класс WindCalculator, а тряпка и ветер будут просто набор капабилитей.
Можно даже сделать тряпку тряпкой, и не хранить в ней никаких точек, пусть отрисовывается полу-рандомный трепыхающийся объект. Тоже как вариант.
Важно, что у вас пока нет решения, а вы уже инкапсулизмом занимаетесь
Место ООП — перевод готового решения в код и управление сложностью итогового кода.