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
text/typescript
// ----------------------------------------------------
// 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
};