UNPKG

physics-formulas-hs

Version:

Pacote NPM com enfase em física e suas formulas. Suporte total a língua portuguesa e facilidade de entendimento para leigos e estudantes. Links para o aprendizado da formula e fácil acesso.

130 lines (84 loc) 4.49 kB
// ---------------------------------------------------- // UNIDADES DE MEDIDAS PADROES // ---------------------------------------------------- type unidadeVelocidade = |"km/h"|"m/s"; // ---------------------------------------------------- // FACILIDADES PARA O DEV // ---------------------------------------------------- //Exibe na tela (console/terminal) const print = (e: any) => console.log(e); //Retorna só o numero sem a unidade de medida const apenasNumero = (valor: string) => Number(valor.split(" ")[0]); // ---------------------------------------------------- // VETORES // ---------------------------------------------------- //Resultante de vetores com a lei dos Cossenos (Regra do Paralelogramo) const resultanteDeVetores = (vetorA: number, vetorB: number, anguloGraus: number) => { const radiano = anguloGraus * Math.PI/180; const resultanteAoQuadrado = (Math.pow(vetorA, 2) + Math.pow(vetorB, 2) + (2 * vetorA * vetorB * Math.cos(radiano))); const resultante = Math.round(Math.sqrt(resultanteAoQuadrado)); return `${resultante}`; } // ---------------------------------------------------- // CINEMATICA // ---------------------------------------------------- //Velocidade Escalar media const velocidadeEscalarMedia = (deslocamento: number, tempo: number, unidadeMedida: unidadeVelocidade) => { return tempo < 0 ? "Não existe tempo negativo!" : `${deslocamento/tempo} ${unidadeMedida}`; } //Conversor de unidade de Velocidade Media const converterVelocidadeMedia = (velocidadeMedia: string) => { const num = Number(velocidadeMedia.split(" ")[0]); const unidade = velocidadeMedia.split(" ")[1]; switch (unidade) { case "km/h": return `${Number(num) / 3.6} m/s`; case "m/s": return `${Number(num) * 3.6} km/h`; default: return "Conversão Inválida!"; } } //Função horaria das posições const funçaoHorariaDasPosicoes = (espaçoInicial: number, velocidade: number, tempo: number) => { return tempo < 0 ? "Não existe tempo negativo!" : `${espaçoInicial + velocidade * tempo} m`; } //Velocidade Relativa (Encontro) const velocidadeRelativaEncontro = (velocidadeA: number, velocidadeB: number, unidadeMedida: unidadeVelocidade) => { return `${velocidadeA + velocidadeB} ${unidadeMedida}`; } //Velocidade Relativa (Perseguição) const velocidadeRelativaPerseguiçao = (velocidadeA: number, velocidadeB: number, unidadeMedida: unidadeVelocidade) => { return `${velocidadeA - velocidadeB} ${unidadeMedida}`; } //Velocidade Relativa (Afastamento) const velocidadeRelativaAfastamento = (velocidadeA: number, velocidadeB: number, unidadeMedida: unidadeVelocidade) => { return `${velocidadeA + velocidadeB} ${unidadeMedida}`; } //Aceleração Media const aceleraçaoMedia = (variacaoVelocidade: number, tempo: number) => { return tempo < 0 ? "Não existe tempo negativo!" : `${variacaoVelocidade / tempo} m/s²`; } //Função Horaria da Velocidade const funçaoHorariaDaVelocidade = (velocidadeInicial: number, aceleraçao: number, tempo: number) => { return tempo < 0 ? "Não existe tempo negativo!" : `${velocidadeInicial + aceleraçao * tempo} m/s`; } //Função Horaria do Espaço const funçaoHorariaDoEspaço = (espaçoInicial: number, velocidadeInicial: number, tempo: number, aceleraçao:number) => { return tempo < 0 ? "Não existe tempo negativo!" : `${espaçoInicial + (velocidadeInicial * tempo) + (aceleraçao * tempo ** 2)/2} m`; } //Velocidade Media (MUV) const velocidadeMediaMUV = (velocidadeA: number, velocidadeB:number, unidadeMedida: unidadeVelocidade) => { return `${(velocidadeA + velocidadeB)/2} ${unidadeMedida}`; } // ---------------------------------------------------- // EXPORTS DE FUNÇOES // ---------------------------------------------------- //Dev export { print, apenasNumero }; //Vetores export { resultanteDeVetores }; //Cinematica export { velocidadeEscalarMedia, converterVelocidadeMedia, funçaoHorariaDasPosicoes, velocidadeRelativaEncontro, velocidadeRelativaPerseguiçao, velocidadeRelativaAfastamento, aceleraçaoMedia, funçaoHorariaDaVelocidade, funçaoHorariaDoEspaço, velocidadeMediaMUV };