{"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\/lv\/uncategorized\/online-vector-calculator-for-rotor-balancing\/","title":{"rendered":"Tie\u0161saistes vektoru kalkulators rotora balans\u0113\u0161anai"},"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\">Vektoru kalkulators<\/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\">Vektoru kalkulators<\/h1>\n\n  <div class=\"vc-inputs\">\n    <div class=\"vc-vector-box\">\n      <div class=\"vc-vector-label\">Vektors A<\/div>\n      <div class=\"vc-fields\">\n        <div class=\"vc-field\">\n          <label class=\"vc-field-label\">Masa, g<\/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\">Le\u0146\u0137is, gr\u0101di<\/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\">Vektors B<\/div>\n      <div class=\"vc-fields\">\n        <div class=\"vc-field\">\n          <label class=\"vc-field-label\">Masa, g<\/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\">Le\u0146\u0137is, gr\u0101di<\/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\">Darb\u012bba<\/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\">Pievienot<\/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\">At\u0146emt<\/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\">Pret\u0113j\u0101<\/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\">M\u0113rogs<\/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\">X, Y<\/div>\n      <\/button>\n    <\/div>\n    <div class=\"vc-scalar-row\" id=\"vc-scalar-row\">\n      <label>Reizin\u0101t\u0101js 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\">Apr\u0113\u0137iniet<\/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>K\u0101 darbojas \u0161is kalkulators<\/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\">Kam paredz\u0113ts \u0161is kalkulators?<\/div>\n      <p class=\"vc-help-text\">\n        \u0160is kalkulators veic vektoru darb\u012bbas, izmantojot pol\u0101r\u0101s koordin\u0101tas (lielumu un le\u0146\u0137i). Tas ir paredz\u0113ts rotoru balans\u0113\u0161anas lietojumprogramm\u0101m, kur nel\u012bdzsvarot\u012bba tiek m\u0113r\u012bta k\u0101 masa noteikt\u0101 le\u0146\u0137a poz\u012bcij\u0101. Kalkulators pal\u012bdz apvienot vair\u0101kus nel\u012bdzsvarot\u012bbas r\u0101d\u012bjumus, noteikt korekcijas svara izvietojumu un veikt konvert\u0113\u0161anu starp koordin\u0101tu sist\u0113m\u0101m.\n      <\/p>\n    <\/div>\n\n    <div class=\"vc-help-section\">\n      <div class=\"vc-help-heading\">Ievades form\u0101ts<\/div>\n      <p class=\"vc-help-text\">\n        Katru vektoru nosaka divas v\u0113rt\u012bbas: masa (gramos vai patva\u013c\u012bg\u0101s m\u0113rvien\u012bb\u0101s) un le\u0146\u0137is (gr\u0101dos no 0 l\u012bdz 360). Atskaites le\u0146\u0137is 0\u00b0 ir v\u0113rsts uz aug\u0161u (pulksten 12\u00a0stundu poz\u012bcij\u0101), le\u0146\u0137iem palielinoties pulkste\u0146r\u0101d\u012bt\u0101ja virzien\u0101. Tas atbilst konvencijai, ko izmanto liel\u0101k\u0101 da\u013ca balans\u0113\u0161anas instrumentu, kur f\u0101zes atskaites punkts parasti ir atz\u012bm\u0113ts rotora aug\u0161pus\u0113.\n      <\/p>\n    <\/div>\n\n    <div class=\"vc-help-section\">\n      <div class=\"vc-help-heading\">Oper\u0101cijas<\/div>\n      <ul class=\"vc-help-list\">\n        <li><strong>Papildin\u0101jums (+)<\/strong> \u2014 Apvieno divus vektorus vien\u0101 rezult\u0113jo\u0161aj\u0101 vektor\u0101. Izmantojiet to, ja nepiecie\u0161ams atrast kop\u0113jo nel\u012bdzsvarot\u012bbu no vair\u0101kiem avotiem vai apvienot divus korekcijas svarus vien\u0101.<\/li>\n        <li><strong>At\u0146em\u0161ana (\u2212)<\/strong> \u2014 Apr\u0113\u0137ina starp\u012bbu starp diviem vektoriem (A m\u012bnus B). Noder\u012bgi, lai noteiktu atliku\u0161o nel\u012bdzsvarot\u012bbu p\u0113c korekcijas.<\/li>\n        <li><strong>Pret\u0113j\u0101 (\u00b1180\u00b0)<\/strong> \u2014 Pieskaita 180\u00b0 vektora A le\u0146\u0137im. Tas nor\u0101da poz\u012bciju, kur\u0101 j\u0101novieto korekcijas svars.<\/li>\n        <li><strong>M\u0113rogs (k\u00d7)<\/strong> \u2014 Reizina masu ar koeficientu k. B\u016btiski, p\u0101rr\u0113\u0137inot korekcijas masu at\u0161\u0137ir\u012bgam mont\u0101\u017eas r\u0101diusam: m2 = m1 \u00d7 (r1 \/ r2).<\/li>\n        <li><strong>Dekarta (X, Y)<\/strong> \u2014 P\u0101rv\u0113r\u0161 pol\u0101r\u0101s koordin\u0101tas Dekarta koordin\u0101t\u0113s: X = m \u00d7 cos(le\u0146\u0137is), Y = m \u00d7 sin(le\u0146\u0137is).<\/li>\n      <\/ul>\n    <\/div>\n\n    <div class=\"vc-help-section\">\n      <div class=\"vc-help-heading\">Tipiski pielietojumi<\/div>\n      <ul class=\"vc-help-list\">\n        <li><strong>Vienplaknes balans\u0113\u0161ana:<\/strong> Izm\u0113riet nel\u012bdzsvarot\u012bbu, izmantojiet pret\u0113j\u0101s kust\u012bbas funkciju, lai atrastu korekcijas le\u0146\u0137i, uzst\u0101diet svaru un p\u0101rbaudiet.<\/li>\n        <li><strong>Svaru apvieno\u0161ana:<\/strong> Nomainiet divus uzst\u0101d\u012btos korekcijas atsvarus ar vienu l\u012bdzv\u0113rt\u012bgu atsvaru, izmantojot saskait\u012b\u0161anu.<\/li>\n        <li><strong>R\u0101diusa konvert\u0113\u0161ana:<\/strong> Izmantojiet m\u0113rogu, lai p\u0101rr\u0113\u0137in\u0101tu masu, p\u0101rvietojot korekcijas svaru uz citu r\u0101diusu.<\/li>\n        <li><strong>Sadal\u012btie svari:<\/strong> Ja prec\u012bzs le\u0146\u0137is nav sasniedzams, korekcijas masu sadala starp diviem blakus eso\u0161iem l\u0101psti\u0146\u0101m.<\/li>\n      <\/ul>\n    <\/div>\n\n    <div class=\"vc-help-section\">\n      <div class=\"vc-help-heading\">1.\u00a0piem\u0113rs: Korekcijas svara poz\u012bcijas atra\u0161ana<\/div>\n      <div class=\"vc-help-example\">\n        Balans\u0113\u0161anas instruments par\u0101da nel\u012bdzsvarot\u012bbu <strong>15 grami pie 72\u00b0<\/strong>.<br><br>\n        Ievadiet vektoru A: masa = 15, le\u0146\u0137is = 72<br>\n        Izv\u0113lieties <strong>Pret\u0113j\u0101 (\u00b1180\u00b0)<\/strong> un noklik\u0161\u0137iniet uz Apr\u0113\u0137in\u0101t.<br><br>\n        Rezult\u0101ts: <strong>15 grami pie 252\u00b0<\/strong><br><br>\n        Lai kompens\u0113tu nel\u012bdzsvarot\u012bbu, 252\u00b0 poz\u012bcij\u0101 uzst\u0101diet 15 gramu korekcijas svaru.\n      <\/div>\n    <\/div>\n\n    <div class=\"vc-help-section\">\n      <div class=\"vc-help-heading\">2.\u00a0piem\u0113rs: divu svaru apvieno\u0161ana vien\u0101<\/div>\n      <div class=\"vc-help-example\">\n        P\u0113c vair\u0101k\u0101m balans\u0113\u0161anas iter\u0101cij\u0101m uz rotora ir uzst\u0101d\u012bti divi korekcijas atsvari: \n        <strong>5 grami 30\u00b0 temperat\u016br\u0101<\/strong> un <strong>8 grami 75\u00b0 temperat\u016br\u0101<\/strong>. J\u016bs v\u0113laties tos aizst\u0101t ar vienu svaru.<br><br>\n        Ievadiet vektoru A: Masa = 5, Le\u0146\u0137is = 30<br>\n        Ievadiet vektoru B: masa = 8, le\u0146\u0137is = 75<br>\n        Izv\u0113lieties <strong>Papildin\u0101jums (+)<\/strong> un noklik\u0161\u0137iniet uz Apr\u0113\u0137in\u0101t.<br><br>\n        Rezult\u0101ts: <strong>12,05 grami pie 57,9\u00b0<\/strong><br><br>\n        No\u0146emiet abus atsvarus un uzst\u0101diet vienu 12 gramu atsvaru aptuveni 58\u00b0 le\u0146\u0137\u012b. \u0160is viens atsvars rada t\u0101du pa\u0161u l\u012bdzsvaro\u0161anas efektu k\u0101 s\u0101kotn\u0113jie divi atsvari kop\u0101.\n      <\/div>\n    <\/div>\n\n    <div class=\"vc-help-section\">\n      <div class=\"vc-help-heading\">3.\u00a0piem\u0113rs: Korekcijas r\u0101diusa mai\u0146a<\/div>\n      <div class=\"vc-help-example\">\n        Balans\u0113\u0161anas sist\u0113ma apr\u0113\u0137in\u0101ja korekciju par <strong>20 grami<\/strong> r\u0101dius\u0101 <strong>100 mm<\/strong>. Tom\u0113r svars j\u0101uzst\u0101da r\u0101dius\u0101 <strong>80 mm<\/strong> vietas ierobe\u017eojumu d\u0113\u013c.<br><br>\n        T\u0101 k\u0101 l\u012bdzsvaro\u0161anas efekts ir atkar\u012bgs no masas un r\u0101diusa reizin\u0101juma (m \u00d7 r = const), jums ir j\u0101p\u0101rr\u0113\u0137ina: k = 100 \/ 80 = 1,25<br><br>\n        Ievadiet vektoru A: Masa = 20, Le\u0146\u0137is = (j\u016bsu korekcijas le\u0146\u0137is)<br>\n        Iestatiet reizin\u0101t\u0101ju k = 1,25<br>\n        Izv\u0113lieties <strong>M\u0113rogs (k\u00d7)<\/strong> un noklik\u0161\u0137iniet uz Apr\u0113\u0137in\u0101t.<br><br>\n        Rezult\u0101ts: <strong>25 grami<\/strong> taj\u0101 pa\u0161\u0101 le\u0146\u0137\u012b<br><br>\n        Pie maz\u0101ka r\u0101diusa (80 mm) t\u0101das pa\u0161as korekcijas sasnieg\u0161anai nepiecie\u0161ami 25 grami, nevis 20 grami.\n      <\/div>\n    <\/div>\n\n    <div class=\"vc-help-section\">\n      <div class=\"vc-help-heading\">4.\u00a0piem\u0113rs: Svara sadal\u012b\u0161ana starp diviem asme\u0146iem<\/div>\n      <div class=\"vc-help-example\">\n        Nepiecie\u0161am\u0101 korekcija ir <strong>10 grami pie 110\u00b0<\/strong>, bet svarus var piestiprin\u0101t tikai pie ventilatora l\u0101psti\u0146\u0101m, kas atrodas <strong>90\u00b0<\/strong> un <strong>126\u00b0<\/strong> (5 asme\u0146i, 36\u00b0 att\u0101lum\u0101 viens no otra).<br><br>\n        Korekcijas le\u0146\u0137is 110\u00b0 atrodas starp \u0161\u012bm div\u0101m l\u0101psti\u0146\u0101m. Lai noteiktu, cik liels atsvars j\u0101uzliek uz katras l\u0101psti\u0146as, \n        izmantojiet prec\u012bzu trigonometrisko sadal\u012bjumu (vienk\u0101r\u0161a masas proporcion\u0101la sadal\u012b\u0161ana p\u0113c le\u0146\u0137a ir tikai aptuvena un par vair\u0101kiem procentiem par maz kori\u0123\u0113 balans\u0113\u0161anas masu):<br><br>\n        Le\u0146\u0137iskais att\u0101lums l\u012bdz l\u0101psti\u0146ai pie 90\u00b0: \u03b1 = 110\u00b0 \u2212 90\u00b0 = 20\u00b0<br>\n        Le\u0146\u0137iskais att\u0101lums l\u012bdz l\u0101psti\u0146ai pie 126\u00b0: \u03b2 = 126\u00b0 \u2212 110\u00b0 = 16\u00b0<br>\n        Le\u0146\u0137is starp l\u0101psti\u0146\u0101m: \u03b1 + \u03b2 = 36\u00b0<br><br>\n        Atsvars uz 90\u00b0 l\u0101psti\u0146as: 10 \u00d7 sin(16\u00b0) \/ sin(36\u00b0) = <strong>4.69 g<\/strong><br>\n        Atsvars uz 126\u00b0 l\u0101psti\u0146as: 10 \u00d7 sin(20\u00b0) \/ sin(36\u00b0) = <strong>5.82 g<\/strong><br><br>\n        Lai p\u0101rbaud\u012btu, izmantojiet papildin\u0101jumu:<br>\n        Vektors A: masa = 4.69, le\u0146\u0137is = 90<br>\n        Vektors B: masa = 5.82, le\u0146\u0137is = 126<br>\n        Rezult\u0101ts: <strong>10 grami pie 110\u00b0<\/strong> \u2014 atbilst s\u0101kotn\u0113jai pras\u012bbai.\n      <\/div>\n    <\/div>\n\n    <div class=\"vc-help-section\">\n      <div class=\"vc-help-formulas\">\n        <div class=\"vc-help-heading\">Formulas<\/div>\n        No pol\u0101r\u0101 uz Dekarta sist\u0113mu: X = m \u00d7 cos(a), Y = m \u00d7 sin(a)<br>\n        Dekarta uz pol\u0101ro: m = sqrt(X\u00b2 + Y\u00b2), a = atan2(Y, X)<br>\n        R\u0101diusa korekcija: m2 = m1 \u00d7 (r1 \/ r2)<br>\n        Sadal\u012btie atsvari (prec\u012bzi): m1 = M \u00d7 sin(\u03b2) \/ sin(\u03b1 + \u03b2), m2 = M \u00d7 sin(\u03b1) \/ sin(\u03b1 + \u03b2), kur \u03b1 ir le\u0146\u0137iskais att\u0101lums no korekcijas le\u0146\u0137a l\u012bdz 1. l\u0101psti\u0146ai, bet \u03b2 ir le\u0146\u0137iskais att\u0101lums l\u012bdz 2. l\u0101psti\u0146ai\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\/lv\/wp-json\/wp\/v2\/posts\/20916","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vibromera.eu\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vibromera.eu\/lv\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/vibromera.eu\/lv\/wp-json\/wp\/v2\/comments?post=20916"}],"version-history":[{"count":5,"href":"https:\/\/vibromera.eu\/lv\/wp-json\/wp\/v2\/posts\/20916\/revisions"}],"predecessor-version":[{"id":20927,"href":"https:\/\/vibromera.eu\/lv\/wp-json\/wp\/v2\/posts\/20916\/revisions\/20927"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vibromera.eu\/lv\/wp-json\/wp\/v2\/media\/20918"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/lv\/wp-json\/wp\/v2\/media?parent=20916"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/lv\/wp-json\/wp\/v2\/categories?post=20916"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/lv\/wp-json\/wp\/v2\/tags?post=20916"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}