diff --git a/app/src/components/Warehouse3D.tsx b/app/src/components/Warehouse3D.tsx
index d7f6002..3cc3632 100644
--- a/app/src/components/Warehouse3D.tsx
+++ b/app/src/components/Warehouse3D.tsx
@@ -80,13 +80,13 @@ function WindDirectionIndicator({ angle, width, length, height }: { angle: numbe
const isDark = useCanvasTheme() === 'dark';
const color = isDark ? "#38bdf8" : "#0284c7"; // Light blue / dark blue
- // Angle 0: Wind blows along Z axis (Perpendicular à largura X)
- // Angle 90: Wind blows along X axis (Paralelo à largura X)
+ // Angle 0: Vento bate na Parede C (Eixo X) - Perpendicular ao comprimento
+ // Angle 90: Vento bate na Parede A (Eixo Z) - Perpendicular à largura
- const dir = angle === 0 ? new THREE.Vector3(0, 0, 1) : new THREE.Vector3(1, 0, 0);
+ const dir = angle === 90 ? new THREE.Vector3(0, 0, 1) : new THREE.Vector3(1, 0, 0);
const distance = Math.max(width, length) * 0.6 + 5;
- const startPos = angle === 0 ? new THREE.Vector3(0, height / 2, -distance) : new THREE.Vector3(-distance, height / 2, 0);
+ const startPos = angle === 90 ? new THREE.Vector3(0, height / 2, -distance) : new THREE.Vector3(-distance, height / 2, 0);
const quat = new THREE.Quaternion();
quat.setFromUnitVectors(new THREE.Vector3(0, 1, 0), dir);
diff --git a/app/src/components/three/AirflowSystem.tsx b/app/src/components/three/AirflowSystem.tsx
index e723473..4cee957 100644
--- a/app/src/components/three/AirflowSystem.tsx
+++ b/app/src/components/three/AirflowSystem.tsx
@@ -61,9 +61,9 @@ export function AirflowSystem({ windAngle, width, length, height, permeabilityCa
if (!meshRef.current) return;
const time = state.clock.elapsedTime;
- // Agora 0° é paralelo à Parede A (ao longo do eixo Z)
- // E 90° é paralelo à Parede C (ao longo do eixo X)
- const isZAxis = windAngle === 0;
+ // Agora 0° é paralelo à Parede A e bate na Parede C (Eixo X)
+ // E 90° é paralelo à Parede C e bate na Parede A (Eixo Z)
+ const isZAxis = windAngle === 90;
const windDir = isZAxis ? new THREE.Vector3(0, 0, 1) : new THREE.Vector3(1, 0, 0);
const halfW = width / 2;
@@ -98,11 +98,11 @@ export function AirflowSystem({ windAngle, width, length, height, permeabilityCa
// Colisão: Expulsar as partículas do interior com força (Desvio realístico)
const isAirtight = permeabilityCase !== 'four-equally-permeable';
if (isAirtight) {
- if (windAngle === 0 && pz < -halfL + margin) {
+ if (windAngle === 90 && pz < -halfL + margin) {
deflectY = p.baseSpeed * 2.0; // Levanta pro telhado
deflectX = px > 0 ? p.baseSpeed * 2.0 : -p.baseSpeed * 2.0; // Contorna laterais
p.position.z -= p.baseSpeed * 1.5; // Impede de avançar
- } else if (windAngle === 90 && px < -halfW + margin) {
+ } else if (windAngle === 0 && px < -halfW + margin) {
deflectY = p.baseSpeed * 2.0; // Levanta pro telhado
deflectZ = pz > 0 ? p.baseSpeed * 2.0 : -p.baseSpeed * 2.0; // Contorna laterais
p.position.x -= p.baseSpeed * 1.5; // Impede de avançar
diff --git a/app/src/pages/GalpaoModule.tsx b/app/src/pages/GalpaoModule.tsx
index 7cdee01..7e79cb0 100644
--- a/app/src/pages/GalpaoModule.tsx
+++ b/app/src/pages/GalpaoModule.tsx
@@ -236,8 +236,8 @@ const GalpaoModule: React.FC = () => {
- 0° (Perpendicular à largura)
- 90° (Paralelo à largura)
+ 0° (Perpendicular ao comprimento)
+ 90° (Perpendicular à largura)