Conversor de Unidades Personalizadas
Unidades Personalizadas: Modelação, Fórmulas e Melhores Práticas
Defina as suas próprias unidades de medida ancoradas a uma 'Unidade Base' ou a outra unidade personalizada. Modele fatores lineares ou expressões completas e organize famílias consistentes para o seu projeto ou domínio.
Conceitos Fundamentais
Modelação Baseada em Referência
A sua referência é outra unidade personalizada ou 'Unidade Base'.
A expressão de conversão mapeia os valores de entrada para o espaço da unidade de referência (o sistema é intencionalmente agnóstico a unidades).
- Segurança DimensionalAo selecionar uma referência, está implicitamente a vincular a unidade personalizada a essa família. Mantenha as famílias consistentes (por exemplo, unidades relacionadas que referenciam a mesma base).
- ComposibilidadeAltere a referência mais tarde sem renomear a unidade—apenas a expressão precisa de ajuste.
- AuditabilidadeCada unidade tem uma definição única e clara: referência + expressão.
Fator vs. Expressão
Unidades simples usam um fator constante (ex., 1 foo = 0.3048 × Base).
Unidades avançadas podem usar expressões com funções (ex., 10 * log(x / 1e-3)).
- Fatores ConstantesIdeal para relações lineares fixas (escalas de comprimento, proporções de área, etc.).
- ExpressõesUse funções matemáticas para escalas derivadas ou não lineares (proporções, logaritmos, potências).
- ConstantesConstantes integradas como PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN.
Nomenclatura, Símbolos e Consistência
Escolha símbolos curtos e inequívocos. Evite colisões com padrões existentes.
Documente a intenção na sua organização—o que mede e por que existe.
- ClarezaPrefira símbolos concisos (1–4 caracteres recomendados; a UI permite até 6).
- EstabilidadeTrate os símbolos como identificadores estáveis em conjuntos de dados e APIs.
- EstiloUse maiúsculas e minúsculas semelhantes ao SI onde for sensato (ex., 'foo', 'kFoo', 'mFoo').
- Uma unidade personalizada = unidade de referência + expressão de conversão.
- A referência ancora a dimensão; a expressão define o mapeamento de valor.
- Prefira fatores constantes para escalas lineares; use expressões para casos especiais.
Linguagem de Fórmula
Expressões suportam números, a variável x (valor de entrada), valor de alias, constantes (PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN), operadores aritméticos e funções matemáticas comuns. As expressões são avaliadas para um valor na unidade de referência escolhida.
Operadores
| Operador | Significado | Exemplo |
|---|---|---|
| + | Adição | x + 2 |
| - | Subtração/Negação Unária | x - 5, -x |
| * | Multiplicação | 2 * x |
| / | Divisão | x / 3 |
| ** | Potência (use **; ^ é autoconvertido) | x ** 2 |
| () | Precedência | (x + 1) * 2 |
Funções
| Função | Assinatura | Exemplo |
|---|---|---|
| sqrt | sqrt(x) | sqrt(x^2 + 1) |
| cbrt | cbrt(x) | cbrt(x) |
| pow | pow(a, b) | pow(0.3048, 2) |
| abs | abs(x) | abs(x) |
| min | min(a, b) | min(x, 100) |
| max | max(a, b) | max(x, 0) |
| round | round(x) | round(x * 1000) / 1000 |
| trunc | trunc(x) | trunc(x) |
| floor | floor(x) | floor(x) |
| ceil | ceil(x) | ceil(x) |
| sin | sin(x) | sin(PI/6) |
| cos | cos(x) | cos(PI/3) |
| tan | tan(x) | tan(PI/8) |
| asin | asin(x) | asin(0.5) |
| acos | acos(x) | acos(0.5) |
| atan | atan(x) | atan(1) |
| atan2 | atan2(y, x) | atan2(1, x) |
| sinh | sinh(x) | sinh(1) |
| cosh | cosh(x) | cosh(1) |
| tanh | tanh(x) | tanh(1) |
| ln | ln(x) | ln(x) |
| log | log(x) | log(100) |
| log2 | log2(x) | log2(8) |
| exp | exp(x) | exp(1) |
| degrees | degrees(x) | degrees(PI/2) |
| radians | radians(x) | radians(180) |
| percent | percent(value, total) | percent(25, 100) |
| factorial | factorial(n) | factorial(5) |
| gcd | gcd(a, b) | gcd(12, 8) |
| lcm | lcm(a, b) | lcm(12, 8) |
| clamp | clamp(value, min, max) | clamp(x, 0, 100) |
| sign | sign(x) | sign(-5) |
| nthRoot | nthRoot(value, n) | nthRoot(8, 3) |
Regras de Expressão
- x é o valor de entrada; valor de alias também está disponível.
- Use multiplicação explícita (ex., 2 * PI, não 2PI).
- Constantes disponíveis: PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN.
- Ângulos para funções trigonométricas são em radianos (use as funções auxiliares degrees() e radians() para conversão).
- Referencie outras unidades personalizadas pelo nome (snake_case) ou símbolo; os seus valores toBase atuais são injetados como constantes.
- Use ** para potências (o motor converte automaticamente ^ para **).
- Normalização de entrada inteligente: ×, ÷, π, ², ³ são convertidos automaticamente para *, /, PI, ^2, ^3.
- Funções auxiliares disponíveis: degrees(), radians(), percent(), factorial(), gcd(), lcm(), clamp(), sign(), nthRoot().
- A deteção de erros aprimorada previne erros comuns (log de números negativos, raiz quadrada de números negativos, divisão por zero).
- Referenciação de unidades personalizadas: Use outras unidades como variáveis em expressões (ex., 'x * A' onde A é outra unidade personalizada).
- Espaços em branco são ignorados; use parênteses para controlar a precedência.
- As expressões devem produzir um resultado numérico finito para entradas válidas.
- Use multiplicação explícita (ex., 2 * PI).
- Ângulos para funções trigonométricas são em radianos.
- log(x) é base 10; ln(x) é logaritmo natural (base e).
Análise Dimensional e Estratégias
Este sistema personalizado é agnóstico a unidades. Modele famílias ancorando unidades relacionadas à mesma 'Unidade Base' (ou uma referência partilhada). Mantenha o significado consistente em toda a família que projeta.
Estratégias de Modelação
| Estratégia | Quando Usar | Notas |
|---|---|---|
| Fator Direto | Relações lineares (ex., 1 foo = k × Base). | Use um número constante (sem x). Estável e preciso. |
| Escala de Potência | Derivado de uma escala base (k^2, k^3). | Use pow(k, n) onde k é a escala base. |
| Razão ou Normalização | Unidades definidas em relação a um nível de referência (ex., x / ref). | Útil para medidas do tipo índice; mantenha ref explícito na expressão. |
| Escala Logarítmica | Escalas percetuais ou de razão de potência (ex., estilo dB 10 * log(x/ref)). | Garanta que o domínio seja positivo; documente o valor de referência. |
| Mapeamento Afim | Casos raros com deslocamentos (a * x + b). | Deslocamentos mudam os pontos zero—aplique apenas quando conceptualmente justificado. |
Editor e Validação
Crie unidades com um nome, símbolo (até 6 caracteres), etiqueta de cor, uma referência (Unidade Base ou outra unidade personalizada) e um fator/expressão. O editor valida fórmulas em tempo real com deteção de erros aprimorada e previne referências circulares.
- As opções de referência incluem 'Unidade Base' e unidades personalizadas existentes. Opções inseguras que criariam ciclos são filtradas automaticamente.
- Variáveis: use x (ou value) para o valor de entrada. Referencie outras unidades personalizadas pelo nome snake_case ou pelo símbolo; os seus valores toBase atuais são injetados como constantes.
- Constantes suportadas: PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN.
- Funções principais: sqrt, cbrt, pow, abs, min, max, round, trunc, floor, ceil, sin, cos, tan, asin, acos, atan, atan2, sinh, cosh, tanh, ln, log, log2, exp.
- Funções auxiliares: degrees(), radians(), percent(), factorial(), gcd(), lcm(), clamp(), sign(), nthRoot() para uma melhor experiência do utilizador.
- Operadores: +, -, *, /, ** para potência. Normalização de entrada inteligente: ×, ÷, π, ², ³ são convertidos automaticamente.
- Validação em tempo real com pré-visualização (ex., 10 x → resultado), classificação de complexidade (simples/moderada/complexa) e sugestões contextuais.
- A deteção de erros aprimorada captura erros comuns: logaritmos de números não positivos, raízes quadradas de números negativos, divisão por zero.
- A deteção avançada de ciclos impede que as unidades dependam de si mesmas (direta ou indiretamente) com mensagens de erro claras.
- Painel de ajuda interativo com exemplos categorizados, trechos de fórmula clicáveis e botões de unidade personalizada para fácil inserção.
Melhores Práticas
- Prefira um fator constante se possível; expressões apenas quando necessário.
- Escolha uma unidade de referência que seja estável, amplamente compreendida e improvável de mudar.
- Evite cadeias circulares de referências; mantenha os grafos acíclicos.
- Adicione valores de amostra e verifique com calculadoras independentes ou identidades conhecidas.
- Mantenha os símbolos curtos, únicos e documentados para a sua organização.
- Se usar logs, registe o valor de referência, a base e o domínio pretendido de x.
- Teste com 3–5 valores representativos e verifique as conversões de ida e volta.
- Evite referências circulares; escolha uma unidade de referência estável.
- Documente suposições (domínios, deslocamentos, faixas típicas).
Modelos Iniciais e Exemplos
Estes exemplos ilustram padrões de modelação comuns neste sistema exclusivamente personalizado. Substitua constantes e referências pelas suas necessidades.
| Nome | Fórmula | Referência | Notas |
|---|---|---|---|
| Unidade com Escala Base (foo) | 0.3048 | Unidade Base | Define 1 foo = 0.3048 × Base (fator linear simples). |
| Com Escala de Potência (foo²) | pow(0.3048, 2) | Unidade Base | Derivado de uma escala base (k^2). |
| Com Escala de Volume (foo³) | pow(0.3048, 3) | Unidade Base | Derivado de uma escala base (k^3). |
| Índice de Referência | x / 42 | Unidade Base | Normalizar por um nível fixo (domínio x > 0). |
| Razão de Potência (estilo dB) | 10 * log(x / 0.001) | Unidade Base | Medida logarítmica relativa a 1 mW (exemplo). Garanta que x > 0. |
| Fator Geométrico | 2 * PI * 0.5 | Unidade Base | Exemplo de constantes e multiplicação. |
| Referenciar Outra Unidade Personalizada | A * 2 | Unidade Personalizada A | Use o símbolo/nome de outra unidade como uma constante em expressões. |
| Relação Complexa de Unidades | sqrt(x^2 + base_length^2) | Unidade Base | Relação pitagórica usando a unidade personalizada 'base_length' como uma constante. |
| Unidade com Escala e Deslocamento | x * scale_factor + offset_unit | Unidade Base | Transformação linear usando duas outras unidades personalizadas como constantes. |
| Percentagem da Unidade de Referência | percent(x, reference_value) | Unidade Base | Expresse a entrada como percentagem de outra unidade personalizada usando a função auxiliar. |
| Faixa de Unidade Restrita | clamp(x * multiplier, min_unit, max_unit) | Unidade Base | Restrinja os valores entre duas constantes de unidades personalizadas usando o auxiliar clamp. |
| Razão de Unidades com MDC | x / gcd(x, common_divisor) | Unidade Base | Relação matemática usando o auxiliar MDC com a constante de unidade personalizada. |
| Cadeia de Conversão Angular | degrees(x * PI / reference_angle) | Unidade Angular Personalizada | Converta para graus usando a unidade de ângulo personalizada e a função auxiliar degrees(). |
Governança e Colaboração
- Mantenha um catálogo de unidades personalizadas aprovadas com proprietários e datas de revisão.
- Use versionamento quando as definições evoluírem; evite alterações que quebrem os símbolos.
- Registe a proveniência de constantes e referências (padrões, literatura, documentos internos).
- Automatize testes de validação (verificações de faixa, conversões de amostra, monotonicidade).
Perguntas Frequentes
Devo usar um fator constante ou uma expressão?
Prefira um fator constante sempre que a relação for linear e fixa. Use expressões apenas quando o mapeamento depender de x ou exigir funções (potências, logs, trigonométricas).
Como escolho uma unidade de referência?
Escolha uma unidade estável, amplamente compreendida, que capture a dimensão que pretende (ex., metro para comprimento, m² para área). A referência ancora o significado dimensional.
Os ângulos estão em graus ou radianos?
Radianos. Converta graus multiplicando por PI/180 antes de usar as funções trigonométricas.
Posso encadear unidades personalizadas?
Sim, mas evite ciclos. Mantenha o grafo acíclico e documente a cadeia para preservar a clareza.
Diretório Completo de Ferramentas
Todas as 71 ferramentas disponíveis em UNITS