{"id":100036,"date":"2026-02-15T20:07:38","date_gmt":"2026-02-15T20:07:38","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100036"},"modified":"2026-07-11T20:51:15","modified_gmt":"2026-07-11T20:51:15","slug":"blade-correction-calculator","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/da\/calculators\/blade-correction-calculator\/","title":{"rendered":"Korrektionsvektorregner for faste positioner | Skovl- og boltplaceringer"},"content":{"rendered":"\r\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"Fixed-Position Correction Vector Calculator\",\"description\":\"Resolve a same-radius correction-mass vector between adjacent equally spaced positions and quantify residual unbalance after available mass increments.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/blade-correction-calculator\/\",\"applicationCategory\":\"Engineering Calculator\",\"operatingSystem\":\"Any (Web Browser)\",\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"EUR\"},\"creator\":{\"@type\":\"Organization\",\"name\":\"Vibromera\",\"url\":\"https:\/\/vibromera.eu\/\"},\"dateModified\":\"2026-07-12\",\"inLanguage\":\"en\",\"isAccessibleForFree\":true}<\/script>\r\n\r\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Is the two-position decomposition approximate?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"With equal correction radii and exact continuous masses, the two adjacent vectors reproduce the requested vector exactly. Practical error comes from mass increments, placement radius, angle and installation tolerances.\"}},{\"@type\":\"Question\",\"name\":\"Why is the scalar mass sum larger?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Scalar mass is not vector unbalance. The two oblique vectors can require a scalar mass sum greater than the single ideal mass while their vector sum remains exact.\"}},{\"@type\":\"Question\",\"name\":\"What angle convention is used?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Position 1 is 0 degrees and positive angles advance in the user-defined positive direction. The same datum, viewing side, rotation direction and add\/remove convention must be used as the balancing instrument.\"}},{\"@type\":\"Question\",\"name\":\"Does ISO 21940 prescribe this formula?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"This sine decomposition follows ordinary planar vector equilibrium. ISO 21940-11:2016 plus Amendment 1:2022 provides rigid-rotor balancing procedure and tolerance context; this page does not claim the formula is an ISO formula.\"}},{\"@type\":\"Question\",\"name\":\"Can mass be welded or removed anywhere on a blade?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No. Correction locations and attachment or removal methods require rotor-manufacturer and structural approval, including stress, fatigue, containment and aerodynamic considerations.\"}}]}<\/script>\r\n\r\n<script type=\"application\/ld+json\">\r\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[\r\n{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/vibromera.eu\/\"},\r\n{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calculators\",\"item\":\"https:\/\/vibromera.eu\/calculators\/\"},\r\n{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Blade Correction Calculator\",\"item\":\"https:\/\/vibromera.eu\/calculators\/blade-correction-calculator\/\"}\r\n]}\r\n<\/script>\r\n\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&#038;family=JetBrains+Mono:wght@400;500;600&#038;family=Fraunces:opsz,wght@9..144,700;9..144,800&#038;display=swap\" rel=\"stylesheet\">\r\n\r\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/katex@0.16.11\/dist\/katex.min.css\">\r\n\r\n<style>\r\n:root {\r\n    --vc-bg: #f4f1ec;\r\n    --vc-surface: #ffffff;\r\n    --vc-surface-alt: #f8f6f2;\r\n    --vc-ink: #1a1a1a;\r\n    --vc-ink-secondary: #5a5650;\r\n    --vc-ink-muted: #8a857e;\r\n    --vc-accent: #c85a2a;\r\n    --vc-accent-hover: #b04d22;\r\n    --vc-accent-light: #fdf0ea;\r\n    --vc-blue: #2a5c8c;\r\n    --vc-blue-light: #eaf1f8;\r\n    --vc-green: #2a7a4b;\r\n    --vc-green-light: #eaf8ef;\r\n    --vc-yellow: #a67c00;\r\n    --vc-yellow-light: #fef9e8;\r\n    --vc-red: #b91c1c;\r\n    --vc-red-light: #fef2f2;\r\n    --vc-border: #d9d4cc;\r\n    --vc-border-light: #e8e4dd;\r\n    --vc-shadow: 0 1px 3px rgba(26,26,26,0.06), 0 4px 12px rgba(26,26,26,0.04);\r\n    --vc-shadow-lg: 0 4px 12px rgba(26,26,26,0.08), 0 16px 40px rgba(26,26,26,0.06);\r\n    --vc-radius: 8px;\r\n    --vc-radius-lg: 12px;\r\n    --vc-font: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\r\n    --vc-mono: 'JetBrains Mono', 'Consolas', 'Monaco', monospace;\r\n    --vc-display: 'Fraunces', Georgia, serif;\r\n}\r\n\r\n.vc-calculator {\r\n    font-family: var(--vc-font);\r\n    font-size: 15px;\r\n    line-height: 1.65;\r\n    color: var(--vc-ink);\r\n    max-width: 960px;\r\n    margin: 0 auto;\r\n    padding: 20px 16px 40px;\r\n    -webkit-font-smoothing: antialiased;\r\n}\r\n.vc-calculator *, .vc-calculator *::before, .vc-calculator *::after { box-sizing: border-box; }\r\n\r\n\/* \u2500\u2500 HEADER \u2500\u2500 *\/\r\n.vc-header { text-align: center; padding: 48px 24px 40px; position: relative; }\r\n.vc-header::after { content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:80px; height:3px; background:var(--vc-accent); border-radius:2px; }\r\n.vc-header-eyebrow { font-family:var(--vc-mono); font-size:11px; font-weight:500; letter-spacing:0.15em; text-transform:uppercase; color:var(--vc-accent); margin:0 0 12px; }\r\n.vc-header-title { font-family:var(--vc-display); font-size:clamp(24px,4vw,36px); font-weight:800; line-height:1.15; color:var(--vc-ink); margin:0 0 16px; letter-spacing:-0.02em; }\r\n.vc-header-subtitle { font-size:15px; color:var(--vc-ink-secondary); margin:0 auto 20px; max-width:600px; }\r\n.vc-badges { display:inline-flex; gap:8px; flex-wrap:wrap; justify-content:center; }\r\n.vc-badge { font-family:var(--vc-mono); font-size:11px; font-weight:500; padding:4px 10px; border-radius:4px; background:var(--vc-surface); border:1px solid var(--vc-border); color:var(--vc-ink-secondary); }\r\n\r\n\/* \u2500\u2500 CARD \u2500\u2500 *\/\r\n.vc-card { background:var(--vc-surface); border:1px solid var(--vc-border); border-radius:var(--vc-radius-lg); box-shadow:var(--vc-shadow); overflow:hidden; margin-top:32px; }\r\n\r\n\/* \u2500\u2500 FORM \u2500\u2500 *\/\r\n.vc-form { padding:24px; }\r\n.vc-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }\r\n@media(max-width:600px) { .vc-form-grid { grid-template-columns:1fr; } }\r\n.vc-field { display:flex; flex-direction:column; }\r\n.vc-field-full { grid-column: 1 \/ -1; }\r\n.vc-label { font-size:12px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; color:var(--vc-ink-secondary); margin-bottom:6px; }\r\n.vc-label-hint { font-weight:400; text-transform:none; letter-spacing:0; color:var(--vc-ink-muted); font-size:11px; }\r\n.vc-select, .vc-input { width:100%; padding:10px 12px; border:1.5px solid var(--vc-border); border-radius:6px; font-family:var(--vc-font); font-size:14px; color:var(--vc-ink); background:var(--vc-surface); transition:border-color 0.15s, box-shadow 0.15s; }\r\n.vc-select { padding-right:36px; appearance:none; -webkit-appearance:none; cursor:pointer; background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' fill='none' stroke='%235a5650' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'\/%3E%3C\/svg%3E\"); background-repeat:no-repeat; background-position:right 10px center; }\r\n.vc-select:focus, .vc-input:focus { outline:none; border-color:var(--vc-accent); box-shadow:0 0 0 3px rgba(200,90,42,0.12); }\r\n.vc-select:hover, .vc-input:hover { border-color:var(--vc-ink-muted); }\r\n\r\n\/* \u2500\u2500 PRESETS \u2500\u2500 *\/\r\n.vc-presets { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; padding-top:18px; border-top:1px solid var(--vc-border-light); }\r\n.vc-presets-label { font-family:var(--vc-mono); font-size:11px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--vc-ink-muted); width:100%; margin-bottom:2px; }\r\n.vc-preset-btn { padding:5px 12px; font-family:var(--vc-font); font-size:12px; font-weight:500; border:1px solid var(--vc-border); border-radius:6px; background:var(--vc-surface-alt); color:var(--vc-ink-secondary); cursor:pointer; transition:all 0.15s; }\r\n.vc-preset-btn:hover { border-color:var(--vc-accent); color:var(--vc-accent); background:var(--vc-accent-light); }\r\n\r\n\/* \u2500\u2500 RESULTS \u2500\u2500 *\/\r\n.vc-results { border-top:1px solid var(--vc-border-light); background:var(--vc-surface-alt); padding:0; max-height:0; overflow:hidden; transition:max-height 0.5s cubic-bezier(0.4,0,0.2,1), padding 0.3s; }\r\n.vc-results.vc-visible { max-height:3000px; padding:24px; }\r\n.vc-results-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }\r\n.vc-results-title { font-family:var(--vc-display); font-size:20px; font-weight:700; color:var(--vc-ink); margin:0; }\r\n.vc-copy-btn { display:inline-flex; align-items:center; gap:5px; padding:6px 12px; border:1px solid var(--vc-border); border-radius:6px; background:var(--vc-surface); font-family:var(--vc-font); font-size:12px; font-weight:500; color:var(--vc-ink-secondary); cursor:pointer; transition:all 0.15s; }\r\n.vc-copy-btn:hover { border-color:var(--vc-accent); color:var(--vc-accent); }\r\n.vc-copy-btn.vc-copied { background:var(--vc-green-light); border-color:var(--vc-green); color:var(--vc-green); }\r\n\r\n.vc-result-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:20px; }\r\n@media(max-width:500px) { .vc-result-grid { grid-template-columns:1fr; } }\r\n.vc-rcard { background:var(--vc-surface); border:1px solid var(--vc-border-light); border-radius:var(--vc-radius); padding:16px; transition:transform 0.2s; }\r\n.vc-rcard:hover { transform:translateY(-1px); }\r\n.vc-rcard-primary { border-color:var(--vc-accent); border-width:2px; background:linear-gradient(135deg, #fdf6f2 0%, var(--vc-surface) 100%); grid-column:1 \/ -1; }\r\n.vc-rcard-label { font-family:var(--vc-mono); font-size:10px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--vc-ink-muted); margin-bottom:4px; }\r\n.vc-rcard-value { font-family:var(--vc-mono); font-size:22px; font-weight:600; color:var(--vc-ink); line-height:1.2; }\r\n.vc-rcard-primary .vc-rcard-value { font-size:30px; color:var(--vc-accent); }\r\n.vc-rcard-unit { font-size:14px; font-weight:400; color:var(--vc-ink-secondary); }\r\n\r\n\/* \u2500\u2500 DIAGRAM \u2500\u2500 *\/\r\n.vc-diagram-wrap { display:flex; justify-content:center; margin:16px 0 8px; }\r\n.vc-diagram-wrap svg { max-width:320px; width:100%; height:auto; }\r\n\r\n\/* \u2500\u2500 COLLAPSIBLE SECTIONS \u2500\u2500 *\/\r\n.vc-section { margin-top:24px; border:1px solid var(--vc-border); border-radius:var(--vc-radius-lg); background:var(--vc-surface); box-shadow:var(--vc-shadow); overflow:hidden; }\r\n.vc-section-toggle { width:100%; display:flex; align-items:center; justify-content:space-between; padding:18px 24px; border:none; background:transparent; cursor:pointer; font-family:var(--vc-font); text-align:left; transition:background 0.15s; }\r\n.vc-section-toggle:hover { background:var(--vc-surface-alt); }\r\n.vc-section-toggle-text { display:flex; align-items:center; gap:10px; }\r\n.vc-section-icon { font-size:20px; line-height:1; }\r\n.vc-section-title { font-family:var(--vc-display); font-size:18px; font-weight:700; color:var(--vc-ink); margin:0; }\r\n.vc-section-chevron { width:20px; height:20px; color:var(--vc-ink-muted); transition:transform 0.3s; flex-shrink:0; }\r\n.vc-section.vc-open .vc-section-chevron { transform:rotate(180deg); }\r\n.vc-section-body { max-height:0; overflow:hidden; transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1); }\r\n.vc-section.vc-open .vc-section-body { max-height:20000px; }\r\n.vc-section-inner { padding:0 24px 24px; border-top:1px solid var(--vc-border-light); }\r\n\r\n\/* \u2500\u2500 THEORY \u2500\u2500 *\/\r\n.vc-theory h3 { font-family:var(--vc-display); font-size:17px; font-weight:700; color:var(--vc-ink); margin:28px 0 10px; }\r\n.vc-theory h3:first-child { margin-top:20px; }\r\n.vc-theory p { font-size:14px; color:var(--vc-ink-secondary); margin:0 0 10px; }\r\n.vc-theory ul, .vc-theory ol { font-size:14px; color:var(--vc-ink-secondary); margin:0 0 12px 18px; padding:0; }\r\n.vc-theory li { margin-bottom:5px; }\r\n.vc-formula-box { background:var(--vc-surface-alt); border:2px solid var(--vc-border); border-radius:6px; padding:14px 20px; font-family:var(--vc-mono); font-size:16px; font-weight:500; text-align:center; margin:14px 0; color:var(--vc-ink); overflow-x:auto; }\r\n.vc-info-box { background:var(--vc-blue-light); border-left:3px solid var(--vc-blue); padding:14px 16px; border-radius:0 6px 6px 0; margin:14px 0; }\r\n.vc-info-box p { margin:0; font-size:14px; color:var(--vc-ink-secondary); }\r\n.vc-warning-box { background:var(--vc-yellow-light); border-left:3px solid var(--vc-yellow); padding:14px 16px; border-radius:0 6px 6px 0; margin:14px 0; }\r\n.vc-example-box { background:var(--vc-surface-alt); border:1px solid var(--vc-border-light); border-radius:6px; padding:16px; margin:14px 0; }\r\n.vc-example-title { font-family:var(--vc-mono); font-size:13px; font-weight:600; color:var(--vc-accent); margin-bottom:8px; }\r\n.vc-table { width:100%; border-collapse:collapse; margin:14px 0; font-size:13px; }\r\n.vc-table th, .vc-table td { padding:10px 12px; border:1px solid var(--vc-border-light); text-align:left; }\r\n.vc-table th { background:var(--vc-surface-alt); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:0.05em; color:var(--vc-ink-secondary); }\r\n.vc-table tr:nth-child(even) { background:var(--vc-surface-alt); }\r\n@media(max-width:600px) { .vc-table { font-size:12px; } .vc-table th, .vc-table td { padding:8px; } }\r\n\r\n\/* \u2500\u2500 FAQ \u2500\u2500 *\/\r\n.vc-faq-list { display:flex; flex-direction:column; gap:8px; margin-top:20px; }\r\n.vc-faq-item { border:1px solid var(--vc-border-light); border-radius:6px; overflow:hidden; }\r\n.vc-faq-q { width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border:none; background:var(--vc-surface-alt); cursor:pointer; font-family:var(--vc-font); font-size:15px; font-weight:600; color:var(--vc-ink); text-align:left; transition:background 0.15s; }\r\n.vc-faq-q:hover { background:#ede9e3; }\r\n.vc-faq-chevron { width:16px; height:16px; color:var(--vc-ink-muted); flex-shrink:0; transition:transform 0.25s; }\r\n.vc-faq-item.vc-open .vc-faq-chevron { transform:rotate(180deg); }\r\n.vc-faq-a { max-height:0; overflow:hidden; transition:max-height 0.35s; }\r\n.vc-faq-item.vc-open .vc-faq-a { max-height:1200px; }\r\n.vc-faq-a-inner { padding:14px 16px; border-top:1px solid var(--vc-border-light); font-size:14px; color:var(--vc-ink-secondary); }\r\n.vc-faq-a-inner p { margin:0 0 8px; }\r\n.vc-faq-a-inner p:last-child { margin-bottom:0; }\r\n.vc-faq-a-inner ul { margin:4px 0 8px 16px; padding:0; }\r\n.vc-faq-a-inner li { margin-bottom:3px; }\r\n\r\n\/* \u2500\u2500 RELATED \u2500\u2500 *\/\r\n.vc-related { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }\r\n.vc-related-link { display:inline-block; padding:8px 16px; font-family:var(--vc-font); font-size:13px; font-weight:600; background:var(--vc-surface-alt); color:var(--vc-ink-secondary); border:1px solid var(--vc-border); border-radius:var(--vc-radius); text-decoration:none; transition:all 0.15s; }\r\n.vc-related-link:hover { border-color:var(--vc-accent); color:var(--vc-accent); background:var(--vc-accent-light); }\r\n\r\n\/* \u2500\u2500 PROMO \u2500\u2500 *\/\r\n.vc-promo { margin-top:24px; padding:20px; background:linear-gradient(135deg, var(--vc-accent-light), var(--vc-surface)); border:1px solid var(--vc-border); border-radius:var(--vc-radius-lg); display:flex; align-items:center; gap:16px; }\r\n.vc-promo-text { flex:1; font-size:14px; color:var(--vc-ink-secondary); }\r\n.vc-promo-text strong { color:var(--vc-ink); }\r\n.vc-promo-link { padding:8px 20px; font-size:13px; font-weight:700; color:#fff; background:var(--vc-accent); border-radius:var(--vc-radius); text-decoration:none; white-space:nowrap; transition:background 0.15s; }\r\n.vc-promo-link:hover { background:var(--vc-accent-hover); }\r\n\r\n\/* \u2500\u2500 FOOTER \u2500\u2500 *\/\r\n.vc-footer { text-align:center; padding:32px 16px; font-size:13px; color:var(--vc-ink-muted); }\r\n.vc-footer a { color:var(--vc-accent); text-decoration:none; }\r\n.vc-footer a:hover { text-decoration:underline; }\r\n.vc-footer-links { margin-top:8px; font-size:12px; }\r\n.vc-footer-links a { margin:0 8px; }\r\n\r\n\/* \u2500\u2500 PRINT \u2500\u2500 *\/\r\n@media print {\r\n    .vc-section-body { max-height:none!important; }\r\n    .vc-faq-a { max-height:none!important; }\r\n    .vc-results { max-height:none!important; padding:24px!important; }\r\n    .vc-copy-btn, .vc-section-chevron, .vc-faq-chevron, .vc-presets, .vc-promo { display:none!important; }\r\n}\r\n<\/style>\r\n\r\n<div class=\"vc-calculator\" id=\"vc-blade-correction\">\r\n\r\n<!-- Header -->\r\n<header class=\"vc-header\"><p class=\"vc-header-eyebrow\">Free Engineering Tool \u2014 #012<\/p><h1 class=\"vc-header-title\">Fixed-Position Correction Vector Calculator<\/h1><p class=\"vc-header-subtitle\">Resolve a same-radius correction vector between adjacent equally spaced positions and quantify the residual after available mass increments.<\/p><div class=\"vc-badges\"><span class=\"vc-badge\">Exact Vector Equilibrium<\/span><span class=\"vc-badge\">Mass-Step Optimization<\/span><span class=\"vc-badge\">Same Radius Only<\/span><\/div><\/header>\r\n\r\n<!-- Calculator Card -->\r\n<div class=\"vc-card\"><form class=\"vc-form\" id=\"vc-form\" autocomplete=\"off\"><div class=\"vc-form-grid\">\r\n<div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-positions\">Number of equal positions N<\/label><select class=\"vc-select\" id=\"vc-positions\"><option value=\"4\">4<\/option><option value=\"5\">5<\/option><option value=\"6\" selected>6<\/option><option value=\"8\">8<\/option><option value=\"10\">10<\/option><option value=\"12\">12<\/option><option value=\"16\">16<\/option><option value=\"20\">20<\/option><\/select><\/div>\r\n<div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-mass\">Requested added mass m <span class=\"vc-label-hint\">(g)<\/span><\/label><input class=\"vc-input\" type=\"text\" id=\"vc-mass\" inputmode=\"decimal\" value=\"15\"><\/div>\r\n<div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-angle\">Requested addition angle \u03b8 <span class=\"vc-label-hint\">(degrees from position 1)<\/span><\/label><input class=\"vc-input\" type=\"text\" id=\"vc-angle\" inputmode=\"decimal\" value=\"40\"><\/div>\r\n<div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-radius\">Common correction radius R <span class=\"vc-label-hint\">(mm)<\/span><\/label><input class=\"vc-input\" type=\"text\" id=\"vc-radius\" inputmode=\"decimal\" value=\"100\"><\/div>\r\n<div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-increment\">Available mass increment q <span class=\"vc-label-hint\">(g)<\/span><\/label><input class=\"vc-input\" type=\"text\" id=\"vc-increment\" inputmode=\"decimal\" value=\"0.1\"><\/div>\r\n<\/div><div class=\"vc-warning-box\"><p><strong>Coordinate and safety check:<\/strong> this assumes mass addition at one common radius. Confirm the balancing instrument&#8217;s angle datum, viewing side, positive direction and add\/remove convention. Use only structurally approved correction locations and attachment\/removal methods.<\/p><\/div><\/form>\r\n<div class=\"vc-results\" id=\"vc-results\"><div class=\"vc-results-head\"><h2 class=\"vc-results-title\">Correction Distribution<\/h2><button type=\"button\" class=\"vc-copy-btn\" id=\"vc-copy-btn\">Copy<\/button><\/div><div class=\"vc-result-grid\">\r\n<div class=\"vc-rcard vc-rcard-primary\"><div class=\"vc-rcard-label\">Continuous exact masses<\/div><div class=\"vc-rcard-value\" id=\"vc-r-exact\">\u2014<\/div><\/div>\r\n<div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Position A<\/div><div class=\"vc-rcard-value\" id=\"vc-r-posa\">\u2014<\/div><\/div>\r\n<div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Position B<\/div><div class=\"vc-rcard-value\" id=\"vc-r-posb\">\u2014<\/div><\/div>\r\n<div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Best available-step masses<\/div><div class=\"vc-rcard-value\" id=\"vc-r-install\">\u2014<\/div><\/div>\r\n<div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Achieved correction vector<\/div><div class=\"vc-rcard-value\" id=\"vc-r-achieved\">\u2014<\/div><\/div>\r\n<div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Residual vector error<\/div><div class=\"vc-rcard-value\" id=\"vc-r-residual\">\u2014<\/div><\/div><\/div><\/div><\/div>\r\n<div class=\"vc-section vc-open\" id=\"vc-sec-theory\"><button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"true\"><span class=\"vc-section-toggle-text\"><span class=\"vc-section-icon\">\ud83d\udcd8<\/span><span class=\"vc-section-title\">Vector Derivation, Scope &amp; Standard Context<\/span><\/span><\/button><div class=\"vc-section-body\"><div class=\"vc-section-inner vc-theory\">\r\n<h3>Equal-radius vector decomposition<\/h3><div class=\"vc-formula-box\">m<sub>A<\/sub> = m sin(\u03b8<sub>B<\/sub>\u2212\u03b8) \/ sin(\u03b8<sub>B<\/sub>\u2212\u03b8<sub>A<\/sub>)<\/div><div class=\"vc-formula-box\">m<sub>B<\/sub> = m sin(\u03b8\u2212\u03b8<sub>A<\/sub>) \/ sin(\u03b8<sub>B<\/sub>\u2212\u03b8<sub>A<\/sub>)<\/div><p>These equations follow from resolving the two mass vectors into Cartesian components. Because all three radii are equal, radius cancels from the mass equations. The vector check uses U=mR, not the scalar sum of the two masses.<\/p>\r\n<h3>Practical mass increments<\/h3><p>The calculator searches nearby non-negative multiples of the entered mass increment and selects the pair with the smallest Cartesian residual against the requested unbalance vector. It reports the achieved vector and residual in g\u00b7mm.<\/p>\r\n<h3>Standard context<\/h3><p><a href=\"https:\/\/www.iso.org\/standard\/54074.html\" target=\"_blank\" rel=\"noopener\">ISO 21940-11:2016<\/a> plus <a href=\"https:\/\/www.iso.org\/standard\/78116.html\" target=\"_blank\" rel=\"noopener\">Amendment 1:2022<\/a> is current rigid-rotor procedure\/tolerance context and replaced ISO 1940-1:2003. The sine equations above are general vector mechanics, not claimed as formulas copied from ISO.<\/p>\r\n<div class=\"vc-info-box\"><p><strong>Limitations:<\/strong> equal radius, one correction plane, equally spaced positions, positive added masses and a rigid vector model. Different radii require moment decomposition in mass\u00d7radius units. Final residual must be verified by a balancing run.<\/p><\/div>\r\n<\/div><\/div><\/div><div class=\"vc-section\" id=\"vc-sec-related\">\r\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\">\r\n        <span class=\"vc-section-toggle-text\">\r\n            <span class=\"vc-section-icon\">\ud83d\udd17<\/span>\r\n            <span class=\"vc-section-title\">Related Calculators<\/span>\r\n        <\/span>\r\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\r\n    <\/button>\r\n    <div class=\"vc-section-body\">\r\n        <div class=\"vc-section-inner\">\r\n            <div class=\"vc-related\">\r\n                <a class=\"vc-related-link\" href=\"\/calculators\/influence-coefficient-calculator\/\">Influence Coefficient<\/a>\r\n                <a class=\"vc-related-link\" href=\"\/calculators\/correction-mass-decomposition\/\">Correction Mass Decomposition<\/a>\r\n                <a class=\"vc-related-link\" href=\"\/calculators\/rotor-critical-speed\/\">Rotor Critical Speed<\/a>\r\n                <a class=\"vc-related-link\" href=\"\/calculators\/trial-weight-calculator\/\">Trial Weight Calculator<\/a>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<!-- FAQ -->\r\n<div class=\"vc-section\" id=\"vc-sec-faq\">\r\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\">\r\n        <span class=\"vc-section-toggle-text\">\r\n            <span class=\"vc-section-icon\">\u2753<\/span>\r\n            <span class=\"vc-section-title\">Frequently Asked Questions<\/span>\r\n        <\/span>\r\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\r\n    <\/button>\r\n    <div class=\"vc-section-body\">\r\n        <div class=\"vc-section-inner\">\r\n            <div class=\"vc-faq-list\" id=\"vc-faq-list\"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<!-- Promo -->\r\n<div class=\"vc-promo\">\r\n    <div class=\"vc-promo-text\">\r\n        <strong>Vibromera \u2014 Portable Balancing &amp; Vibration Analysis<\/strong><br>\r\n        Balance fans, impellers, and turbines on-site with built-in blade correction. Professional instruments used in 50+ countries.\r\n    <\/div>\r\n    <a class=\"vc-promo-link\" href=\"https:\/\/vibromera.eu\/\" target=\"_blank\" rel=\"noopener\">Learn More<\/a>\r\n<\/div>\r\n\r\n<!-- Footer -->\r\n<footer class=\"vc-footer\"><p>\u00a9 2024\u20132026 <a href=\"https:\/\/vibromera.eu\/\">Vibromera<\/a> \u2014 Engineering Calculators<\/p><p style=\"font-size:12px;margin-top:4px;\">General planar vector mechanics; ISO 21940-11:2016+Amd 1:2022 context only. Scientific review: July 2026<\/p><\/footer>\r\n\r\n<\/div>\r\n\r\n<script>(function(){'use strict';var SLUG='blade-correction-calculator',ALLOWED=['4','5','6','8','10','12','16','20'];function $(id){return document.getElementById(id)}function parseN(raw){var s=String(raw).trim().replace(\/\\s+\/g,'');if(!\/^[+-]?(?:\\d+(?:[.,]\\d*)?|[.,]\\d+)$\/.test(s))return NaN;return Number(s.replace(',','.'))}function fmt(n,d){return n.toFixed(d).replace(\/(\\.\\d*?)0+$\/,'$1').replace(\/\\.$\/,'')}function rad(d){return d*Math.PI\/180}function norm(a){a%=360;return a<0?a+360:a}function vector(m,a,R){return{x:m*R*Math.cos(rad(a)),y:m*R*Math.sin(rad(a))}}\r\nfunction calculate(){var ns=$('vc-positions').value,m=parseN($('vc-mass').value),ang=parseN($('vc-angle').value),R=parseN($('vc-radius').value),step=parseN($('vc-increment').value);if(!ALLOWED.includes(ns)||![m,ang,R,step].every(isFinite)||m<=0||R<=0||step<=0){$('vc-results').classList.remove('vc-visible');return}var N=Number(ns),spacing=360\/N,a=norm(ang),q=a\/spacing,nearest=Math.round(q),idxA=Math.abs(q-nearest)<1e-10?((nearest%N)+N)%N:Math.floor(q),idxB=(idxA+1)%N,thetaA=idxA*spacing,thetaB=thetaA+spacing,ac=a;if(ac<thetaA)ac+=360;var delta=ac-thetaA,den=Math.sin(rad(spacing)),mA=m*Math.sin(rad(spacing-delta))\/den,mB=m*Math.sin(rad(delta))\/den;if(Math.abs(mA)<1e-12)mA=0;if(Math.abs(mB)<1e-12)mB=0;var target=vector(m,a,R),baseA=Math.round(mA\/step),baseB=Math.round(mB\/step),best=null;for(var ia=Math.max(0,baseA-8);ia<=baseA+8;ia++){for(var ib=Math.max(0,baseB-8);ib<=baseB+8;ib++){var ca=ia*step,cb=ib*step,va=vector(ca,thetaA,R),vb=vector(cb,thetaB,R),x=va.x+vb.x,y=va.y+vb.y,res=Math.hypot(x-target.x,y-target.y);if(!best||res<best.res-1e-12||(Math.abs(res-best.res)<1e-12&&ca+cb<best.ma+best.mb))best={ma:ca,mb:cb,x:x,y:y,res:res}}}var mag=Math.hypot(best.x,best.y),aa=norm(Math.atan2(best.y,best.x)*180\/Math.PI),targetU=m*R,pct=100*best.res\/targetU;$('vc-r-exact').innerHTML='A '+fmt(mA,4)+' g; B '+fmt(mB,4)+' g';$('vc-r-posa').innerHTML='#'+(idxA+1)+' <span class=\"vc-rcard-unit\">at '+fmt(norm(thetaA),4)+'\u00b0<\/span>';$('vc-r-posb').innerHTML='#'+(idxB+1)+' <span class=\"vc-rcard-unit\">at '+fmt(norm(thetaB),4)+'\u00b0<\/span>';$('vc-r-install').innerHTML='A '+fmt(best.ma,4)+' g; B '+fmt(best.mb,4)+' g';$('vc-r-achieved').innerHTML=fmt(mag,3)+' <span class=\"vc-rcard-unit\">g\u00b7mm @ '+fmt(aa,4)+'\u00b0<\/span>';$('vc-r-residual').innerHTML=fmt(best.res,4)+' <span class=\"vc-rcard-unit\">g\u00b7mm ('+fmt(pct,4)+'%)<\/span>';$('vc-results').classList.add('vc-visible');var u=new URL(location);u.searchParams.set('positions',N);u.searchParams.set('mass',m);u.searchParams.set('angle',ang);u.searchParams.set('radius',R);u.searchParams.set('increment',step);history.replaceState(null,'',u.toString());saveHistory({positions:N,mass:m,angle:ang,radius:R,increment:step,mA:mA,mB:mB,res:best.res,_summary:'#'+(idxA+1)+' '+fmt(best.ma,2)+'g + #'+(idxB+1)+' '+fmt(best.mb,2)+'g'})}\r\n$('vc-form').addEventListener('input',calculate);$('vc-form').addEventListener('change',calculate);$('vc-copy-btn').addEventListener('click',function(){var t='Fixed-position correction\\nExact: '+$('vc-r-exact').textContent+'\\n'+$('vc-r-posa').textContent+'; '+$('vc-r-posb').textContent+'\\nInstall: '+$('vc-r-install').textContent+'\\nAchieved: '+$('vc-r-achieved').textContent+'\\nResidual: '+$('vc-r-residual').textContent;if(navigator.clipboard)navigator.clipboard.writeText(t)});document.querySelectorAll('.vc-section-toggle').forEach(function(b){b.addEventListener('click',function(){this.closest('.vc-section').classList.toggle('vc-open')})});var faqData=[{q:'Is the decomposition exact?',a:'<p>Yes for continuous masses at one common radius; practical mass steps create residual.<\/p>'},{q:'Why can scalar mass sum exceed m?',a:'<p>Scalar mass is not vector unbalance; the vector sum is the relevant check.<\/p>'},{q:'What angle convention applies?',a:'<p>Position 1 is 0\u00b0. Match datum, view, positive direction and add\/remove convention to the instrument.<\/p>'},{q:'Is this an ISO formula?',a:'<p>No. It is ordinary planar vector equilibrium; ISO 21940-11 supplies wider rigid-rotor context.<\/p>'},{q:'Can I weld or grind any blade?',a:'<p>No. Use only structurally and aerodynamically approved correction methods and locations.<\/p>'}];var fl=$('vc-faq-list');faqData.forEach(function(f){fl.innerHTML+='<div class=\"vc-faq-item\"><button type=\"button\" class=\"vc-faq-q\">'+f.q+'<\/button><div class=\"vc-faq-a\"><div class=\"vc-faq-a-inner\">'+f.a+'<\/div><\/div><\/div>'});fl.addEventListener('click',function(e){var b=e.target.closest('.vc-faq-q');if(b)b.closest('.vc-faq-item').classList.toggle('vc-open')});function saveHistory(e){var a=[],k='vc_history_'+SLUG;try{a=JSON.parse(localStorage.getItem(k))||[]}catch(x){}e._ts=new Date().toISOString();a.unshift(e);try{localStorage.setItem(k,JSON.stringify(a.slice(0,10)))}catch(x){}}function load(){var p=new URLSearchParams(location.search),map={positions:'vc-positions',mass:'vc-mass',angle:'vc-angle',radius:'vc-radius',increment:'vc-increment'};Object.keys(map).forEach(function(k){if(p.has(k))$(map[k]).value=p.get(k)})}function init(){load();calculate()}if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init()})();<\/script>\r\n","protected":false},"excerpt":{"rendered":"<p>Exact equal-radius two-position correction vector with available mass-step optimization and residual-unbalance verification.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100036","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/da\/wp-json\/wp\/v2\/calculator\/100036","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/da\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/da\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":4,"href":"https:\/\/vibromera.eu\/da\/wp-json\/wp\/v2\/calculator\/100036\/revisions"}],"predecessor-version":[{"id":102326,"href":"https:\/\/vibromera.eu\/da\/wp-json\/wp\/v2\/calculator\/100036\/revisions\/102326"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/da\/wp-json\/wp\/v2\/media?parent=100036"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/da\/wp-json\/wp\/v2\/categories?post=100036"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/da\/wp-json\/wp\/v2\/tags?post=100036"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}