Решил сделать модель эволюции часов (подробности здесь:
http://www.smartvideos.ru/evolyuciya-slepoj-chasovshhik)
Идея:
Есть набор деталей, которые могут случайным образом соединяться между собой в особых точках с ограничением на максимальное кол-во соединений в каждой точке. Это:
1) 1 пружина (2 соединения в центре, 2 соединения с краю)
2) 1 храповик (2 соединения в центре, 1 соединение с зубцами)
3) 7 палочек (2 соединения с каждого края). Имеет параметр-длиина
4) 30 шестерен (2 соединения в центре, по кол-ву зубцов за зубцы) Имеет параметр-кол-во зубцов (и диаметр, как функция от зубцов).
5) База (абстракция, на которой можно крепить все детали, согласно их ограничений)
Принцип закрепления влияет на подвижность детали и всех деталей связанных с ней. Т.е. шестерня закрепленная за базу зубом, не может вращаться, как и все остальные шестерни соединенные с ней.
Задача:
1) Нужно создать случайный механизм, с правильными соединениями.
2) Из 2-х механизмов, создать третий, потомок первого и второго (т.е. часть механизма от первого, часть от второго)
3) Внести одно случайное изменение в механизм (изменить соединения, изменить кол-во шестерен или длину палочки)
4) Нарисовать произвольный корректный механизм на экране.
Жду идей, предложений, кода. Всего чего угодно, что поможет реализовать данную модель. Всю голову сломал уже.
З.Ы. Если что-то непонятно объяснил, спрашивайте, уточняйте.
С уважением Михаил.