🚀 Auto-deploy: BrainWind atualizado em 30/07/2026 10:38:28

This commit is contained in:
2026-07-30 10:38:28 +00:00
parent dc90b289c5
commit 8d5f70e94a
+8 -5
View File
@@ -51,11 +51,13 @@ function SignModel({
const angleToNormalRad = ((90 - alpha) * Math.PI) / 180;
const arrowDir = useMemo(() => new THREE.Vector3(Math.cos(angleToNormalRad), 0, Math.sin(angleToNormalRad)), [angleToNormalRad]);
// Posição da seta no plano da placa (inicia no ponto de aplicação com a excentricidade ao longo de Z)
const arrowStart = useMemo(
() => new THREE.Vector3(0, baseY + height / 2, applicationPoint),
[applicationPoint, height, baseY],
);
// Posição alvo da seta no plano da placa (inicia no ponto de aplicação com a excentricidade ao longo de Z)
// Afastada um pouco do muro para não encostar fisicamente
const arrowStart = useMemo(() => {
const targetPos = new THREE.Vector3(0, baseY + height / 2, applicationPoint);
const offset = arrowDir.clone().multiplyScalar(-0.8);
return targetPos.add(offset);
}, [applicationPoint, height, baseY, arrowDir]);
// Cor da placa: Azul (Pressão/Empuxo) com intensidade proporcional ao Cf
const plateColor = useMemo(() => {
@@ -122,6 +124,7 @@ function SignModel({
<WindArrow
target={arrowStart}
direction={arrowDir}
scale={1.8}
/>
{/* === LINHAS DE COTA (CAD-Style Dimensions) === */}