{ "@context": "https://schema.org", "@type": "Product", "name": "Analisador de funcoes para OpenSCAD e graficador de curvas parametricas", "image": "https://things.3dfila.com.br/img/113573.jpg", "description": "Uma das limitacoes do OpenSCAD e a incapacidade de passar funcoes para funcoes ou modulos. Esta biblioteca permite que voce defina funcoes matematicas em uma string, usando todos os operadores matematicos do OpenSCAD (e um pouco mais). Esta string e entao compilada para uma representacao otimizada que pode ser avaliada rapidamente. Por exemplo: avaliara a funcao em x=12 e y=-5. Analisando a string nao e rapido, mas se voce avaliar a funcao compilada para diferentes valores de variaveis, a funcao avaliada deve ser bastante rapida (em meu teste, cerca de 10.000 eval() por segundo). Existem tres funcoes publicas fornecidas: compileFunction(f): aceita uma string de funcao f e retorna uma representacao compilada otimizada; a representacao e descrita aqui: http://www.thingiverse.com/thing:2289738 Pode haver alguns bugs na otimizacao. Se voce encontrar problemas, adicione o argumento opcional optimize=false. eval(fc, variables): aceita uma funcao compilada fc e a avalia para os valores de parametro especificados; variables e um vetor de pares [nomeVariavel, valor]; por exemplo, [[x,1],[y,2]] evaluateFunction(expressao, variaveis): use isso para avaliar uma funcao nao compilada uma vez; esta e uma funcao de conveniencia equivalente a eval(compileFunction(expressao,optimize=false),variaveis); se voce for avaliar a funcao mais de algumas vezes, compile-a uma vez primeiro e depois chame eval() na versao compilada. As representacoes de funcao em string devem ser capazes de usar todos os seguintes elementos de linguagem padrao do OpenSCAD: + - * / % pow sqrt cos sin tan acos asin atan atan2 abs ceil exp floor ln log round signPIcross norm max min concatlet?: != == >= ! && || Vectores sao suportados, usando a formacao de vetor no estilo [x,y,z] e indexacao a[i]. Numeros podem ser especificados da maneira usual, e as constantes true e false estao disponiveis. Alem disso, o operador infixo ^ e fornecido como uma abreviacao para pow, e COS, SIN, TAN, ACOS, ASIN, ATAN e ATAN2 sao fornecidos, que sao funcoes trigonometricas baseadas em radianos. E provavel que haja varios bugs que ainda nao consegui pegar, e pode haver algumas pequenas desvios da ordem de operacoes do OpenSCAD. O arquivo de demonstracao e um grafico de curva parametrica 3D. Voce deve ser capaz de usar o Customizer (a menos que ele expire) para alterar a formula. Notas de desempenho: No meu laptop Windows 10 baseado em i5, por 10.000 execucoes com x^3*y-x*y^3: compileFunction() com otimizacao: 25 segundos compileFunction() sem otimizacao: 21 segundos eval() aplicado a funcao pre-compilada: 0,8 segundos evaluateFunction() 22 segundos Nota: A medida que eu atualizo eval.scad, vou carregar novas versoes aqui. No entanto, nao estarei atualizando regularmente a versao dentro do arquivo de demonstracao. Ha um repositorio aqui: https://github.com/arpruss/miscellaneous-scad Notas de atualizacao: 8 de julho de 2020: corrigido bug em pow 1 de junho de 2020: adicionada funcao interpolate(x,vector) a linguagem: vector e uma lista de pares [x,valor] onde o valor pode ser um vetor ou um escalar 21 de maio de 2019: atualizacao para remover avisos para OpenSCAD 2019.05; nao funcionara mais em versoes anteriores (use eval-pre2019.scad) 19 de julho de 2018: correcoes de bugs para let 18 de janeiro de 2018: evaluateFunction(x) funciona quando x e um escalar: ele apenas retorna x 6 de maio de 2017: Nao diferenciar mais as variaveis rapidas x,y,z,t das outras. Remover operador de sinal de dolar para valores de variaveis em forma compilada agora que descobri uma verificacao rapida para saber se algo e uma string. 16 de maio de 2017: Corrigir bug do avaliador em algumas funcoes como exp(x) e floor(x). 17 de maio de 2017: compileFunction() e evaluateFunction() agora devem funcionar se alimentados com uma funcao ja compilada; nesse caso, compileFunction() retorna sua entrada e evaluateFunction() e o mesmo que eval(); isso significa que voce pode suportar perfeitamente argumentos de funcao compilados e nao compilados no mesmo modulo; tambem removi um aviso ao otimizar uma funcao que usa norm() 18 de maio de 2017: PI suportado 17 de abril de 2019: correcao de bug para []", "url": "https://things.3dfila.com.br/arquivos3d/imprimir-3d-analisador-de-funcoes-para-openscad-e-graficador-de-curvas-parametricas-id-t2295309.php", "offers": { "@type": "Offer", "priceCurrency": "BRL", "price": "0.00", "availability": "http://schema.org/InStock" }}

Things 3D Fila

Analisador de funcoes para OpenSCAD e graficador de curvas parametricas

Matemática

Se você ainda não tem uma máquina para imprimir este arquivo pode comprar uma impressora 3d aqui!

Analisador de funcoes para OpenSCAD e graficador de curvas parametricas Curso 3D Curso 3D

