What geometry? (the seats closed profile ? or the steady tread/variable step ?)
In general the inclination is derived from the tread length, the start step height and the variable (visibility clearance) value added to each next step. Step is variable in order to allow people to see things (otherwise why doing it?). In fact in real-life we calculate that clearance a bit differently … but this is not real-life anyway, he he.
Additionally and according the local Building Regulations there’s other restrictions related with similar arrangements … but that’s a bit complex to implement without extensive use of coding.
Note that steps are required in aisles (subject to Regulations as well) depending on some max step value.
Anyway: the def provided is just a very entry level (and primitive) indicative approach and by no means a complex and complete real-life C# design tool for seating arrangements in public places.
This is the real thing (IAAF, CIS standards etc etc):