C# - Intersecções PIV México

C# - Intersecções PIV México

Normalmente para projectos no México exige-se que o ponto de intersecção das tangentes verticais PIV seja num valor de pk e cota inteiro ou definido.

O ISPOL já proporciona este ajuste sobre uma rasante existente, mas no caso ter um trecho em que se necessita de alteração, o ISPOL ajusta toda a rasante.

A solução é ir iterativamente ajustando as tangentes até se encontrar um valor para o PK e para a COTA satisfatório.


Ou usar um auxiliar. Eu já tinha programado noutras linguagens este tipo de programas. Agora em CSharp o algoritmo é semelhante.

Por agora sem uma interface gráfica, e sem grandes verificações de erros, e ainda pouco "flexível".


Atendendo ao esquema acima, temos um ponto inicial e um ponto final (Pk Cota) e umas inclinações mínimas e máximas bem como um incremento para essas inclinações.


Podemos calcular as várias intersecções, pontos amarelos, entre cada segmento de recta, e armazenar ou listar. Mas interessa escolher os pontos de intersecção que caiam dentro da tolerância definida para o PK, por exemplo 20m ou 1 m, e dentro da tolerância definida para a Cota, por exemplo 1 milimetro.

No esquema acima seria o ponto negro.


No output para o utilizador são listadas todas a intersecções:


Mas no ficheiro gravado em disco, apenas as intersecções que satisfazem o problema:

O último ponto da lista a branco é o segundo listado a azul, tem o pk de valor inteiro e Cota ao milímetro.

E uma pequena amostra do código:




Comentários

Mensagens populares deste blogue

Python - Automatização em ISPOL

Linha do Oeste - Breve visita

AMV – Aparelhos de Mudança de Via