{"id":20916,"date":"2025-12-20T23:28:00","date_gmt":"2025-12-20T23:28:00","guid":{"rendered":"https:\/\/vibromera.eu\/?p=20916"},"modified":"2025-12-21T17:45:09","modified_gmt":"2025-12-21T17:45:09","slug":"online-vector-calculator-for-rotor-balancing","status":"publish","type":"post","link":"https:\/\/vibromera.eu\/hi\/uncategorized\/online-vector-calculator-for-rotor-balancing\/","title":{"rendered":"\u0930\u094b\u091f\u0930 \u0938\u0902\u0924\u0941\u0932\u0928 \u0915\u0947 \u0932\u093f\u090f \u0911\u0928\u0932\u093e\u0907\u0928 \u0935\u0947\u0915\u094d\u091f\u0930 \u0915\u0948\u0932\u0915\u0941\u0932\u0947\u091f\u0930"},"content":{"rendered":"<div id=\"pl-20916\"  class=\"panel-layout\" ><div id=\"pg-20916-0\"  class=\"panel-grid panel-no-style\" ><div id=\"pgc-20916-0-0\"  class=\"panel-grid-cell\" ><div id=\"panel-20916-0-0-0\" class=\"widget_text so-panel widget widget_custom_html panel-first-child panel-last-child\" data-index=\"0\" ><h3 class=\"widget-title\">\u0935\u0947\u0915\u094d\u091f\u0930 \u0915\u0948\u0932\u0915\u0941\u0932\u0947\u091f\u0930<\/h3><div class=\"textwidget custom-html-widget\"><!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n\n  <style>\n    .vc-container {\n      font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n      max-width: 1400px;\n      margin: 0 auto;\n      padding: 16px;\n      background: #f8fafc;\n      box-sizing: border-box;\n    }\n    .vc-container * {\n      box-sizing: border-box;\n    }\n    .vc-title {\n      text-align: center;\n      font-size: 24px;\n      font-weight: 700;\n      color: #1e3a8a;\n      margin: 0 0 24px 0;\n    }\n    .vc-inputs {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: 16px;\n      margin-bottom: 20px;\n    }\n    @media (max-width: 500px) {\n      .vc-inputs { grid-template-columns: 1fr; }\n    }\n    .vc-vector-box {\n      padding: 16px;\n      border-radius: 8px;\n      border: 1px solid #bfdbfe;\n      background: #fff;\n    }\n    .vc-vector-label {\n      font-weight: 500;\n      color: #1e3a8a;\n      margin-bottom: 12px;\n    }\n    .vc-fields {\n      display: flex;\n      gap: 16px;\n    }\n    .vc-field {\n      flex: 1;\n    }\n    .vc-field-label {\n      font-size: 12px;\n      color: #2563eb;\n      font-weight: 500;\n      display: block;\n      margin-bottom: 4px;\n    }\n    .vc-field input {\n      width: 100%;\n      padding: 12px;\n      border: 1px solid #bfdbfe;\n      border-radius: 4px;\n      text-align: center;\n      font-family: monospace;\n      font-size: 18px;\n    }\n    .vc-field input:focus {\n      outline: none;\n      border-color: #3b82f6;\n      box-shadow: 0 0 0 2px rgba(59,130,246,0.3);\n    }\n    .vc-diagram {\n      display: flex;\n      justify-content: center;\n      margin-top: 12px;\n    }\n    .vc-diagram svg {\n      background: #eff6ff;\n      border-radius: 4px;\n    }\n    .vc-operations {\n      background: #fff;\n      border-radius: 8px;\n      border: 1px solid #bfdbfe;\n      padding: 16px;\n      margin-bottom: 20px;\n    }\n    .vc-operations-label {\n      font-size: 14px;\n      font-weight: 500;\n      color: #1e3a8a;\n      margin-bottom: 12px;\n    }\n    .vc-ops-grid {\n      display: grid;\n      grid-template-columns: repeat(5, 1fr);\n      gap: 8px;\n    }\n    @media (max-width: 500px) {\n      .vc-ops-grid { grid-template-columns: repeat(3, 1fr); }\n    }\n    .vc-op-btn {\n      padding: 12px 8px;\n      border-radius: 4px;\n      border: 1px solid #bfdbfe;\n      background: #eff6ff;\n      color: #1d4ed8;\n      cursor: pointer;\n      text-align: center;\n      transition: all 0.2s;\n    }\n    .vc-op-btn:hover {\n      background: #dbeafe;\n    }\n    .vc-op-btn.active {\n      background: #2563eb;\n      color: #fff;\n      border-color: #2563eb;\n    }\n    .vc-op-icon {\n      font-size: 16px;\n      font-weight: 700;\n    }\n    .vc-op-name {\n      font-size: 11px;\n      margin-top: 4px;\n    }\n    .vc-scalar-row {\n      display: none;\n      margin-top: 16px;\n      justify-content: center;\n      align-items: center;\n      gap: 12px;\n    }\n    .vc-scalar-row.visible {\n      display: flex;\n    }\n    .vc-scalar-row label {\n      font-size: 14px;\n      color: #1d4ed8;\n    }\n    .vc-scalar-row input {\n      width: 80px;\n      padding: 8px;\n      border: 1px solid #bfdbfe;\n      border-radius: 4px;\n      text-align: center;\n      font-family: monospace;\n    }\n    .vc-calc-btn {\n      width: 100%;\n      padding: 14px;\n      background: #2563eb;\n      color: #fff;\n      font-size: 16px;\n      font-weight: 600;\n      border: none;\n      border-radius: 8px;\n      cursor: pointer;\n      transition: background 0.2s;\n    }\n    .vc-calc-btn:hover {\n      background: #1d4ed8;\n    }\n    .vc-result {\n      display: none;\n      margin-top: 20px;\n      padding: 20px;\n      background: #fff;\n      border-radius: 8px;\n      border: 2px solid #93c5fd;\n    }\n    .vc-result.visible {\n      display: block;\n    }\n    .vc-result-label {\n      font-size: 14px;\n      color: #2563eb;\n      font-weight: 500;\n      margin-bottom: 8px;\n    }\n    .vc-result-values {\n      display: flex;\n      justify-content: center;\n      align-items: center;\n      gap: 32px;\n    }\n    .vc-result-item {\n      text-align: center;\n    }\n    .vc-result-num {\n      font-size: 28px;\n      font-family: monospace;\n      font-weight: 700;\n      color: #1e3a8a;\n    }\n    .vc-result-unit {\n      font-size: 12px;\n      color: #3b82f6;\n      margin-top: 4px;\n    }\n    .vc-result-sep {\n      font-size: 24px;\n      color: #93c5fd;\n    }\n    .vc-result-cartesian {\n      text-align: center;\n      font-size: 14px;\n      color: #3b82f6;\n      margin-top: 12px;\n      padding-top: 12px;\n      border-top: 1px solid #eff6ff;\n    }\n    .vc-result-note {\n      text-align: center;\n      font-size: 14px;\n      color: #1d4ed8;\n      background: #eff6ff;\n      padding: 8px;\n      border-radius: 4px;\n      border: 1px solid #bfdbfe;\n      margin-top: 12px;\n    }\n    .vc-result-diagram {\n      display: flex;\n      justify-content: center;\n      margin-top: 12px;\n    }\n    .vc-help-toggle {\n      width: 100%;\n      margin-top: 24px;\n      padding: 12px;\n      background: #fff;\n      border: 1px solid #bfdbfe;\n      border-radius: 8px;\n      color: #1d4ed8;\n      font-size: 14px;\n      font-weight: 500;\n      cursor: pointer;\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      transition: background 0.2s;\n    }\n    .vc-help-toggle:hover {\n      background: #eff6ff;\n    }\n    .vc-help-icon {\n      color: #93c5fd;\n    }\n    .vc-help-content {\n      display: none;\n      margin-top: 8px;\n      padding: 16px;\n      background: #fff;\n      border: 1px solid #bfdbfe;\n      border-radius: 8px;\n      font-size: 14px;\n      color: #1e3a8a;\n    }\n    .vc-help-content.visible {\n      display: block;\n    }\n    .vc-help-section {\n      margin-bottom: 20px;\n    }\n    .vc-help-section:last-child {\n      margin-bottom: 0;\n    }\n    .vc-help-heading {\n      font-weight: 600;\n      margin-bottom: 8px;\n    }\n    .vc-help-text {\n      color: #1d4ed8;\n      line-height: 1.5;\n    }\n    .vc-help-list {\n      color: #1d4ed8;\n      line-height: 1.6;\n      padding-left: 0;\n      list-style: none;\n    }\n    .vc-help-list li {\n      margin-bottom: 8px;\n    }\n    .vc-help-example {\n      background: #eff6ff;\n      padding: 12px;\n      border-radius: 4px;\n      border: 1px solid #bfdbfe;\n      color: #1e40af;\n      line-height: 1.6;\n    }\n    .vc-help-formulas {\n      font-family: monospace;\n      font-size: 12px;\n      color: #1d4ed8;\n      padding-top: 12px;\n      border-top: 1px solid #eff6ff;\n    }\n  <\/style>\n<\/head>\n<body>\n\n<div class=\"vc-container\">\n  <h1 class=\"vc-title\">\u0935\u0947\u0915\u094d\u091f\u0930 \u0915\u0948\u0932\u0915\u0941\u0932\u0947\u091f\u0930<\/h1>\n\n  <div class=\"vc-inputs\">\n    <div class=\"vc-vector-box\">\n      <div class=\"vc-vector-label\">\u0935\u0947\u0915\u094d\u091f\u0930 \u090f<\/div>\n      <div class=\"vc-fields\">\n        <div class=\"vc-field\">\n          <label class=\"vc-field-label\">\u0926\u094d\u0930\u0935\u094d\u092f\u092e\u093e\u0928, \u0917\u094d\u0930\u093e\u092e<\/label>\n          <input type=\"number\" id=\"vc-mass1\" value=\"10\" step=\"0.1\" min=\"0\">\n        <\/div>\n        <div class=\"vc-field\">\n          <label class=\"vc-field-label\">\u0915\u094b\u0923, \u0921\u093f\u0917\u094d\u0930\u0940<\/label>\n          <input type=\"number\" id=\"vc-angle1\" value=\"45\" step=\"1\">\n        <\/div>\n      <\/div>\n      <div class=\"vc-diagram\">\n        <svg id=\"vc-svg1\" width=\"80\" height=\"80\"><\/svg>\n      <\/div>\n    <\/div>\n\n    <div class=\"vc-vector-box\">\n      <div class=\"vc-vector-label\">\u0935\u0947\u0915\u094d\u091f\u0930 \u092c\u0940<\/div>\n      <div class=\"vc-fields\">\n        <div class=\"vc-field\">\n          <label class=\"vc-field-label\">\u0926\u094d\u0930\u0935\u094d\u092f\u092e\u093e\u0928, \u0917\u094d\u0930\u093e\u092e<\/label>\n          <input type=\"number\" id=\"vc-mass2\" value=\"8\" step=\"0.1\" min=\"0\">\n        <\/div>\n        <div class=\"vc-field\">\n          <label class=\"vc-field-label\">\u0915\u094b\u0923, \u0921\u093f\u0917\u094d\u0930\u0940<\/label>\n          <input type=\"number\" id=\"vc-angle2\" value=\"180\" step=\"1\">\n        <\/div>\n      <\/div>\n      <div class=\"vc-diagram\">\n        <svg id=\"vc-svg2\" width=\"80\" height=\"80\"><\/svg>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"vc-operations\">\n    <div class=\"vc-operations-label\">\u0938\u0902\u091a\u093e\u0932\u0928<\/div>\n    <div class=\"vc-ops-grid\">\n      <button class=\"vc-op-btn active\" data-op=\"add\">\n        <div class=\"vc-op-icon\">+<\/div>\n        <div class=\"vc-op-name\">Add<\/div>\n      <\/button>\n      <button class=\"vc-op-btn\" data-op=\"subtract\">\n        <div class=\"vc-op-icon\">\u2212<\/div>\n        <div class=\"vc-op-name\">\u0918\u091f\u093e\u0928\u093e<\/div>\n      <\/button>\n      <button class=\"vc-op-btn\" data-op=\"opposite\">\n        <div class=\"vc-op-icon\">\u00b1180\u00b0<\/div>\n        <div class=\"vc-op-name\">\u0935\u093f\u0932\u094b\u092e<\/div>\n      <\/button>\n      <button class=\"vc-op-btn\" data-op=\"scale\">\n        <div class=\"vc-op-icon\">k\u00d7<\/div>\n        <div class=\"vc-op-name\">\u092a\u0948\u092e\u093e\u0928\u093e<\/div>\n      <\/button>\n      <button class=\"vc-op-btn\" data-op=\"cartesian\">\n        <div class=\"vc-op-icon\">\u2192<\/div>\n        <div class=\"vc-op-name\">\u090f\u0915\u094d\u0938, \u0935\u093e\u0908<\/div>\n      <\/button>\n    <\/div>\n    <div class=\"vc-scalar-row\" id=\"vc-scalar-row\">\n      <label>\u0917\u0941\u0923\u0915 k:<\/label>\n      <input type=\"number\" id=\"vc-scalar\" value=\"2\" step=\"0.1\">\n    <\/div>\n  <\/div>\n\n  <button class=\"vc-calc-btn\" id=\"vc-calc-btn\">\u0917\u0923\u0928\u093e \u0915\u0930\u0947\u0902<\/button>\n\n  <div class=\"vc-result\" id=\"vc-result\">\n    <div class=\"vc-result-label\" id=\"vc-result-label\"><\/div>\n    <div class=\"vc-result-values\" id=\"vc-result-values\"><\/div>\n    <div class=\"vc-result-cartesian\" id=\"vc-result-cartesian\"><\/div>\n    <div class=\"vc-result-note\" id=\"vc-result-note\"><\/div>\n    <div class=\"vc-result-diagram\" id=\"vc-result-diagram\"><\/div>\n  <\/div>\n\n  <button class=\"vc-help-toggle\" id=\"vc-help-toggle\">\n    <span>\u092f\u0939 \u0915\u0948\u0932\u0915\u0941\u0932\u0947\u091f\u0930 \u0915\u0948\u0938\u0947 \u0915\u093e\u092e \u0915\u0930\u0924\u093e \u0939\u0948<\/span>\n    <span class=\"vc-help-icon\" id=\"vc-help-icon\">+<\/span>\n  <\/button>\n\n  <div class=\"vc-help-content\" id=\"vc-help-content\">\n    <div class=\"vc-help-section\">\n      <div class=\"vc-help-heading\">\u092f\u0939 \u0915\u0948\u0932\u0915\u0941\u0932\u0947\u091f\u0930 \u0915\u093f\u0938 \u0915\u093e\u092e \u0906\u0924\u093e \u0939\u0948?<\/div>\n      <p class=\"vc-help-text\">\n        \u092f\u0939 \u0915\u0948\u0932\u0915\u0941\u0932\u0947\u091f\u0930 \u0927\u094d\u0930\u0941\u0935\u0940\u092f \u0928\u093f\u0930\u094d\u0926\u0947\u0936\u093e\u0902\u0915\u094b\u0902 (\u092a\u0930\u093f\u092e\u093e\u0923 \u0914\u0930 \u0915\u094b\u0923) \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0915\u0947 \u0938\u0926\u093f\u0936 \u0938\u0902\u0915\u094d\u0930\u093f\u092f\u093e\u090f\u0901 \u0915\u0930\u0924\u093e \u0939\u0948\u0964 \u0907\u0938\u0947 \u0930\u094b\u091f\u0930 \u0938\u0902\u0924\u0941\u0932\u0928 \u0905\u0928\u0941\u092a\u094d\u0930\u092f\u094b\u0917\u094b\u0902 \u0915\u0947 \u0932\u093f\u090f \u0921\u093f\u091c\u093c\u093e\u0907\u0928 \u0915\u093f\u092f\u093e \u0917\u092f\u093e \u0939\u0948 \u091c\u0939\u093e\u0901 \u0905\u0938\u0902\u0924\u0941\u0932\u0928 \u0915\u094b \u090f\u0915 \u0935\u093f\u0936\u093f\u0937\u094d\u091f \u0915\u094b\u0923\u0940\u092f \u0938\u094d\u0925\u093f\u0924\u093f \u092a\u0930 \u0926\u094d\u0930\u0935\u094d\u092f\u092e\u093e\u0928 \u0915\u0947 \u0930\u0942\u092a \u092e\u0947\u0902 \u092e\u093e\u092a\u093e \u091c\u093e\u0924\u093e \u0939\u0948\u0964 \u092f\u0939 \u0915\u0948\u0932\u0915\u0941\u0932\u0947\u091f\u0930 \u0915\u0908 \u0905\u0938\u0902\u0924\u0941\u0932\u0928 \u092e\u093e\u092a\u094b\u0902 \u0915\u094b \u0938\u0902\u092f\u094b\u091c\u093f\u0924 \u0915\u0930\u0928\u0947, \u0938\u0939\u0940 \u092d\u093e\u0930 \u0932\u0917\u093e\u0928\u0947 \u0915\u093e \u0928\u093f\u0930\u094d\u0927\u093e\u0930\u0923 \u0915\u0930\u0928\u0947 \u0914\u0930 \u0928\u093f\u0930\u094d\u0926\u0947\u0936\u093e\u0902\u0915 \u092a\u094d\u0930\u0923\u093e\u0932\u093f\u092f\u094b\u0902 \u0915\u0947 \u092c\u0940\u091a \u0930\u0942\u092a\u093e\u0902\u0924\u0930\u0923 \u0915\u0930\u0928\u0947 \u092e\u0947\u0902 \u0938\u0939\u093e\u092f\u0915 \u0939\u0948\u0964.\n      <\/p>\n    <\/div>\n\n    <div class=\"vc-help-section\">\n      <div class=\"vc-help-heading\">\u0907\u0928\u092a\u0941\u091f \u092a\u094d\u0930\u093e\u0930\u0942\u092a<\/div>\n      <p class=\"vc-help-text\">\n        \u092a\u094d\u0930\u0924\u094d\u092f\u0947\u0915 \u0935\u0947\u0915\u094d\u091f\u0930 \u0915\u094b \u0926\u094b \u092e\u093e\u0928\u094b\u0902 \u0926\u094d\u0935\u093e\u0930\u093e \u092a\u0930\u093f\u092d\u093e\u0937\u093f\u0924 \u0915\u093f\u092f\u093e \u091c\u093e\u0924\u093e \u0939\u0948: \u0926\u094d\u0930\u0935\u094d\u092f\u092e\u093e\u0928 (\u0917\u094d\u0930\u093e\u092e \u092f\u093e \u0915\u093f\u0938\u0940 \u092d\u0940 \u0907\u0915\u093e\u0908 \u092e\u0947\u0902) \u0914\u0930 \u0915\u094b\u0923 (0 \u0938\u0947 360 \u0921\u093f\u0917\u094d\u0930\u0940 \u0924\u0915)\u0964 \u0938\u0902\u0926\u0930\u094d\u092d \u0915\u094b\u0923 0\u00b0 \u090a\u092a\u0930 \u0915\u0940 \u0913\u0930 (12 \u092c\u091c\u0947 \u0915\u0940 \u0938\u094d\u0925\u093f\u0924\u093f) \u0907\u0902\u0917\u093f\u0924 \u0915\u0930\u0924\u093e \u0939\u0948, \u0914\u0930 \u0915\u094b\u0923 \u0926\u0915\u094d\u0937\u093f\u0923\u093e\u0935\u0930\u094d\u0924 \u0926\u093f\u0936\u093e \u092e\u0947\u0902 \u092c\u0922\u093c\u0924\u0947 \u0939\u0948\u0902\u0964 \u092f\u0939 \u0905\u0927\u093f\u0915\u093e\u0902\u0936 \u0938\u0902\u0924\u0941\u0932\u0928 \u0909\u092a\u0915\u0930\u0923\u094b\u0902 \u0926\u094d\u0935\u093e\u0930\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0940 \u091c\u093e\u0928\u0947 \u0935\u093e\u0932\u0940 \u092a\u0930\u0902\u092a\u0930\u093e \u0938\u0947 \u092e\u0947\u0932 \u0916\u093e\u0924\u093e \u0939\u0948, \u091c\u0939\u093e\u0902 \u091a\u0930\u0923 \u0938\u0902\u0926\u0930\u094d\u092d \u0906\u092e\u0924\u094c\u0930 \u092a\u0930 \u0930\u094b\u091f\u0930 \u0915\u0947 \u0936\u0940\u0930\u094d\u0937 \u092a\u0930 \u0905\u0902\u0915\u093f\u0924 \u0939\u094b\u0924\u093e \u0939\u0948\u0964.\n      <\/p>\n    <\/div>\n\n    <div class=\"vc-help-section\">\n      <div class=\"vc-help-heading\">\u0938\u0902\u091a\u093e\u0932\u0928<\/div>\n      <ul class=\"vc-help-list\">\n        <li><strong>\u091c\u094b\u0921\u093c (+)<\/strong> \u2014 \u092f\u0939 \u0926\u094b \u0935\u0948\u0915\u094d\u091f\u0930\u094b\u0902 \u0915\u094b \u090f\u0915 \u092a\u0930\u093f\u0923\u093e\u092e\u0940 \u0935\u0948\u0915\u094d\u091f\u0930 \u092e\u0947\u0902 \u0938\u0902\u092f\u094b\u091c\u093f\u0924 \u0915\u0930\u0924\u093e \u0939\u0948\u0964 \u0907\u0938\u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0924\u092c \u0915\u0930\u0947\u0902 \u091c\u092c \u0906\u092a\u0915\u094b \u0915\u0908 \u0938\u094d\u0930\u094b\u0924\u094b\u0902 \u0938\u0947 \u0915\u0941\u0932 \u0905\u0938\u0902\u0924\u0941\u0932\u0928 \u091c\u094d\u091e\u093e\u0924 \u0915\u0930\u0928\u093e \u0939\u094b, \u092f\u093e \u0926\u094b \u0938\u0941\u0927\u093e\u0930 \u092d\u093e\u0930\u094b\u0902 \u0915\u094b \u090f\u0915 \u092e\u0947\u0902 \u0938\u0902\u092f\u094b\u091c\u093f\u0924 \u0915\u0930\u0928\u093e \u0939\u094b\u0964.<\/li>\n        <li><strong>\u0918\u091f\u093e\u0935 (\u2212)<\/strong> \u2014 \u092f\u0939 \u0926\u094b \u0938\u0926\u093f\u0936\u094b\u0902 (A \u092e\u093e\u0907\u0928\u0938 B) \u0915\u0947 \u092c\u0940\u091a \u0915\u093e \u0905\u0902\u0924\u0930 \u091c\u094d\u091e\u093e\u0924 \u0915\u0930\u0924\u093e \u0939\u0948\u0964 \u0938\u0941\u0927\u093e\u0930 \u0915\u0947 \u092c\u093e\u0926 \u0905\u0935\u0936\u093f\u0937\u094d\u091f \u0905\u0938\u0902\u0924\u0941\u0932\u0928 \u0915\u093e \u0928\u093f\u0930\u094d\u0927\u093e\u0930\u0923 \u0915\u0930\u0928\u0947 \u092e\u0947\u0902 \u0909\u092a\u092f\u094b\u0917\u0940 \u0939\u0948\u0964.<\/li>\n        <li><strong>\u0935\u093f\u092a\u0930\u0940\u0924 (\u00b1180\u00b0)<\/strong> \u2014 \u092f\u0939 \u0935\u0947\u0915\u094d\u091f\u0930 A \u0915\u0947 \u0915\u094b\u0923 \u092e\u0947\u0902 180\u00b0 \u091c\u094b\u0921\u093c\u0924\u093e \u0939\u0948\u0964 \u0907\u0938\u0938\u0947 \u0906\u092a\u0915\u094b \u0935\u0939 \u0938\u094d\u0925\u093f\u0924\u093f \u092e\u093f\u0932\u0924\u0940 \u0939\u0948 \u091c\u0939\u093e\u0902 \u0938\u0941\u0927\u093e\u0930 \u092d\u093e\u0930 \u0930\u0916\u093e \u091c\u093e\u0928\u093e \u091a\u093e\u0939\u093f\u090f\u0964.<\/li>\n        <li><strong>\u0938\u094d\u0915\u0947\u0932 (k\u00d7)<\/strong> \u2014 \u0926\u094d\u0930\u0935\u094d\u092f\u092e\u093e\u0928 \u0915\u094b \u0917\u0941\u0923\u093e\u0902\u0915 k \u0938\u0947 \u0917\u0941\u0923\u093e \u0915\u0930\u0924\u093e \u0939\u0948\u0964 \u0905\u0932\u0917 \u092e\u093e\u0909\u0902\u091f\u093f\u0902\u0917 \u0924\u094d\u0930\u093f\u091c\u094d\u092f\u093e \u0915\u0947 \u0932\u093f\u090f \u0938\u0941\u0927\u093e\u0930 \u0926\u094d\u0930\u0935\u094d\u092f\u092e\u093e\u0928 \u0915\u0940 \u092a\u0941\u0928\u0930\u094d\u0917\u0923\u0928\u093e \u0915\u0930\u0924\u0947 \u0938\u092e\u092f \u0906\u0935\u0936\u094d\u092f\u0915: m2 = m1 \u00d7 (r1 \/ r2)\u0964.<\/li>\n        <li><strong>\u0915\u093e\u0930\u094d\u091f\u0947\u0936\u093f\u092f\u0928 (X, Y)<\/strong> \u2014 \u0927\u094d\u0930\u0941\u0935\u0940\u092f \u0928\u093f\u0930\u094d\u0926\u0947\u0936\u093e\u0902\u0915\u094b\u0902 \u0915\u094b \u0915\u093e\u0930\u094d\u0924\u0940\u092f \u0928\u093f\u0930\u094d\u0926\u0947\u0936\u093e\u0902\u0915\u094b\u0902 \u092e\u0947\u0902 \u092a\u0930\u093f\u0935\u0930\u094d\u0924\u093f\u0924 \u0915\u0930\u0924\u093e \u0939\u0948: X = m \u00d7 cos(\u0915\u094b\u0923), Y = m \u00d7 sin(\u0915\u094b\u0923)\u0964.<\/li>\n      <\/ul>\n    <\/div>\n\n    <div class=\"vc-help-section\">\n      <div class=\"vc-help-heading\">\u0935\u093f\u0936\u093f\u0937\u094d\u091f \u0905\u0928\u0941\u092a\u094d\u0930\u092f\u094b\u0917<\/div>\n      <ul class=\"vc-help-list\">\n        <li><strong>\u090f\u0915\u0932-\u0924\u0932 \u0938\u0902\u0924\u0941\u0932\u0928:<\/strong> \u0905\u0938\u0902\u0924\u0941\u0932\u0928 \u0915\u094b \u092e\u093e\u092a\u0947\u0902, \u0935\u093f\u092a\u0930\u0940\u0924 \u092b\u0932\u0928 \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0915\u0947 \u0938\u0941\u0927\u093e\u0930 \u0915\u094b\u0923 \u091c\u094d\u091e\u093e\u0924 \u0915\u0930\u0947\u0902, \u092d\u093e\u0930 \u0938\u094d\u0925\u093e\u092a\u093f\u0924 \u0915\u0930\u0947\u0902 \u0914\u0930 \u0938\u0924\u094d\u092f\u093e\u092a\u093f\u0924 \u0915\u0930\u0947\u0902\u0964.<\/li>\n        <li><strong>\u092d\u093e\u0930\u094b\u0902 \u0915\u093e \u0938\u0902\u092f\u094b\u091c\u0928:<\/strong> \u091c\u094b\u0921\u093c \u0935\u093f\u0927\u093f \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0915\u0947 \u0938\u094d\u0925\u093e\u092a\u093f\u0924 \u0926\u094b \u0938\u0941\u0927\u093e\u0930 \u092d\u093e\u0930\u094b\u0902 \u0915\u094b \u090f\u0915 \u0938\u092e\u0924\u0941\u0932\u094d\u092f \u092d\u093e\u0930 \u0938\u0947 \u092c\u0926\u0932\u0947\u0902\u0964.<\/li>\n        <li><strong>\u0924\u094d\u0930\u093f\u091c\u094d\u092f\u093e \u0930\u0942\u092a\u093e\u0902\u0924\u0930\u0923:<\/strong> \u091c\u092c \u0906\u092a \u0915\u0930\u0947\u0915\u094d\u0936\u0928 \u0935\u0947\u091f \u0915\u094b \u0905\u0932\u0917 \u0924\u094d\u0930\u093f\u091c\u094d\u092f\u093e \u092a\u0930 \u0932\u0947 \u091c\u093e \u0930\u0939\u0947 \u0939\u094b\u0902 \u0924\u094b \u0926\u094d\u0930\u0935\u094d\u092f\u092e\u093e\u0928 \u0915\u0940 \u092a\u0941\u0928\u0930\u094d\u0917\u0923\u0928\u093e \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0938\u094d\u0915\u0947\u0932 \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0947\u0902\u0964.<\/li>\n        <li><strong>\u0935\u091c\u0928 \u0915\u094b \u0935\u093f\u092d\u093e\u091c\u093f\u0924 \u0915\u0930\u0947\u0902:<\/strong> \u091c\u092c \u0938\u091f\u0940\u0915 \u0915\u094b\u0923 \u092a\u094d\u0930\u093e\u092a\u094d\u0924 \u0915\u0930\u0928\u093e \u0938\u0902\u092d\u0935 \u0928 \u0939\u094b, \u0924\u094b \u0938\u0941\u0927\u093e\u0930 \u0926\u094d\u0930\u0935\u094d\u092f\u092e\u093e\u0928 \u0915\u094b \u0926\u094b \u0906\u0938\u0928\u094d\u0928 \u092c\u094d\u0932\u0947\u0921\u094b\u0902 \u092e\u0947\u0902 \u0935\u093f\u0924\u0930\u093f\u0924 \u0915\u0930\u0947\u0902\u0964.<\/li>\n      <\/ul>\n    <\/div>\n\n    <div class=\"vc-help-section\">\n      <div class=\"vc-help-heading\">\u0909\u0926\u093e\u0939\u0930\u0923 1: \u0938\u0939\u0940 \u092d\u093e\u0930 \u0915\u0940 \u0938\u094d\u0925\u093f\u0924\u093f \u091c\u094d\u091e\u093e\u0924 \u0915\u0930\u0928\u093e<\/div>\n      <div class=\"vc-help-example\">\n        \u0938\u0902\u0924\u0941\u0932\u0928 \u0909\u092a\u0915\u0930\u0923 \u0905\u0938\u0902\u0924\u0941\u0932\u0928 \u0915\u094b \u0926\u0930\u094d\u0936\u093e\u0924\u093e \u0939\u0948\u0964 <strong>72\u00b0C \u092a\u0930 15 \u0917\u094d\u0930\u093e\u092e<\/strong>.<br><br>\n        \u0935\u0947\u0915\u094d\u091f\u0930 A \u0926\u0930\u094d\u091c \u0915\u0930\u0947\u0902: \u0926\u094d\u0930\u0935\u094d\u092f\u092e\u093e\u0928 = 15, \u0915\u094b\u0923 = 72<br>\n        \u091a\u0941\u0928\u0928\u093e <strong>\u0935\u093f\u092a\u0930\u0940\u0924 (\u00b1180\u00b0)<\/strong> \u0914\u0930 \u0915\u0948\u0932\u0915\u0941\u0932\u0947\u091f \u092a\u0930 \u0915\u094d\u0932\u093f\u0915 \u0915\u0930\u0947\u0902\u0964.<br><br>\n        \u092a\u0930\u093f\u0923\u093e\u092e: <strong>252\u00b0C \u092a\u0930 15 \u0917\u094d\u0930\u093e\u092e<\/strong><br><br>\n        \u0905\u0938\u0902\u0924\u0941\u0932\u0928 \u0915\u094b \u0926\u0942\u0930 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f 252\u00b0 \u0915\u0940 \u0938\u094d\u0925\u093f\u0924\u093f \u092a\u0930 15 \u0917\u094d\u0930\u093e\u092e \u0915\u093e \u0938\u0941\u0927\u093e\u0930\u0915 \u092d\u093e\u0930 \u0938\u094d\u0925\u093e\u092a\u093f\u0924 \u0915\u0930\u0947\u0902\u0964.\n      <\/div>\n    <\/div>\n\n    <div class=\"vc-help-section\">\n      <div class=\"vc-help-heading\">\u0909\u0926\u093e\u0939\u0930\u0923 2: \u0926\u094b \u092d\u093e\u0930\u094b\u0902 \u0915\u094b \u090f\u0915 \u092e\u0947\u0902 \u092e\u093f\u0932\u093e\u0928\u093e<\/div>\n      <div class=\"vc-help-example\">\n        \u0915\u0908 \u092c\u093e\u0930 \u0938\u0902\u0924\u0941\u0932\u0928 \u0938\u094d\u0925\u093e\u092a\u093f\u0924 \u0915\u0930\u0928\u0947 \u0915\u0947 \u092c\u093e\u0926, \u0930\u094b\u091f\u0930 \u092a\u0930 \u0926\u094b \u0938\u0941\u0927\u093e\u0930 \u092d\u093e\u0930 \u0938\u094d\u0925\u093e\u092a\u093f\u0924 \u0915\u093f\u090f \u091c\u093e\u0924\u0947 \u0939\u0948\u0902: \n        <strong>30\u00b0C \u092a\u0930 5 \u0917\u094d\u0930\u093e\u092e<\/strong> and <strong>75\u00b0C \u092a\u0930 8 \u0917\u094d\u0930\u093e\u092e<\/strong>. \u0906\u092a \u0909\u0928\u094d\u0939\u0947\u0902 \u090f\u0915 \u0939\u0940 \u0935\u091c\u0928 \u0938\u0947 \u092c\u0926\u0932\u0928\u093e \u091a\u093e\u0939\u0924\u0947 \u0939\u0948\u0902\u0964.<br><br>\n        \u0935\u0947\u0915\u094d\u091f\u0930 A \u0926\u0930\u094d\u091c \u0915\u0930\u0947\u0902: \u0926\u094d\u0930\u0935\u094d\u092f\u092e\u093e\u0928 = 5, \u0915\u094b\u0923 = 30<br>\n        \u0935\u0947\u0915\u094d\u091f\u0930 B \u0926\u0930\u094d\u091c \u0915\u0930\u0947\u0902: \u0926\u094d\u0930\u0935\u094d\u092f\u092e\u093e\u0928 = 8, \u0915\u094b\u0923 = 75<br>\n        \u091a\u0941\u0928\u0928\u093e <strong>\u091c\u094b\u0921\u093c (+)<\/strong> \u0914\u0930 \u0915\u0948\u0932\u0915\u0941\u0932\u0947\u091f \u092a\u0930 \u0915\u094d\u0932\u093f\u0915 \u0915\u0930\u0947\u0902\u0964.<br><br>\n        \u092a\u0930\u093f\u0923\u093e\u092e: <strong>57.9\u00b0C \u092a\u0930 12.05 \u0917\u094d\u0930\u093e\u092e<\/strong><br><br>\n        \u0926\u094b\u0928\u094b\u0902 \u092d\u093e\u0930\u094b\u0902 \u0915\u094b \u0939\u091f\u093e \u0926\u0947\u0902 \u0914\u0930 \u0932\u0917\u092d\u0917 58\u00b0 \u0915\u0947 \u0915\u094b\u0923 \u092a\u0930 \u090f\u0915 12 \u0917\u094d\u0930\u093e\u092e \u0915\u093e \u092d\u093e\u0930 \u0938\u094d\u0925\u093e\u092a\u093f\u0924 \u0915\u0930\u0947\u0902\u0964 \u092f\u0939 \u0905\u0915\u0947\u0932\u093e \u092d\u093e\u0930 \u092e\u0942\u0932 \u0926\u094b\u0928\u094b\u0902 \u092d\u093e\u0930\u094b\u0902 \u0915\u0947 \u0938\u0902\u092f\u0941\u0915\u094d\u0924 \u092a\u094d\u0930\u092d\u093e\u0935 \u0915\u0947 \u0938\u092e\u093e\u0928 \u0939\u0940 \u0938\u0902\u0924\u0941\u0932\u0928 \u0909\u0924\u094d\u092a\u0928\u094d\u0928 \u0915\u0930\u0924\u093e \u0939\u0948\u0964.\n      <\/div>\n    <\/div>\n\n    <div class=\"vc-help-section\">\n      <div class=\"vc-help-heading\">\u0909\u0926\u093e\u0939\u0930\u0923 3: \u0938\u0941\u0927\u093e\u0930 \u0924\u094d\u0930\u093f\u091c\u094d\u092f\u093e \u092e\u0947\u0902 \u092a\u0930\u093f\u0935\u0930\u094d\u0924\u0928<\/div>\n      <div class=\"vc-help-example\">\n        \u0938\u0902\u0924\u0941\u0932\u0928 \u092a\u094d\u0930\u0923\u093e\u0932\u0940 \u0928\u0947 \u090f\u0915 \u0938\u0941\u0927\u093e\u0930 \u0915\u0940 \u0917\u0923\u0928\u093e \u0915\u0940\u0964 <strong>20 \u0917\u094d\u0930\u093e\u092e<\/strong> \u0924\u094d\u0930\u093f\u091c\u094d\u092f\u093e \u0915\u0947 \u0932\u093f\u090f <strong>100 \u092e\u093f\u092e\u0940<\/strong>. \u0939\u093e\u0932\u093e\u0901\u0915\u093f, \u0906\u092a\u0915\u094b \u0935\u091c\u0928 \u0915\u094b \u090f\u0915 \u0924\u094d\u0930\u093f\u091c\u094d\u092f\u093e \u092a\u0930 \u0938\u094d\u0925\u093e\u092a\u093f\u0924 \u0915\u0930\u0928\u093e \u0939\u094b\u0917\u093e\u0964 <strong>80 \u092e\u093f\u092e\u0940<\/strong> \u0938\u094d\u0925\u093e\u0928 \u0915\u0940 \u0915\u092e\u0940 \u0915\u0947 \u0915\u093e\u0930\u0923\u0964.<br><br>\n        \u0915\u094d\u092f\u094b\u0902\u0915\u093f \u0938\u0902\u0924\u0941\u0932\u0928 \u092a\u094d\u0930\u092d\u093e\u0935 \u0926\u094d\u0930\u0935\u094d\u092f\u092e\u093e\u0928 \u0914\u0930 \u0924\u094d\u0930\u093f\u091c\u094d\u092f\u093e \u0915\u0947 \u0917\u0941\u0923\u0928\u092b\u0932 \u092a\u0930 \u0928\u093f\u0930\u094d\u092d\u0930 \u0915\u0930\u0924\u093e \u0939\u0948 (m \u00d7 r = \u0938\u094d\u0925\u093f\u0930\u093e\u0902\u0915), \u0907\u0938\u0932\u093f\u090f \u0906\u092a\u0915\u094b \u092a\u0941\u0928\u0903 \u0917\u0923\u0928\u093e \u0915\u0930\u0928\u0940 \u0939\u094b\u0917\u0940: k = 100 \/ 80 = 1.25<br><br>\n        \u0935\u0947\u0915\u094d\u091f\u0930 A \u0926\u0930\u094d\u091c \u0915\u0930\u0947\u0902: \u0926\u094d\u0930\u0935\u094d\u092f\u092e\u093e\u0928 = 20, \u0915\u094b\u0923 = (\u0906\u092a\u0915\u093e \u0938\u0941\u0927\u093e\u0930 \u0915\u094b\u0923)<br>\n        \u0917\u0941\u0923\u0915 k \u0915\u094b 1.25 \u092a\u0930 \u0938\u0947\u091f \u0915\u0930\u0947\u0902\u0964<br>\n        \u091a\u0941\u0928\u0928\u093e <strong>\u0938\u094d\u0915\u0947\u0932 (k\u00d7)<\/strong> \u0914\u0930 \u0915\u0948\u0932\u0915\u0941\u0932\u0947\u091f \u092a\u0930 \u0915\u094d\u0932\u093f\u0915 \u0915\u0930\u0947\u0902\u0964.<br><br>\n        \u092a\u0930\u093f\u0923\u093e\u092e: <strong>25 \u0917\u094d\u0930\u093e\u092e<\/strong> \u090f\u0915 \u0939\u0940 \u0915\u094b\u0923 \u092a\u0930<br><br>\n        80 \u092e\u093f\u092e\u0940 \u0915\u0940 \u091b\u094b\u091f\u0940 \u0924\u094d\u0930\u093f\u091c\u094d\u092f\u093e \u092a\u0930, \u0938\u092e\u093e\u0928 \u0938\u0941\u0927\u093e\u0930 \u092a\u094d\u0930\u093e\u092a\u094d\u0924 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0906\u092a\u0915\u094b 20 \u0917\u094d\u0930\u093e\u092e \u0915\u0947 \u092c\u091c\u093e\u092f 25 \u0917\u094d\u0930\u093e\u092e \u0915\u0940 \u0906\u0935\u0936\u094d\u092f\u0915\u0924\u093e \u0939\u094b\u0924\u0940 \u0939\u0948\u0964.\n      <\/div>\n    <\/div>\n\n    <div class=\"vc-help-section\">\n      <div class=\"vc-help-heading\">\u0909\u0926\u093e\u0939\u0930\u0923 4: \u0926\u094b \u092c\u094d\u0932\u0947\u0921\u094b\u0902 \u0915\u0947 \u092c\u0940\u091a \u0935\u091c\u0928 \u0915\u094b \u0935\u093f\u092d\u093e\u091c\u093f\u0924 \u0915\u0930\u0928\u093e<\/div>\n      <div class=\"vc-help-example\">\n        \u0906\u0935\u0936\u094d\u092f\u0915 \u0938\u0941\u0927\u093e\u0930 \u092f\u0939 \u0939\u0948 <strong>110\u00b0 \u092a\u0930 10 \u0917\u094d\u0930\u093e\u092e<\/strong>, \u0932\u0947\u0915\u093f\u0928 \u0906\u092a \u0915\u0947\u0935\u0932 \u092a\u0902\u0916\u0947 \u0915\u0947 \u092c\u094d\u0932\u0947\u0921 \u092a\u0930 \u0939\u0940 \u0935\u091c\u0928 \u0932\u0917\u093e \u0938\u0915\u0924\u0947 \u0939\u0948\u0902 \u091c\u094b \u0938\u094d\u0925\u093f\u0924 \u0939\u0948\u0902 <strong>90\u00b0<\/strong> and <strong>\u0967\u0968\u096c\u00b0<\/strong> (5 \u092c\u094d\u0932\u0947\u0921, 36\u00b0 \u0915\u0947 \u0905\u0902\u0924\u0930\u093e\u0932 \u092a\u0930)\u0964.<br><br>\n        \u0938\u0941\u0927\u093e\u0930 \u0915\u094b\u0923 110\u00b0 \u0907\u0928 \u0926\u094b blades \u0915\u0947 \u092c\u0940\u091a \u0938\u094d\u0925\u093f\u0924 \u0939\u0948\u0964 \u092f\u0939 \u092a\u0924\u093e \u0932\u0917\u093e\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0915\u093f \u092a\u094d\u0930\u0924\u094d\u092f\u0947\u0915 blade \u092a\u0930 \u0915\u093f\u0924\u0928\u093e weight \u091c\u093e\u090f\u0917\u093e, \n        exact trigonometric split \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0947\u0902 (\u0915\u094b\u0923 \u0915\u0947 \u0905\u0928\u0941\u0938\u093e\u0930 mass \u0915\u093e \u0938\u0930\u0932 proportional split \u0915\u0947\u0935\u0932 \u090f\u0915 approximation \u0939\u0948 \u0914\u0930 balance mass \u0915\u094b \u0915\u0908 percent \u0924\u0915 \u0915\u092e \u0915\u0930 \u0926\u0947\u0924\u093e \u0939\u0948):<br><br>\n        Angular distance to the blade at 90\u00b0: \u03b1 = 110\u00b0 \u2212 90\u00b0 = 20\u00b0<br>\n        Angular distance to the blade at 126\u00b0: \u03b2 = 126\u00b0 \u2212 110\u00b0 = 16\u00b0<br>\n        blades \u0915\u0947 \u092c\u0940\u091a \u0915\u093e \u0915\u094b\u0923: \u03b1 + \u03b2 = 36\u00b0<br><br>\n        Weight on 90\u00b0 blade: 10 \u00d7 sin(16\u00b0) \/ sin(36\u00b0) = <strong>4.69 g<\/strong><br>\n        Weight on 126\u00b0 blade: 10 \u00d7 sin(20\u00b0) \/ sin(36\u00b0) = <strong>5.82 g<\/strong><br><br>\n        \u0938\u0924\u094d\u092f\u093e\u092a\u0928 \u0915\u0947 \u0932\u093f\u090f, \u091c\u094b\u0921\u093c \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0947\u0902:<br>\n        Vector A: Mass = 4.69, Angle = 90<br>\n        Vector B: Mass = 5.82, Angle = 126<br>\n        \u092a\u0930\u093f\u0923\u093e\u092e: <strong>110\u00b0 \u092a\u0930 10 \u0917\u094d\u0930\u093e\u092e<\/strong> \u2014 \u092e\u0942\u0932 \u0906\u0935\u0936\u094d\u092f\u0915\u0924\u093e \u0938\u0947 \u092e\u0947\u0932 \u0916\u093e\u0924\u093e \u0939\u0948\u0964.\n      <\/div>\n    <\/div>\n\n    <div class=\"vc-help-section\">\n      <div class=\"vc-help-formulas\">\n        <div class=\"vc-help-heading\">\u0938\u0942\u0924\u094d\u0930<\/div>\n        \u0927\u094d\u0930\u0941\u0935\u0940\u092f \u0938\u0947 \u0915\u093e\u0930\u094d\u0924\u0940\u092f \u0938\u092e\u0940\u0915\u0930\u0923: X = m \u00d7 cos(a), Y = m \u00d7 sin(a)<br>\n        \u0915\u093e\u0930\u094d\u091f\u0947\u0936\u093f\u092f\u0928 \u0938\u0947 \u092a\u094b\u0932\u0930: m = sqrt(X\u00b2 + Y\u00b2), a = atan2(Y, X)<br>\n        \u0924\u094d\u0930\u093f\u091c\u094d\u092f\u093e \u0938\u0941\u0927\u093e\u0930: m2 = m1 \u00d7 (r1 \/ r2)<br>\n        Split weights (exact): m1 = M \u00d7 sin(\u03b2) \/ sin(\u03b1 + \u03b2), m2 = M \u00d7 sin(\u03b1) \/ sin(\u03b1 + \u03b2), where \u03b1 is the angular distance from the correction angle to blade 1 and \u03b2 is the angular distance to blade 2\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function() {\n  let operation = 'add';\n\n  const mass1 = document.getElementById('vc-mass1');\n  const angle1 = document.getElementById('vc-angle1');\n  const mass2 = document.getElementById('vc-mass2');\n  const angle2 = document.getElementById('vc-angle2');\n  const scalarInput = document.getElementById('vc-scalar');\n  const scalarRow = document.getElementById('vc-scalar-row');\n  const calcBtn = document.getElementById('vc-calc-btn');\n  const resultDiv = document.getElementById('vc-result');\n  const resultLabel = document.getElementById('vc-result-label');\n  const resultValues = document.getElementById('vc-result-values');\n  const resultCartesian = document.getElementById('vc-result-cartesian');\n  const resultNote = document.getElementById('vc-result-note');\n  const resultDiagram = document.getElementById('vc-result-diagram');\n  const helpToggle = document.getElementById('vc-help-toggle');\n  const helpContent = document.getElementById('vc-help-content');\n  const helpIcon = document.getElementById('vc-help-icon');\n  const opBtns = document.querySelectorAll('.vc-op-btn');\n\n  function toCartesian(m, angleDeg) {\n    const rad = angleDeg * Math.PI \/ 180;\n    return { x: m * Math.cos(rad), y: m * Math.sin(rad) };\n  }\n\n  function toPolar(x, y) {\n    const m = Math.sqrt(x * x + y * y);\n    let a = Math.atan2(y, x) * 180 \/ Math.PI;\n    if (a < 0) a += 360;\n    return { mass: m, angle: a };\n  }\n\n  function formatNum(n, dec) {\n    dec = dec || 2;\n    if (Math.abs(n) < 0.0001) return '0';\n    return parseFloat(n.toFixed(dec)).toString();\n  }\n\n  function normalizeAngle(a) {\n    while (a < 0) a += 360;\n    while (a >= 360) a -= 360;\n    return a;\n  }\n\n  function drawVector(svgId, m, a, color) {\n    const svg = document.getElementById(svgId);\n    const cx = 40, cy = 40, r = 25;\n    const rad = (a - 90) * Math.PI \/ 180;\n    const ex = cx + r * Math.cos(rad);\n    const ey = cy + r * Math.sin(rad);\n    \n    svg.innerHTML = `\n      <circle cx=\"${cx}\" cy=\"${cy}\" r=\"30\" fill=\"none\" stroke=\"#bfdbfe\" stroke-width=\"1\"\/>\n      <line x1=\"${cx}\" y1=\"${cy}\" x2=\"${cx}\" y2=\"10\" stroke=\"#93c5fd\" stroke-width=\"1\"\/>\n      <text x=\"43\" y=\"9\" font-size=\"8\" fill=\"#3b82f6\">0<\/text>\n      ${m > 0 ? `<line x1=\"${cx}\" y1=\"${cy}\" x2=\"${ex}\" y2=\"${ey}\" stroke=\"${color}\" stroke-width=\"2\"\/>\n      <circle cx=\"${ex}\" cy=\"${ey}\" r=\"3\" fill=\"${color}\"\/>` : ''}\n      <circle cx=\"${cx}\" cy=\"${cy}\" r=\"2\" fill=\"#1e3a8a\"\/>\n    `;\n  }\n\n  function drawResultVector(m, a) {\n    const cx = 50, cy = 50, r = 35;\n    const rad = (a - 90) * Math.PI \/ 180;\n    const ex = cx + r * Math.cos(rad);\n    const ey = cy + r * Math.sin(rad);\n    \n    resultDiagram.innerHTML = `\n      <svg width=\"100\" height=\"100\" style=\"background:#eff6ff;border-radius:4px;\">\n        <circle cx=\"${cx}\" cy=\"${cy}\" r=\"40\" fill=\"none\" stroke=\"#bfdbfe\" stroke-width=\"1\"\/>\n        <line x1=\"${cx}\" y1=\"${cy}\" x2=\"${cx}\" y2=\"10\" stroke=\"#93c5fd\" stroke-width=\"1\"\/>\n        <line x1=\"${cx}\" y1=\"${cy}\" x2=\"90\" y2=\"${cy}\" stroke=\"#93c5fd\" stroke-width=\"1\"\/>\n        <text x=\"52\" y=\"8\" font-size=\"8\" fill=\"#3b82f6\">0<\/text>\n        <text x=\"92\" y=\"53\" font-size=\"8\" fill=\"#3b82f6\">90<\/text>\n        ${m > 0 ? `<line x1=\"${cx}\" y1=\"${cy}\" x2=\"${ex}\" y2=\"${ey}\" stroke=\"#1d4ed8\" stroke-width=\"2\"\/>\n        <circle cx=\"${ex}\" cy=\"${ey}\" r=\"4\" fill=\"#1d4ed8\"\/>` : ''}\n        <circle cx=\"${cx}\" cy=\"${cy}\" r=\"2\" fill=\"#1e3a8a\"\/>\n      <\/svg>\n    `;\n  }\n\n  function updateDiagrams() {\n    const m1 = parseFloat(mass1.value) || 0;\n    const a1 = normalizeAngle(parseFloat(angle1.value) || 0);\n    const m2 = parseFloat(mass2.value) || 0;\n    const a2 = normalizeAngle(parseFloat(angle2.value) || 0);\n    drawVector('vc-svg1', m1, a1, '#1d4ed8');\n    drawVector('vc-svg2', m2, a2, '#1d4ed8');\n  }\n\n  function calculate() {\n    const m1 = parseFloat(mass1.value) || 0;\n    const a1 = normalizeAngle(parseFloat(angle1.value) || 0);\n    const m2 = parseFloat(mass2.value) || 0;\n    const a2 = normalizeAngle(parseFloat(angle2.value) || 0);\n    const k = parseFloat(scalarInput.value) || 1;\n\n    const c1 = toCartesian(m1, a1);\n    const c2 = toCartesian(m2, a2);\n\n    let label = '', mass = 0, angle = 0, cart = null, note = '', isCartesian = false;\n\n    switch (operation) {\n      case 'add':\n        const sumX = c1.x + c2.x;\n        const sumY = c1.y + c2.y;\n        const sumP = toPolar(sumX, sumY);\n        label = 'Sum of vectors A + B';\n        mass = sumP.mass;\n        angle = sumP.angle;\n        cart = { x: sumX, y: sumY };\n        break;\n      case 'subtract':\n        const diffX = c1.x - c2.x;\n        const diffY = c1.y - c2.y;\n        const diffP = toPolar(diffX, diffY);\n        label = 'Difference A \u2212 B';\n        mass = diffP.mass;\n        angle = diffP.angle;\n        cart = { x: diffX, y: diffY };\n        break;\n      case 'opposite':\n        label = 'Correction weight position for vector A';\n        mass = m1;\n        angle = normalizeAngle(a1 + 180);\n        note = 'Place the correction mass at this angle to compensate for imbalance';\n        break;\n      case 'scale':\n        label = 'Vector A \u00d7 ' + k;\n        mass = m1 * k;\n        angle = a1;\n        break;\n      case 'cartesian':\n        label = 'Cartesian coordinates of vector A';\n        isCartesian = true;\n        cart = c1;\n        break;\n    }\n\n    resultDiv.classList.add('visible');\n    resultLabel.textContent = label;\n\n    if (isCartesian) {\n      resultValues.innerHTML = `\n        <div class=\"vc-result-item\">\n          <div class=\"vc-result-num\">X = ${formatNum(cart.x)}<\/div>\n        <\/div>\n        <div class=\"vc-result-item\">\n          <div class=\"vc-result-num\">Y = ${formatNum(cart.y)}<\/div>\n        <\/div>\n      `;\n      resultCartesian.style.display = 'none';\n      resultNote.style.display = 'none';\n      resultDiagram.innerHTML = '';\n    } else {\n      resultValues.innerHTML = `\n        <div class=\"vc-result-item\">\n          <div class=\"vc-result-num\">${formatNum(mass)}<\/div>\n          <div class=\"vc-result-unit\">grams<\/div>\n        <\/div>\n        <div class=\"vc-result-sep\">\/<\/div>\n        <div class=\"vc-result-item\">\n          <div class=\"vc-result-num\">${formatNum(angle, 1)}\u00b0<\/div>\n          <div class=\"vc-result-unit\">angle<\/div>\n        <\/div>\n      `;\n\n      if (cart) {\n        resultCartesian.textContent = 'X = ' + formatNum(cart.x) + ', Y = ' + formatNum(cart.y);\n        resultCartesian.style.display = 'block';\n      } else {\n        resultCartesian.style.display = 'none';\n      }\n\n      if (note) {\n        resultNote.textContent = note;\n        resultNote.style.display = 'block';\n      } else {\n        resultNote.style.display = 'none';\n      }\n\n      drawResultVector(mass, angle);\n    }\n  }\n\n  opBtns.forEach(function(btn) {\n    btn.addEventListener('click', function() {\n      opBtns.forEach(function(b) { b.classList.remove('active'); });\n      btn.classList.add('active');\n      operation = btn.getAttribute('data-op');\n      if (operation === 'scale') {\n        scalarRow.classList.add('visible');\n      } else {\n        scalarRow.classList.remove('visible');\n      }\n    });\n  });\n\n  calcBtn.addEventListener('click', calculate);\n\n  helpToggle.addEventListener('click', function() {\n    if (helpContent.classList.contains('visible')) {\n      helpContent.classList.remove('visible');\n      helpIcon.textContent = '+';\n    } else {\n      helpContent.classList.add('visible');\n      helpIcon.textContent = '\u2212';\n    }\n  });\n\n  mass1.addEventListener('input', updateDiagrams);\n  angle1.addEventListener('input', updateDiagrams);\n  mass2.addEventListener('input', updateDiagrams);\n  angle2.addEventListener('input', updateDiagrams);\n\n  updateDiagrams();\n})();\n<\/script>\n\n<\/body>\n<\/html><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Vector Calculator Vector Calculator Vector A Mass, g Angle, deg Vector B Mass, g Angle, deg Operation + Add \u2212 Subtract \u00b1180\u00b0 Opposite k\u00d7 Scale \u2192 X, Y Multiplier k: Calculate How this calculator works + What is this calculator for? This calculator performs vector operations using polar coordinates (magnitude [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":20918,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ai_generated_summary":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-20916","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/hi\/wp-json\/wp\/v2\/posts\/20916","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/hi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vibromera.eu\/hi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vibromera.eu\/hi\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/vibromera.eu\/hi\/wp-json\/wp\/v2\/comments?post=20916"}],"version-history":[{"count":5,"href":"https:\/\/vibromera.eu\/hi\/wp-json\/wp\/v2\/posts\/20916\/revisions"}],"predecessor-version":[{"id":20927,"href":"https:\/\/vibromera.eu\/hi\/wp-json\/wp\/v2\/posts\/20916\/revisions\/20927"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vibromera.eu\/hi\/wp-json\/wp\/v2\/media\/20918"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/hi\/wp-json\/wp\/v2\/media?parent=20916"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/hi\/wp-json\/wp\/v2\/categories?post=20916"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/hi\/wp-json\/wp\/v2\/tags?post=20916"}],"curies":[{"name":"\u0921\u092c\u094d\u0932\u094d\u092f\u0942\u092a\u0940","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}