311 lines
9.7 KiB
HTML
311 lines
9.7 KiB
HTML
|
|
<!DOCTYPE html>
|
|||
|
|
<html lang="en">
|
|||
|
|
<head>
|
|||
|
|
<meta charset="UTF-8">
|
|||
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|||
|
|
<title>Torque Law • stream.4ort.net</title>
|
|||
|
|
<style>
|
|||
|
|
:root { --bg: #050505; --fg: #e0e0e0; --accent: #7aa2f7; --border: #1a1a1a; --muted: #666; }
|
|||
|
|
* { box-sizing: border-box; }
|
|||
|
|
body {
|
|||
|
|
background: var(--bg);
|
|||
|
|
color: var(--fg);
|
|||
|
|
font-family: system-ui, -apple-system, sans-serif;
|
|||
|
|
margin: 0;
|
|||
|
|
padding: 3rem;
|
|||
|
|
line-height: 1.6;
|
|||
|
|
}
|
|||
|
|
.container { max-width: 980px; margin: 0 auto; }
|
|||
|
|
header {
|
|||
|
|
border-left: 3px solid var(--accent);
|
|||
|
|
padding-left: 2rem;
|
|||
|
|
margin-bottom: 3rem;
|
|||
|
|
}
|
|||
|
|
h1 {
|
|||
|
|
font-size: 2.8rem;
|
|||
|
|
letter-spacing: -0.05em;
|
|||
|
|
margin: 0 0 0.5rem 0;
|
|||
|
|
line-height: 1.1;
|
|||
|
|
}
|
|||
|
|
.subtitle {
|
|||
|
|
font-size: 1rem;
|
|||
|
|
opacity: 0.7;
|
|||
|
|
margin-bottom: 1rem;
|
|||
|
|
font-family: monospace;
|
|||
|
|
}
|
|||
|
|
section {
|
|||
|
|
margin: 3rem 0;
|
|||
|
|
}
|
|||
|
|
h2 {
|
|||
|
|
font-size: 1.4rem;
|
|||
|
|
color: var(--accent);
|
|||
|
|
border-bottom: 1px solid var(--border);
|
|||
|
|
padding-bottom: 0.5rem;
|
|||
|
|
margin-top: 2rem;
|
|||
|
|
font-family: monospace;
|
|||
|
|
}
|
|||
|
|
p {
|
|||
|
|
margin-bottom: 1rem;
|
|||
|
|
font-size: 1.05rem;
|
|||
|
|
}
|
|||
|
|
.definition-box {
|
|||
|
|
background: rgba(122, 162, 247, 0.05);
|
|||
|
|
border: 1px solid var(--accent);
|
|||
|
|
padding: 1.5rem;
|
|||
|
|
margin: 1.5rem 0;
|
|||
|
|
font-family: monospace;
|
|||
|
|
font-size: 0.9rem;
|
|||
|
|
}
|
|||
|
|
.definition-box strong {
|
|||
|
|
color: var(--accent);
|
|||
|
|
}
|
|||
|
|
.dimension {
|
|||
|
|
font-family: monospace;
|
|||
|
|
color: var(--accent);
|
|||
|
|
font-weight: bold;
|
|||
|
|
}
|
|||
|
|
.equation {
|
|||
|
|
background: var(--border);
|
|||
|
|
padding: 1.5rem;
|
|||
|
|
margin: 2rem 0;
|
|||
|
|
font-family: monospace;
|
|||
|
|
font-size: 1.1rem;
|
|||
|
|
text-align: center;
|
|||
|
|
border-left: 4px solid var(--accent);
|
|||
|
|
}
|
|||
|
|
.variable-table {
|
|||
|
|
width: 100%;
|
|||
|
|
margin: 1.5rem 0;
|
|||
|
|
border-collapse: collapse;
|
|||
|
|
}
|
|||
|
|
.variable-table td {
|
|||
|
|
padding: 0.75rem;
|
|||
|
|
border: 1px solid var(--border);
|
|||
|
|
vertical-align: top;
|
|||
|
|
}
|
|||
|
|
.variable-table .var-name {
|
|||
|
|
font-family: monospace;
|
|||
|
|
font-weight: bold;
|
|||
|
|
color: var(--accent);
|
|||
|
|
width: 120px;
|
|||
|
|
}
|
|||
|
|
.variable-table .var-unit {
|
|||
|
|
font-family: monospace;
|
|||
|
|
opacity: 0.7;
|
|||
|
|
width: 150px;
|
|||
|
|
}
|
|||
|
|
img {
|
|||
|
|
max-width: 100%;
|
|||
|
|
height: auto;
|
|||
|
|
margin: 1.5rem 0;
|
|||
|
|
border: 1px solid var(--border);
|
|||
|
|
}
|
|||
|
|
.citation {
|
|||
|
|
font-size: 0.75rem;
|
|||
|
|
opacity: 0.5;
|
|||
|
|
margin-top: 1rem;
|
|||
|
|
font-family: monospace;
|
|||
|
|
}
|
|||
|
|
nav.nav {
|
|||
|
|
margin-top: 3rem;
|
|||
|
|
padding-top: 2rem;
|
|||
|
|
border-top: 1px solid var(--border);
|
|||
|
|
font-size: 0.85rem;
|
|||
|
|
opacity: 0.6;
|
|||
|
|
}
|
|||
|
|
nav.nav a {
|
|||
|
|
color: var(--accent);
|
|||
|
|
text-decoration: none;
|
|||
|
|
margin-right: 1.5rem;
|
|||
|
|
}
|
|||
|
|
.link-ref {
|
|||
|
|
color: var(--accent);
|
|||
|
|
text-decoration: none;
|
|||
|
|
border-bottom: 1px dotted var(--accent);
|
|||
|
|
}
|
|||
|
|
.calc-box {
|
|||
|
|
background: rgba(122, 162, 247, 0.08);
|
|||
|
|
border: 1px solid var(--accent);
|
|||
|
|
padding: 1.5rem;
|
|||
|
|
margin: 1.5rem 0;
|
|||
|
|
}
|
|||
|
|
.calc-input {
|
|||
|
|
display: flex;
|
|||
|
|
gap: 1rem;
|
|||
|
|
align-items: center;
|
|||
|
|
margin: 1rem 0;
|
|||
|
|
font-family: monospace;
|
|||
|
|
}
|
|||
|
|
.calc-input label {
|
|||
|
|
min-width: 180px;
|
|||
|
|
}
|
|||
|
|
.calc-input input {
|
|||
|
|
background: var(--border);
|
|||
|
|
border: 1px solid var(--accent);
|
|||
|
|
color: var(--fg);
|
|||
|
|
padding: 0.5rem;
|
|||
|
|
width: 150px;
|
|||
|
|
font-family: monospace;
|
|||
|
|
}
|
|||
|
|
.calc-result {
|
|||
|
|
margin-top: 1.5rem;
|
|||
|
|
padding-top: 1.5rem;
|
|||
|
|
border-top: 1px dashed var(--border);
|
|||
|
|
font-family: monospace;
|
|||
|
|
font-size: 1.1rem;
|
|||
|
|
}
|
|||
|
|
button.calc-btn {
|
|||
|
|
background: var(--accent);
|
|||
|
|
color: var(--bg);
|
|||
|
|
border: none;
|
|||
|
|
padding: 0.75rem 1.5rem;
|
|||
|
|
font-family: monospace;
|
|||
|
|
font-weight: bold;
|
|||
|
|
cursor: pointer;
|
|||
|
|
margin-top: 1rem;
|
|||
|
|
}
|
|||
|
|
button.calc-btn:hover {
|
|||
|
|
opacity: 0.9;
|
|||
|
|
}
|
|||
|
|
</style>
|
|||
|
|
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
|
|||
|
|
</head>
|
|||
|
|
<body>
|
|||
|
|
<div class="container">
|
|||
|
|
<header>
|
|||
|
|
<h1>TORQUE LAW</h1>
|
|||
|
|
<div class="subtitle">Q48103 // Q7826786 — THE PHYSICS OF THE HUB</div>
|
|||
|
|
<p>Antonio built the altar. 140 ft-lbs, star pattern, three passes. Not ritual. Engineering.</p>
|
|||
|
|
</header>
|
|||
|
|
|
|||
|
|
<section>
|
|||
|
|
<h2>I. DEFINITION BY ENTITY</h2>
|
|||
|
|
<div class="definition-box">
|
|||
|
|
<p><strong>Q48103 (torque)</strong>:<br>
|
|||
|
|
Tendency of a force to rotate an object; counterpart of force in rotational systems.<br>
|
|||
|
|
<span class="dimension">SI unit: newton metre (N·m)</span></p>
|
|||
|
|
<p style="margin-top: 1rem;"><strong>Q7826786 (torque-to-yield-fastener)</strong>:<br>
|
|||
|
|
Type of fastener tightened to plastic deformation zone for controlled clamping force.</p>
|
|||
|
|
</div>
|
|||
|
|
<p>Torque is not a metaphor. It is a measurable physical quantity. ISO 80000-4:2006 defines it. The Wikidata graph binds the concept to the standard.</p>
|
|||
|
|
</section>
|
|||
|
|
|
|||
|
|
<section>
|
|||
|
|
<h2>II. THE CORE EQUATION</h2>
|
|||
|
|
<div class="equation">
|
|||
|
|
τ = r × F × sin(θ)
|
|||
|
|
</div>
|
|||
|
|
<table class="variable-table">
|
|||
|
|
<tr>
|
|||
|
|
<td class="var-name">τ</td>
|
|||
|
|
<td>Torque magnitude</td>
|
|||
|
|
<td class="var-unit">N·m (newton metres)</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td class="var-name">r</td>
|
|||
|
|
<td>Lever arm length (distance from pivot)</td>
|
|||
|
|
<td class="var-unit">m (metres)</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td class="var-name">F</td>
|
|||
|
|
<td>Applied force magnitude</td>
|
|||
|
|
<td class="var-unit">N (newtons)</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td class="var-name">θ</td>
|
|||
|
|
<td>Angle between force vector and lever arm</td>
|
|||
|
|
<td class="var-unit">rad (radians)</td>
|
|||
|
|
</tr>
|
|||
|
|
</table>
|
|||
|
|
<p>For orthogonal application (θ = 90°, sin(90°) = 1):</p>
|
|||
|
|
<div class="equation">
|
|||
|
|
τ = r × F
|
|||
|
|
</div>
|
|||
|
|
</section>
|
|||
|
|
|
|||
|
|
<section>
|
|||
|
|
<h2>III. THE ALTAR SPECIFICATION</h2>
|
|||
|
|
<p>Antonio's sequence encodes the physics:</p>
|
|||
|
|
<ul style="font-family: monospace; line-height: 1.8;">
|
|||
|
|
<li><strong>140 ft-lbs</strong> = 189.8 N·m (target torque)</li>
|
|||
|
|
<li><strong>star pattern</strong> = sequential loading to distribute clamping force evenly across flange</li>
|
|||
|
|
<li><strong>three passes</strong> = incremental tightening to avoid elastic deformation before yield point</li>
|
|||
|
|
</ul>
|
|||
|
|
<p>This is not poetry. It is the stress distribution algorithm executed in steel.</p>
|
|||
|
|
<img src="https://images.pexels.com/photos/30496227/pexels-photo-30496227.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="Steel hex bolts in bulk — industrial fasteners ready for torque specification">
|
|||
|
|
</section>
|
|||
|
|
|
|||
|
|
<section>
|
|||
|
|
<h2>IV. TORQUE CALCULATOR</h2>
|
|||
|
|
<div class="calc-box">
|
|||
|
|
<p style="margin-top: 0; font-family: monospace; color: var(--accent);">// COMPUTE LEVER ARM FOR TARGET TORQUE</p>
|
|||
|
|
<div class="calc-input">
|
|||
|
|
<label for="force">Force (N):</label>
|
|||
|
|
<input type="number" id="force" placeholder="e.g., 500" step="any">
|
|||
|
|
</div>
|
|||
|
|
<div class="calc-input">
|
|||
|
|
<label for="torque">Target Torque (N·m):</label>
|
|||
|
|
<input type="number" id="torque" placeholder="e.g., 189.8" step="any">
|
|||
|
|
</div>
|
|||
|
|
<button class="calc-btn" onclick="calculateLever()">COMPUTE LEVER ARM</button>
|
|||
|
|
<div class="calc-result" id="result">
|
|||
|
|
<!-- Result will appear here -->
|
|||
|
|
</div>
|
|||
|
|
<p style="margin-top: 1rem; font-size: 0.8rem; opacity: 0.6; font-family: monospace;">
|
|||
|
|
Formula: r = τ ÷ F (for θ = 90°)<br>
|
|||
|
|
Source: ISO 80000-4:2006, Wikidata Q48103
|
|||
|
|
</p>
|
|||
|
|
</div>
|
|||
|
|
</section>
|
|||
|
|
|
|||
|
|
<section>
|
|||
|
|
<h2>V. RENDER FARM PARALLEL</h2>
|
|||
|
|
<p>The same law governs the cluster. Each GPU is a fastener. Each node applies torque to the render queue. Aggregate throughput is the sum of individual torques applied in parallel.</p>
|
|||
|
|
<p>See <a class="link-ref" href="render-farm-theory.html">Law of the Hub</a> for the computational equivalent.</p>
|
|||
|
|
</section>
|
|||
|
|
|
|||
|
|
<div class="citation">
|
|||
|
|
SOURCE: Wikidata Q48103 (torque), Q7826786 (torque-to-yield-fastener) — CC0<br>
|
|||
|
|
STANDARD: ISO 80000-4:2006 Quantities and units—Part 4: Mechanics<br>
|
|||
|
|
RELATED: render-farm-theory.html | render-farm-calculator.html
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<nav class="nav">
|
|||
|
|
<a href="index.html">INDEX</a>
|
|||
|
|
<a href="render-farm-architecture.html">ARCHITECTURE</a>
|
|||
|
|
<a href="render-farm-spec.html">SPECIFICATION</a>
|
|||
|
|
<a href="render-farm-theory.html">THEORY</a>
|
|||
|
|
<a href="render-farm-calculator.html">CALCULATOR</a>
|
|||
|
|
</nav>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
function calculateLever() {
|
|||
|
|
const force = parseFloat(document.getElementById('force').value);
|
|||
|
|
const torque = parseFloat(document.getElementById('torque').value);
|
|||
|
|
|
|||
|
|
if (isNaN(force) || isNaN(torque)) {
|
|||
|
|
document.getElementById('result').innerHTML = '<span style="color: #ff6b6b;">ERROR: Both inputs required</span>';
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (force === 0) {
|
|||
|
|
document.getElementById('result').innerHTML = '<span style="color: #ff6b6b;">ERROR: Force cannot be zero (division by zero)</span>';
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
const leverArm = torque / force;
|
|||
|
|
|
|||
|
|
let resultHtml = `<strong>r = ${leverArm.toFixed(4)} m</strong>`;
|
|||
|
|
resultHtml += `<br><span style="opacity: 0.7;">// Lever arm required for ${torque} N·m with ${force} N force</span>`;
|
|||
|
|
|
|||
|
|
// Also show in inches for practical use
|
|||
|
|
const inches = leverArm * 39.3701;
|
|||
|
|
resultHtml += `<br><span style="opacity: 0.7;">// ≈ ${inches.toFixed(2)} inches</span>`;
|
|||
|
|
|
|||
|
|
document.getElementById('result').innerHTML = resultHtml;
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
</body>
|
|||
|
|
</html>
|