Você pode imprimir este modelo 3d com estes filamentos ou com estas resinas 3D.

Sobre o objeto 3D Analisador de funcoes para OpenSCAD e graficador de curvas parametricas

Este é um arquivo desenvolvido e projetado com ferramenta CAD.

Se você ainda não sabe criar seu próprio modelo 3D eu te ensino neste artigo tutorial sobre Tinkercad.

Analisador de funcoes para OpenSCAD e graficador de curvas parametricas foi projetado para Impressora 3D. Uma das limitacoes do OpenSCAD e a incapacidade de passar funcoes para funcoes ou modulos. Esta biblioteca permite que voce defina funcoes matematicas em uma string, usando todos os operadores matematicos do OpenSCAD (e um pouco mais). Esta string e entao compilada para uma representacao otimizada que pode ser avaliada rapidamente. Por exemplo: avaliara a funcao em x=12 e y=-5. Analisando a string nao e rapido, mas se voce avaliar a funcao compilada para diferentes valores de variaveis, a funcao avaliada deve ser bastante rapida (em meu teste, cerca de 10.000 eval() por segundo). Existem tres funcoes publicas fornecidas: compileFunction(f): aceita uma string de funcao f e retorna uma representacao compilada otimizada; a representacao e descrita aqui: http://www.thingiverse.com/thing:2289738 Pode haver alguns bugs na otimizacao. Se voce encontrar problemas, adicione o argumento opcional optimize=false. eval(fc, variables): aceita uma funcao compilada fc e a avalia para os valores de parametro especificados; variables e um vetor de pares [nomeVariavel, valor]; por exemplo, [[x,1],[y,2]] evaluateFunction(expressao, variaveis): use isso para avaliar uma funcao nao compilada uma vez; esta e uma funcao de conveniencia equivalente a eval(compileFunction(expressao,optimize=false),variaveis); se voce for avaliar a funcao mais de algumas vezes, compile-a uma vez primeiro e depois chame eval() na versao compilada. As representacoes de funcao em string devem ser capazes de usar todos os seguintes elementos de linguagem padrao do OpenSCAD: + - * / % pow sqrt cos sin tan acos asin atan atan2 abs ceil exp floor ln log round signPIcross norm max min concatlet?: != == >= ! && || Vectores sao suportados, usando a formacao de vetor no estilo [x,y,z] e indexacao a[i]. Numeros podem ser especificados da maneira usual, e as constantes true e false estao disponiveis. Alem disso, o operador infixo ^ e fornecido como uma abreviacao para pow, e COS, SIN, TAN, ACOS, ASIN, ATAN e ATAN2 sao fornecidos, que sao funcoes trigonometricas baseadas em radianos. E provavel que haja varios bugs que ainda nao consegui pegar, e pode haver algumas pequenas desvios da ordem de operacoes do OpenSCAD. O arquivo de demonstracao e um grafico de curva parametrica 3D. Voce deve ser capaz de usar o Customizer (a menos que ele expire) para alterar a formula. Notas de desempenho: No meu laptop Windows 10 baseado em i5, por 10.000 execucoes com x^3*y-x*y^3: compileFunction() com otimizacao: 25 segundos compileFunction() sem otimizacao: 21 segundos eval() aplicado a funcao pre-compilada: 0,8 segundos evaluateFunction() 22 segundos Nota: A medida que eu atualizo eval.scad, vou carregar novas versoes aqui. No entanto, nao estarei atualizando regularmente a versao dentro do arquivo de demonstracao. Ha um repositorio aqui: https://github.com/arpruss/miscellaneous-scad Notas de atualizacao: 8 de julho de 2020: corrigido bug em pow 1 de junho de 2020: adicionada funcao interpolate(x,vector) a linguagem: vector e uma lista de pares [x,valor] onde o valor pode ser um vetor ou um escalar 21 de maio de 2019: atualizacao para remover avisos para OpenSCAD 2019.05; nao funcionara mais em versoes anteriores (use eval-pre2019.scad) 19 de julho de 2018: correcoes de bugs para let 18 de janeiro de 2018: evaluateFunction(x) funciona quando x e um escalar: ele apenas retorna x 6 de maio de 2017: Nao diferenciar mais as variaveis rapidas x,y,z,t das outras. Remover operador de sinal de dolar para valores de variaveis em forma compilada agora que descobri uma verificacao rapida para saber se algo e uma string. 16 de maio de 2017: Corrigir bug do avaliador em algumas funcoes como exp(x) e floor(x). 17 de maio de 2017: compileFunction() e evaluateFunction() agora devem funcionar se alimentados com uma funcao ja compilada; nesse caso, compileFunction() retorna sua entrada e evaluateFunction() e o mesmo que eval(); isso significa que voce pode suportar perfeitamente argumentos de funcao compilados e nao compilados no mesmo modulo; tambem removi um aviso ao otimizar uma funcao que usa norm() 18 de maio de 2017: PI suportado 17 de abril de 2019: correcao de bug para []

Baixar

Não deixe de imprimir e compartilhar este modelo 3d. Não deixe sua impressora 3D parada. Mas se você não tem uma impressora 3D ainda, escolha a sua agora.

Curso Online de Impressão 3D

Agora, se você está procurando um curso online para aprender Modelagem 3D, Impressão 3D, programas de fatiadores 3d, e ter acesso avários outros cursos makers relacionados, indicamos a 3D Flix, que pode ser acessado AQUI.