Convertitore di Unità Personalizzate
Unità Personalizzate: Modellazione, Formule e Migliori Pratiche
Definisci le tue unità di misura ancorate a un''Unità Base' o a un'altra unità personalizzata. Modella fattori lineari o espressioni complete e organizza famiglie coerenti per il tuo progetto o dominio.
Concetti Fondamentali
Modellazione Basata su Riferimento
Il tuo riferimento è un'altra unità personalizzata o l''Unità Base'.
L'espressione di conversione mappa i valori di input nello spazio dell'unità di riferimento (il sistema è intenzionalmente agnostico rispetto alle unità).
- Sicurezza DimensionaleSelezionando un riferimento, leghi implicitamente l'unità personalizzata a quella famiglia. Mantieni le famiglie coerenti (ad es., unità correlate che fanno riferimento alla stessa base).
- ComponibilitàModifica il riferimento in seguito senza rinominare l'unità: solo l'espressione necessita di aggiustamenti.
- VerificabilitàOgni unità ha una singola, chiara definizione: riferimento + espressione.
Fattore vs Espressione
Le unità semplici usano un fattore costante (ad es., 1 foo = 0.3048 × Base).
Le unità avanzate possono usare espressioni con funzioni (ad es., 10 * log(x / 1e-3)).
- Fattori CostantiIdeali per relazioni lineari fisse (scale di lunghezza, rapporti di area, ecc.).
- EspressioniUsa funzioni matematiche per scale derivate o non lineari (rapporti, logaritmi, potenze).
- CostantiCostanti integrate come PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN.
Nomi, Simboli e Coerenza
Scegli simboli brevi e non ambigui. Evita collisioni con gli standard esistenti.
Documenta l'intento nella tua organizzazione: cosa misura e perché esiste.
- ChiarezzaPreferisci simboli concisi (consigliati 1–4 caratteri; l'interfaccia utente ne consente fino a 6).
- StabilitàTratta i simboli come identificatori stabili tra set di dati e API.
- StileUsa maiuscole/minuscole simili al SI dove ha senso (ad es., 'foo', 'kFoo', 'mFoo').
- Unità personalizzata = unità di riferimento + espressione di conversione.
- Il riferimento ancora la dimensione; l'espressione definisce la mappatura del valore.
- Preferisci fattori costanti per scale lineari; usa espressioni per casi speciali.
Linguaggio delle Formule
Le espressioni supportano numeri, la variabile x (valore di input), il valore alias, costanti (PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN), operatori aritmetici e funzioni matematiche comuni. Le espressioni vengono valutate in un valore nell'unità di riferimento scelta.
Operatori
| Operatore | Significato | Esempio |
|---|---|---|
| + | Addizione | x + 2 |
| - | Sottrazione/Negazione Unaria | x - 5, -x |
| * | Moltiplicazione | 2 * x |
| / | Divisione | x / 3 |
| ** | Potenza (usa **; ^ viene convertito automaticamente) | x ** 2 |
| () | Precedenza | (x + 1) * 2 |
Funzioni
| Funzione | Firma | Esempio |
|---|---|---|
| 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) |
Regole delle Espressioni
- x è il valore di input; è disponibile anche il valore alias.
- Usa la moltiplicazione esplicita (ad es., 2 * PI, non 2PI).
- Costanti disponibili: PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN.
- Gli angoli per le funzioni trigonometriche sono in radianti (usa le funzioni di aiuto degrees() e radians() per la conversione).
- Fai riferimento ad altre unità personalizzate per nome (snake_case) o simbolo; i loro valori toBase attuali vengono iniettati come costanti.
- Usa ** per le potenze (il motore converte automaticamente ^ in **).
- Normalizzazione intelligente dell'input: ×, ÷, π, ², ³ vengono convertiti automaticamente in *, /, PI, ^2, ^3.
- Funzioni di aiuto disponibili: degrees(), radians(), percent(), factorial(), gcd(), lcm(), clamp(), sign(), nthRoot().
- Il rilevamento avanzato degli errori previene errori comuni (logaritmo di numeri negativi, radice quadrata di numeri negativi, divisione per zero).
- Riferimento a unità personalizzate: usa altre unità come variabili nelle espressioni (ad es., 'x * A' dove A è un'altra unità personalizzata).
- Gli spazi bianchi vengono ignorati; usa le parentesi per controllare la precedenza.
- Le espressioni devono produrre un risultato numerico finito per input validi.
- Usa la moltiplicazione esplicita (ad es., 2 * PI).
- Gli angoli per le funzioni trigonometriche sono in radianti.
- log(x) è in base 10; ln(x) è il logaritmo naturale (base e).
Analisi Dimensionale e Strategie
Questo sistema personalizzato è agnostico rispetto alle unità. Modella famiglie ancorando unità correlate alla stessa 'Unità Base' (o a un riferimento comune). Mantieni il significato coerente in tutta la famiglia che progetti.
Strategie di Modellazione
| Strategia | Quando usare | Note |
|---|---|---|
| Fattore Diretto | Relazioni lineari (ad es., 1 foo = k × Base). | Usa un numero costante (senza x). Stabile e preciso. |
| Scala di Potenza | Derivato da una scala base (k^2, k^3). | Usa pow(k, n) dove k è la scala base. |
| Rapporto o Normalizzazione | Unità definite rispetto a un livello di riferimento (ad es., x / ref). | Utile per misure simili a indici; mantieni ref esplicito nell'espressione. |
| Scala Logaritmica | Scale percettive o di rapporto di potenza (ad es., stile dB 10 * log(x/ref)). | Assicurati che il dominio sia positivo; documenta il valore di riferimento. |
| Mappatura Affine | Rari casi con offset (a * x + b). | Gli offset cambiano i punti zero—applica solo quando concettualmente giustificato. |
Editor e Validazione
Crea unità con un nome, un simbolo (fino a 6 caratteri), un tag colore, un riferimento (Unità Base o un'altra unità personalizzata) e un fattore/espressione. L'editor valida le formule in tempo reale con un rilevamento avanzato degli errori e previene i riferimenti circolari.
- Le opzioni di riferimento includono 'Unità Base' e unità personalizzate esistenti. Le opzioni non sicure che creerebbero cicli vengono filtrate automaticamente.
- Variabili: usa x (o value) per il valore di input. Fai riferimento ad altre unità personalizzate per nome snake_case o per simbolo; i loro valori toBase attuali vengono iniettati come costanti.
- Costanti supportate: PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN.
- Funzioni principali: sqrt, cbrt, pow, abs, min, max, round, trunc, floor, ceil, sin, cos, tan, asin, acos, atan, atan2, sinh, cosh, tanh, ln, log, log2, exp.
- Funzioni di aiuto: degrees(), radians(), percent(), factorial(), gcd(), lcm(), clamp(), sign(), nthRoot() per una migliore esperienza utente.
- Operatori: +, -, *, /, ** per la potenza. Normalizzazione intelligente dell'input: ×, ÷, π, ², ³ vengono convertiti automaticamente.
- Validazione in tempo reale con anteprima (ad es., 10 x → risultato), classificazione della complessità (semplice/moderata/complessa) e suggerimenti contestuali.
- Il rilevamento avanzato degli errori individua errori comuni: logaritmi di numeri non positivi, radici quadrate di numeri negativi, divisione per zero.
- Il rilevamento avanzato dei cicli impedisce alle unità di dipendere da se stesse (direttamente o indirettamente) con messaggi di errore chiari.
- Pannello di aiuto interattivo con esempi categorizzati, frammenti di formula cliccabili e pulsanti di unità personalizzate per un facile inserimento.
Migliori Pratiche
- Preferisci un fattore costante se possibile; espressioni solo quando necessario.
- Scegli un'unità di riferimento stabile, ampiamente compresa e che difficilmente cambierà.
- Evita catene di riferimenti circolari; mantieni i grafi aciclici.
- Aggiungi valori di esempio e confrontali con calcolatori indipendenti o identità note.
- Mantieni i simboli brevi, unici e documentati per la tua organizzazione.
- Se usi i logaritmi, registra il valore di riferimento, la base e il dominio previsto di x.
- Testa con 3–5 valori rappresentativi e verifica le conversioni di andata e ritorno.
- Evita riferimenti circolari; scegli un'unità di riferimento stabile.
- Documenta le ipotesi (domini, offset, intervalli tipici).
Modelli di Partenza ed Esempi
Questi esempi illustrano modelli di modellazione comuni in questo sistema solo personalizzato. Sostituisci costanti e riferimenti con le tue esigenze.
| Nome | Formula | Riferimento | Note |
|---|---|---|---|
| Unità Scalata su Base (foo) | 0.3048 | Unità Base | Definisce 1 foo = 0.3048 × Base (fattore lineare semplice). |
| Scalata su Potenza (foo²) | pow(0.3048, 2) | Unità Base | Derivato da una scala base (k^2). |
| Scalata su Volume (foo³) | pow(0.3048, 3) | Unità Base | Derivato da una scala base (k^3). |
| Indice da Riferimento | x / 42 | Unità Base | Normalizza per un livello fisso (dominio x > 0). |
| Rapporto di Potenza (stile dB) | 10 * log(x / 0.001) | Unità Base | Misura logaritmica relativa a 1 mW (esempio). Assicurati che x > 0. |
| Fattore Geometrico | 2 * PI * 0.5 | Unità Base | Esempio di costanti e moltiplicazione. |
| Riferimento ad Altra Unità Personalizzata | A * 2 | Unità Personalizzata A | Usa il simbolo/nome di un'altra unità come costante nelle espressioni. |
| Relazione Complessa tra Unità | sqrt(x^2 + base_length^2) | Unità Base | Relazione pitagorica usando l'unità personalizzata 'base_length' come costante. |
| Unità Scalata con Offset | x * scale_factor + offset_unit | Unità Base | Trasformazione lineare usando altre due unità personalizzate come costanti. |
| Percentuale dell'Unità di Riferimento | percent(x, reference_value) | Unità Base | Esprimi l'input come percentuale di un'altra unità personalizzata usando la funzione di aiuto. |
| Intervallo di Unità Limitato | clamp(x * multiplier, min_unit, max_unit) | Unità Base | Limita i valori tra due costanti di unità personalizzate usando l'aiuto clamp. |
| Rapporto di Unità con MCD | x / gcd(x, common_divisor) | Unità Base | Relazione matematica usando l'aiuto GCD con una costante di unità personalizzata. |
| Catena di Conversione Angolare | degrees(x * PI / reference_angle) | Unità Angolare Personalizzata | Converti in gradi usando un'unità angolare personalizzata e la funzione di aiuto degrees(). |
Governance e Collaborazione
- Mantieni un catalogo di unità personalizzate approvate con proprietari e date di revisione.
- Usa il versioning quando le definizioni evolvono; evita modifiche che rompano la compatibilità dei simboli.
- Registra la provenienza di costanti e riferimenti (standard, letteratura, documenti interni).
- Automatizza i test di validazione (controlli di intervallo, conversioni di esempio, monotonicità).
FAQ
Dovrei usare un fattore costante o un'espressione?
Preferisci un fattore costante ogni volta che la relazione è lineare e fissa. Usa le espressioni solo quando la mappatura dipende da x o richiede funzioni (potenze, logaritmi, trigonometria).
Come scelgo un'unità di riferimento?
Scegli un'unità stabile, ampiamente compresa, che catturi la dimensione che intendi (ad es., metro per la lunghezza, m² per l'area). Il riferimento ancora il significato dimensionale.
Gli angoli sono in gradi o radianti?
In radianti. Converti i gradi moltiplicando per PI/180 prima di usare le funzioni trigonometriche.
Posso concatenare unità personalizzate?
Sì, ma evita i cicli. Mantieni il grafo aciclico e documenta la catena per preservare la chiarezza.
Elenco Completo degli Strumenti
Tutti i 71 strumenti disponibili su UNITS