Estou estudando a física dos veículos aplicada a jogos, e achei diversos trabalhos interessantes na área é um assunto bem vasto e nesta parte vamos tratar apenas da aceleração longitudinal e o tutorial de base que eu estou seguindo é este
Então vamos lá, temos diversas forças atuando no veiculo e agora vamos tratar da força aplicada pelo motor até as rodas (estou desconsiderando a transmissão) isso ficará para o futuro, vamos chamar essa força Fengine. Depois vamos considerar a resistência do vento ela é definida por algumas constantes mágicas e a resistência do ar definida na Dinâmica dos fluidos, então temos:
Fdrag = 0.5 * Cd * S * rho * (v*v)
Onde Cd = 0.30
S é a área frontal do veiculo aqui definimos como 2.2
rho é a Resistência do ar que é de 1.29
v é a velocidade do veiculo,
Fdrag é aplicada aposta a direção do veiculo então temos
Fdrag = –u * Fdrag
Onde u é a direção do veiculo
Temos também a Frr que é a resistência do solo (fricção das rodas) que é definida por:
Frr = -u * Crr * v * |v|
Cdrag = 0.5 * Cd * S * rho
Crr = 30 * Cdrag
Frr = -u * Crr
Considerando essas forças atuando no veículo fica desta maneira
Flong = Fengine + Fdrag + Frr
Lembrando que segundo Newton
v = v + dt * a
a = F / M
Fiz a integração deste calculo no FreeMat (Equivalente Open Source do MatLab) o resultado de v é:
Perceba que em determinado ponto como as forças estão interrelacionadas, elas se mantén constantes.
</div> l = 100 t = [1:l]; %Array de Tempo v = [1:l]; %Array de Velocidade u = 1; %Direção do veiculo rho = 1.29; %resistencia do veloar (Dinamica dos Fluidos) a = 1; %Aceleração Cd = 0.30; %Constante de Resistencia do Ar S = 2.2; % Constante de Largurado Veiculo Fengine = 450; % Força do Motor tAmount =1; %Posição do Acelerador em porcentagem M = 1000 % Massa do Veiculo Fd = [1:l]; Fr = [1:l]; for (i=2:l); dt = (t(i) - t(i-1)); vt = v(i-1) + (dt * a); %integração da Velocidade Fdrag = (0.5 * Cd * S * rho * (vt*vt)); % Resistencia do Vento Cdrag = 0.5 * Cd * S * rho; %Constante de Resistencia da Solo Crr = 30*Cdrag; %Resistencia do Vento Fdrag = -u * Fdrag; %Forca da Resistencia do Vento Frr = -u * Crr * vt * sqrt(vt); % Forca da Resistencia do Solo Fe = u*tAmount*Fengine; %Forca do Motor F = Fe + Fdrag+ Frr; %Calculo das forças do Veiculo a = F / M; %Calculo da Aceleracao v(i) = vt; Fd(i) = Fdrag*-1; Fr(i) = Frr*-1; end plot(t,v) xlabel('Velocidade'); ylabel('Tempo'); title('Aceleração Longitudional');
Na próxima parte vamos estudar as transmissões (Marchas) o RPM e as Rodas, e vamos integrar a Simulação na Open Dynamics Engine, espero que tenha gostado e seu Feed Back vai ajudar nas próximas partes
monstro hein boss