Mensagens

Aparentes erros com ponto flutuante

Imagem
Aparentes erros com ponto flutuante O que aparenta ser um erro, será mesmo? Na imagem seguinte, saliento os cálculos, em que supostamente o resultado está impreciso: O programa, tendo por base o ponto 1, e diminuindo no eixo dos x 10 metros, deveria apresentar uma coordenada x para o ponto 2 de -10.00000 no entanto apresenta -9.99999 porque isto ocorre? Simplesmente porque o programa está a usar números flutuantes, que como se sabe, são optimos para representar grandes números e para a rapidez do cálculo. No seguinte extracto do código, vê-se que estou a transformar a string introduzida no campo horizontal para um número flutuante: A solução passa por saber que os dados serão números até um certo limite, e que eventualmente poderemos usar em vez de float um outro tipo de números/variáveis. No caso em que estou a trabalhar existe uma biblioteca para lidar com números decimais, cujo resultado será o  -10.0000 esperado. Há que ter, se possível um sentido crítico, e buscar alternativas...

Lista de Preços

Imagem
Lista de Preços Esta aplicação pretende ajudar as pessoas a fazerem uma escolha acertada e consciente quando vão comprar os seus bens. Tendo em conta as promoções e reduções de preços, estará o consumidor a fazer uma boa compra? Esta app pretende responder a essa pergunta, disponibilizando uma série de produtos de consumo do dia a dia, com os seus preços normais. Os preços disponibilizados são obtidos por consulta dos preços praticados em diversos supermercados, pode haver preços mais baixos. Uma boa forma de comparar é pelo custo unitário / quilo /litro etc. Os preços são para Portugal continental, tenha atenção que podem estar desactualizados ou com algum erro. Tenha atenção a factores que podem fazer variar o preço, por exemplo nas frutas, a origem calibre ou categoria. Ou ligeiras diferenças na descrição do produto. Não se listam preços de marcas 'brancas' pois estas variam muito de preço /quantidade/qualidade. A aplicação consulta os preços 'online' portanto necess...

Trajectórias - ISPOL

Imagem
Trajectórias - ISPOL O ISPOL tem integrada a utilidade de verificar a trajectória de um veículo. Uma das ferramentas a usar no desenvolvimento de percursos urbanos é o menu de trajectórias. Est permite "conduzir" um veículo por um eixo e verificar a ocupação do mesmo ao longo das curvas. Pode ser usado para curvas apertadas; eixos sinuosos ou na zona de intersecções. O menu tem o seguinte aspecto, com várias opções: Podemos usar o eixo definido no traçado, e dar-lhe um offset (se por por exemplo um eixo de uma estadas com dois sentido dar-lhe por exemplo 1,75 de offset para situar o veículo no centro da via adequada). Ou criar um eixo, directriz para a condução do veículo e ir ajustando esse eixo à ocupação do mesmo veículo, num processo iterativo. O menu conta com várias tipologias de veículos (norma espanhola) mas pode ser introduzido qualquer tipo de veículo. O caso extremo é um daqueles carrinhos de transporte de malas dos Aeroportos, com múltiplos reboques... O resultado...

Dynamo e Lisps

Imagem
 Dynamo e Lisps O momento presente no que toca à customização de aplicações de desenho é em parte dominado por assuntos relacionados com o Dynamo. Talvez se pudesse fazer uma comparação ao LISP para CAD que potenciava o programa e valorizava que usava o CAD com essas ferramentas, engenheiros e desenhadores. É engraçado ver a alegria das conquistas de alguns no Dynamo comparável ao atingir o funcionamento de uma Lisp, ambos os ustilizadores estão contentes pelo objectivo e também deveriam estar contentes com a potenciação das suas habilidades e competências, embora nem sempre reconhecidas pelos seus superiores hierárquicos.   O Lisp (Autolisp) que já anda neste mundo há boas décadas continua a ser usado aqui e ali, mantendo a compatibilidade com as recentes versões de CAD. Ao contrário de VBAs e DotNEts que ou estão extintos ou necessitam de recodificação permanente. O Dynamo sendo uma ferramenta transversal a várias aplicações da Autodesk tem de acompanhar as versões dessas ap...

Inteligência Artificial — Conceitos rápidos

Inteligência Artificial — Conceitos rápidos Este tema da IA é um pouco confuso, tem muitos termos e por vezes a sua aplicação/fronteira não é clara. Neste post apenas queria reunir um conjunto de termos, lidos e adaptados de diversas fontes. Até na definição destes termos não há uniformidade por vezes dependem do ramo da ciência onde são aplicados. Inteligência Artificial — Conceito genérico. É a capacidade de um sistema informático exibir inteligência humana. Simula raciocínio e decisões com base em experiências anteriores. Machine Learning — É um ramo da IA. Para atingir a Inteligência Artificial, usa modelos matemáticos (algoritmos) para um sistema informático aprender pela experiência (por dados). Deep Learning — É uma forma de ML. Um conjunto de algoritmos específicos (redes neurais) para reconhecer padrões. Big Data - Grandes quantidades de dados, produzidos todos os dias. São a base para a IA. Conjuntos complexos ou de grande dimensão para serem processados pelas aplicações ...

Electron JS

Imagem
Electron JS Tentativa de migrar para o Electron JS. Fiz nestes dias uma tentativa de "migrar" para o Electron JS. As dificuldades actuais com o Python são no aspecto do layout, UI. O desenho de uma aplicação web é mais apelativo e configurável. Um dos problemas que tenho no Python é a adaptação a várias resoluções de monitores e DPI ... a tecnologia web aparenta superar estes problemas. Mas como não há bela sem senão... O Electron produz uma quantidade enorme de ficheiros (sei que há maneira de reduzir empacotando), e cada aplicação conta com pelo menos 100 Mb. Neste caso 80 ficheiros 10 pastas e 186 MB. Era apenas um ensaio modificando algo que já tinha preparado para o Android: Depois comecei a esbarrar em pequenos problemas, como por exemplo colocar um icone... Faltava testar a leitura e escrita de ficheiros em disco e mais umas coisas essenciais. Isto no fundo parece que estamos a criar uma coisa dando uma volta gigante... uma app destas em Python ocupa 15-20MB com um fic...

EDM Reader (update)

Imagem
Em progresso  Fiz mais uma actualização, desta vez uma melhoria na rotina para determinar os limites do desenho no exemplo Q2 demora menos 2 segundos a desenhar o ficheiro. O exemplo é o EDM fornecido pelo ISPOL, o famoso Q2.edm. Assinalo a falta de um troço da linha. Também incluí as linhas 8D (linhas com oito parâmetros, um é o raio...). Os pontos e símbolos ainda não estão incluídos. As cores são as que eu escolhi para ilustrar o tipo interno de linhas do ISPOL. Relembro que é apenas um visualizador, não tem zoom (provavelmente não terá) e não tem nem terá possibilidade de edição. Pode ter no futuro alguma coisa relacionada com a informação de coordenadas, números de linhas, cotas máximas e mínimas, ou até a passagem para um formato de CAD. A janela é de tamanho fixo, e poderá estar funcional nos 3 sistemas operativos, Windows MAc e Linux. Segue em desenvolvimento. #BIM #ISTRAM #ISPOL #CAD #Python