{"id":66847,"date":"2026-10-15T09:20:24","date_gmt":"2026-10-15T06:20:24","guid":{"rendered":"https:\/\/wpcalc.com\/en\/?p=66847"},"modified":"2026-10-15T09:20:24","modified_gmt":"2026-10-15T06:20:24","slug":"3d-vector-projection-calculator","status":"publish","type":"post","link":"https:\/\/wpcalc.com\/en\/mathematics\/3d-vector-projection-calculator\/","title":{"rendered":"3D Vector Projection Calculator"},"content":{"rendered":"<section class=\"not-prose calculator-box\" aria-labelledby=\"calculator-title\"><div class=\"flex items-baseline sm:items-center justify-between gap-2 sm:gap-3\"><div class=\"flex flex-col sm:flex-row sm:items-center gap-2\"><span class=\"icon icon-calculator text-primary-700! text-base! dark:text-primary-300!\" aria-hidden=\"true\"><\/span><h2 id=\"calculator-title\" class=\"text-lg font-display font-bold\">Project One 3D Vector onto Another<\/h2><\/div><div class=\"calcdash-favorite group\">\n  <button type=\"button\" class=\"favorite\" id=\"favorite\" data-favorite-id=\"66847\" data-favorite-title=\"3D Vector Projection\" data-favorite-url=\"https:\/\/wpcalc.com\/en\/mathematics\/3d-vector-projection-calculator\/\" data-favorite-excerpt=\"Enter the components of two 3D vectors and this calculator projects one onto the other, showing the scalar projection, vector projection, perpendicular component, dot product, magnitudes, and the angle between the vectors.\" aria-label=\"Add to Favorites\" data-favorite-icon=\"icon icon-geometry\">\n    <span class=\"icon icon-shape-star-empty\" aria-hidden=\"true\"><\/span>\n  <\/button>\n  <div class=\"calcdash-favorite__tip\" aria-hidden=\"true\">\n   <span class=\"favorite-tooltip\" id=\"favorite-tooltip\"><\/span>\n  <\/div>\n  <span class=\"sr-only\" role=\"status\" id=\"favorite-status\"><\/span>\n<\/div><\/div><form action=\"https:\/\/wpcalc.com\/en\/mathematics\/3d-vector-projection-calculator\/\" method=\"POST\" class=\"calculator\" id=\"calculator-66847\" data-post=\"66847\"><fieldset class=\"fieldset-input is-3\"><legend class=\"sr-only\">Input Fields<\/legend><div class=\"is-single field\" id=\"input-1\"><span class=\"font-semibold\">Vector a \u2014 components<\/span><\/div><div class=\"field has-term\" id=\"input-2\"><label for=\"field-2\">x-component (a\u2093)<\/label><div class=\"term\">a\u2093<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"number\" name=\"xcomponent_a\" id=\"field-2\" placeholder=\"2\" step=\"any\" value=\"2\"\/><\/div><div class=\"field has-term\" id=\"input-3\"><label for=\"field-3\">y-component (a\u1d67)<\/label><div class=\"term\">a\u1d67<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"number\" name=\"ycomponent_a\" id=\"field-3\" placeholder=\"3\" step=\"any\" value=\"3\"\/><\/div><div class=\"field has-term\" id=\"input-4\"><label for=\"field-4\">z-component (a_z)<\/label><div class=\"term\">a_z<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"number\" name=\"zcomponent_az\" id=\"field-4\" placeholder=\"1\" step=\"any\" value=\"1\"\/><\/div><div class=\"is-single field\" id=\"input-5\"><span class=\"font-semibold\">Vector b \u2014 components<\/span><\/div><div class=\"field has-term\" id=\"input-6\"><label for=\"field-6\">x-component (b\u2093)<\/label><div class=\"term\">b\u2093<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"number\" name=\"xcomponent_b\" id=\"field-6\" placeholder=\"1\" step=\"any\" value=\"1\"\/><\/div><div class=\"field has-term\" id=\"input-7\"><label for=\"field-7\">y-component (b\u1d67)<\/label><div class=\"term\">b\u1d67<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"number\" name=\"ycomponent_b\" id=\"field-7\" placeholder=\"0\" step=\"any\" value=\"0\"\/><\/div><div class=\"field has-term\" id=\"input-8\"><label for=\"field-8\">z-component (b_z)<\/label><div class=\"term\">b_z<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"number\" name=\"zcomponent_bz\" id=\"field-8\" placeholder=\"2\" step=\"any\" value=\"2\"\/><\/div><div class=\"is-single field\" id=\"input-9\"><span class=\"font-semibold\">Projection direction<\/span><\/div><div class=\"field is-single\" id=\"input-10\"><label for=\"field-10\">Project<\/label><div class=\"grid grid-cols-1\"><select id=\"field-10\" name=\"project\"><option value=\"ab\" selected>a onto b<\/option><option value=\"ba\">b onto a<\/option><\/select><svg class=\"pointer-events-none col-start-1 row-start-1 mr-2 size-5 self-center justify-self-end text-gray-500 sm:size-4\" viewBox=\"0 0 16 16\" fill=\"currentColor\" aria-hidden=\"true\" data-slot=\"icon\">\n              <path fill-rule=\"evenodd\" d=\"M4.22 6.22a.75.75 0 0 1 1.06 0L8 8.94l2.72-2.72a.75.75 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 7.28a.75.75 0 0 1 0-1.06Z\" clip-rule=\"evenodd\" \/>\n            <\/svg><\/div><\/div><\/fieldset><div class=\"buttons\"><button type=\"submit\" data-text=\"Re-Calculate\" id=\"calculate-button\" data-post=\"66847\">Calculate<\/button><button type=\"reset\">Reset<\/button><\/div><div class=\"field is-checkbox hidden!\" id=\"field-auto-calc\"><input type=\"checkbox\" id=\"auto-calc\"><label for=\"auto-calc\">Calculate automatically<\/label><small>If enabled, the result will update automatically when you change any value.<\/small><\/div><div class=\"fieldset-result is-hidden\" aria-labelledby=\"result-title\" aria-live=\"polite\" role=\"region\"> <h3 class=\"result-title bg-gradient-to-r from-primary-50 to-gray-50 dark:from-primary-900 dark:to-gray-800\" id=\"result-title\"><span class=\"icon icon-s-pulse\" aria-hidden=\"true\"><\/span> Your Projection<\/h3><div class=\"result-box\"><div class=\"field-result\" id=\"output-1\"><span class=\"field-title\"><span>Scalar projection<\/span><span class=\"result-term\">comp<\/span><\/span><span class=\"field-value\" id=\"result-1\"><\/span><button type=\"button\" class=\"copy-result\" data-tooltip=\"Copy Result\" aria-label=\"Copy Result\"><span class=\"copy-icon icon icon-document-copy\" aria-hidden=\"true\"><\/span><\/button><\/div><div class=\"field-result is-column\" id=\"output-2\"><span class=\"field-title\"><span>Vector projection<\/span><span class=\"result-term\">proj<\/span><\/span><span class=\"field-value\" id=\"result-2\"><\/span><button type=\"button\" class=\"copy-result\" data-tooltip=\"Copy Result\" aria-label=\"Copy Result\"><span class=\"copy-icon icon icon-document-copy\" aria-hidden=\"true\"><\/span><\/button><\/div><div class=\"field-result is-column\" id=\"output-3\"><span class=\"field-title\"><span>Perpendicular component<\/span><span class=\"result-term\">rej<\/span><\/span><span class=\"field-value\" id=\"result-3\"><\/span><button type=\"button\" class=\"copy-result\" data-tooltip=\"Copy Result\" aria-label=\"Copy Result\"><span class=\"copy-icon icon icon-document-copy\" aria-hidden=\"true\"><\/span><\/button><\/div><div class=\"field-result\" id=\"output-4\"><span class=\"field-title\"><span>Dot product<\/span><span class=\"result-term\">a\u00b7b<\/span><\/span><span class=\"field-value\" id=\"result-4\"><\/span><button type=\"button\" class=\"copy-result\" data-tooltip=\"Copy Result\" aria-label=\"Copy Result\"><span class=\"copy-icon icon icon-document-copy\" aria-hidden=\"true\"><\/span><\/button><\/div><div class=\"field-result\" id=\"output-5\"><span class=\"field-title\"><span>Magnitude of a<\/span><span class=\"result-term\">|a|<\/span><\/span><span class=\"field-value\" id=\"result-5\"><\/span><button type=\"button\" class=\"copy-result\" data-tooltip=\"Copy Result\" aria-label=\"Copy Result\"><span class=\"copy-icon icon icon-document-copy\" aria-hidden=\"true\"><\/span><\/button><\/div><div class=\"field-result\" id=\"output-6\"><span class=\"field-title\"><span>Magnitude of b<\/span><span class=\"result-term\">|b|<\/span><\/span><span class=\"field-value\" id=\"result-6\"><\/span><button type=\"button\" class=\"copy-result\" data-tooltip=\"Copy Result\" aria-label=\"Copy Result\"><span class=\"copy-icon icon icon-document-copy\" aria-hidden=\"true\"><\/span><\/button><\/div><div class=\"field-result\" id=\"output-7\"><span class=\"field-title\"><span>Angle between vectors<\/span><span class=\"result-term\">\u03b8<\/span><\/span><span class=\"field-value\" id=\"result-7\" data-unit=\"\u00b0\"><\/span><button type=\"button\" class=\"copy-result\" data-tooltip=\"Copy Result\" aria-label=\"Copy Result\"><span class=\"copy-icon icon icon-document-copy\" aria-hidden=\"true\"><\/span><\/button><\/div><div class=\"field-result is-column\" id=\"output-8\"><span class=\"field-title\"><span>Calculation steps<\/span><\/span><span class=\"field-value\" id=\"result-8\"><\/span><button type=\"button\" class=\"copy-result\" data-tooltip=\"Copy Result\" aria-label=\"Copy Result\"><span class=\"copy-icon icon icon-document-copy\" aria-hidden=\"true\"><\/span><\/button><\/div><\/div><div class=\"result-actions\"><button type=\"button\" class=\"copy-link\"><svg viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z\"\/><path d=\"M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z\"\/><\/svg><span class=\"copy-link__text\">Copy link to this calculation<\/span><\/button><span class=\"sr-only\" role=\"status\" id=\"copy-link-status\"><\/span><\/div><\/div><a href=\"#respond\" class=\"hidden transition-opacity duration-300 opacity-0 w-50 text-sm justify-center items-center gap-2 px-4 py-2 rounded bg-gray-200 text-gray-700 hover:bg-gray-300\" id=\"leave-comment\"><span class=\"icon icon-comments\" aria-hidden=\"true\"><\/span>Leave a Comment<\/a><\/form><\/section><section id=\"calc-reactions\" class=\"not-prose hidden my-12 bg-gradient-to-r from-primary-50 to-gray-50 border border-indigo-100 rounded-xl px-6 py-4 shadow-sm\" data-post=\"66847\" aria-live=\"polite\" aria-labelledby=\"calc-reactions-title\"><p id=\"calc-reactions-title\" class=\"text-sm text-gray-500 text-center mb-2\">How did this result make you feel?<\/p><div role=\"group\" aria-labelledby=\"calc-reactions-title\" class=\"grid grid-cols-3 sm:flex sm:flex-row sm:justify-around gap-4 sm:items-center sm:flex-wrap\"><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"like\"><span class=\"reaction-count\" data-reaction-count=\"like\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude00 <\/span><span class=\"reaction-description font-medium\">Like <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"helpful\"><span class=\"reaction-count\" data-reaction-count=\"helpful\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\udca1 <\/span><span class=\"reaction-description font-medium\">Helpful <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"confused\"><span class=\"reaction-count\" data-reaction-count=\"confused\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude15 <\/span><span class=\"reaction-description font-medium\">Confused <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"disappointed\"><span class=\"reaction-count\" data-reaction-count=\"disappointed\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude1e <\/span><span class=\"reaction-description font-medium\">Disappointed <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"inaccurate\"><span class=\"reaction-count\" data-reaction-count=\"inaccurate\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\u274c <\/span><span class=\"reaction-description font-medium\">Inaccurate <\/span><\/button><\/div><div id=\"reaction-message\" class=\"hidden mt-8 rounded-md border border-primary-100 bg-white\/50 backdrop-blur-sm px-4 py-2 text-sm text-center shadow-sm\"><\/div><\/section><div class=\"calcdash-ad not-prose calcdash-ad--calc_result calcdash-ad--in-article\"><ins class=\"adsbygoogle\" style=\"display:block\" data-ad-client=\"ca-pub-1721569815777345\" data-ad-slot=\"6317458308\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\"><\/ins><script>(adsbygoogle = window.adsbygoogle || []).push({});<\/script><\/div>\n<style id=\"wpcoderpro-inline-1\">.formula-box {\r\n\tborder-bottom: none !important;\r\n}<\/style><section class=\"formula-box\" aria-labelledby=\"formula-title\">\r\n\t<div id=\"formula-title\" class=\"not-prose font-display mb-4\"><span class=\"icon icon-formula\" aria-hidden=\"true\"><\/span><h2>3D Vector Projection Formula<\/h2><\/div>\r\n\t<figure class=\"not-prose formula\">\r\n\t\t<figcaption class=\"formula-title\">Formula<\/figcaption>\r\n\t\t<div class=\"text-base text-gray-800\" id=\"formula\">\n\\[ \\operatorname{proj}_{\\mathbf{b}} \\mathbf{a} = \\frac{\\mathbf{a} \\cdot \\mathbf{b}}{\\lvert \\mathbf{b} \\rvert^2}\\, \\mathbf{b} \\]<\/div>\r\n\t<\/figure>\r\n\t<\/p>\n<p><strong>Where:<\/strong><\/p>\n<ul>\n<li>\\(\\mathbf{a} = (a_x, a_y, a_z)\\) \u2014 the vector being projected<\/li>\n<li>\\(\\mathbf{b} = (b_x, b_y, b_z)\\) \u2014 the vector that gives the direction<\/li>\n<li>\\(\\mathbf{a} \\cdot \\mathbf{b} = a_x b_x + a_y b_y + a_z b_z\\) \u2014 the dot product<\/li>\n<li>\\(\\lvert \\mathbf{b} \\rvert = \\sqrt{b_x^2 + b_y^2 + b_z^2}\\) \u2014 the magnitude (length) of \\(\\mathbf{b}\\)<\/li>\n<\/ul>\n<p>The formula expresses how much of \\(\\mathbf{a}\\) points in the direction of \\(\\mathbf{b}\\). The fraction \\(k = \\frac{\\mathbf{a} \\cdot \\mathbf{b}}{\\lvert \\mathbf{b} \\rvert^2}\\) scales \\(\\mathbf{b}\\) so the result is the shadow \\(\\mathbf{a}\\) casts onto the line through \\(\\mathbf{b}\\).<\/p>\n<p>Two related quantities come from the same projection:<\/p>\n<p>\\[ \\operatorname{comp}_{\\mathbf{b}} \\mathbf{a} = \\frac{\\mathbf{a} \\cdot \\mathbf{b}}{\\lvert \\mathbf{b} \\rvert} \\qquad \\operatorname{perp}_{\\mathbf{b}} \\mathbf{a} = \\mathbf{a} - \\operatorname{proj}_{\\mathbf{b}} \\mathbf{a} \\]<\/p>\n<p>The scalar projection (component) is the signed length of the shadow, and the perpendicular component (rejection) is the part of \\(\\mathbf{a}\\) left over, which is always orthogonal to \\(\\mathbf{b}\\).<\/p>\n<p>\r\n<\/section>\n<style id=\"wpcoderpro-inline-459\">.calculation-box {\r\n\tborder-bottom: none !important;\r\n}<\/style><section id=\"calculation\" class=\"calculation-box\" aria-labelledby=\"calculation-title\">\r\n\t<div id=\"calculation-title\" class=\"not-prose font-display\"><span class=\"icon icon-unordered-list\" aria-hidden=\"true\"><\/span><h2>3D Vector Projection \u2013 Calculation Example<\/h2><\/div>\r\n\r\n<\/p>\n<p><strong>Example:<\/strong> project \\(\\mathbf{a} = (2, 3, 1)\\) onto \\(\\mathbf{b} = (1, 0, 2)\\) (the calculator's default values).<\/p>\n<p>\\[ \\mathbf{a} \\cdot \\mathbf{b} = 2 \\cdot 1 + 3 \\cdot 0 + 1 \\cdot 2 = 4 \\]<\/p>\n<p>\\[ \\lvert \\mathbf{a} \\rvert = \\sqrt{2^2 + 3^2 + 1^2} = \\sqrt{14} \\approx 3.742, \\qquad \\lvert \\mathbf{b} \\rvert = \\sqrt{1^2 + 0^2 + 2^2} = \\sqrt{5} \\approx 2.236 \\]<\/p>\n<p>\\[ k = \\frac{\\mathbf{a} \\cdot \\mathbf{b}}{\\lvert \\mathbf{b} \\rvert^2} = \\frac{4}{5} = 0.8 \\]<\/p>\n<p>\\[ \\operatorname{proj}_{\\mathbf{b}} \\mathbf{a} = 0.8 \\cdot (1, 0, 2) = (0.8,\\ 0,\\ 1.6) \\]<\/p>\n<p>\\[ \\operatorname{perp}_{\\mathbf{b}} \\mathbf{a} = (2, 3, 1) - (0.8, 0, 1.6) = (1.2,\\ 3,\\ -0.6) \\]<\/p>\n<p><strong>Result:<\/strong> the scalar projection is \\(4 \/ \\sqrt{5} \\approx 1.789\\), the vector projection is \\((0.8, 0, 1.6)\\), and the perpendicular component is \\((1.2, 3, -0.6)\\) with magnitude \\(\\approx 3.286\\). The angle between the vectors is \\(\\arccos\\!\\left(\\tfrac{4}{\\sqrt{70}}\\right) \\approx 61.4\u00b0\\).<\/p>\n<p>\n\r\n<\/section>\n<h2>How to Use the Calculator<\/h2>\n<ol>\n<li>Enter the <strong>x-component (a\u2093)<\/strong>, <strong>y-component (a\u1d67)<\/strong> and <strong>z-component (a_z)<\/strong> of the first vector under \"Vector a \u2014 components\".<\/li>\n<li>Enter the three components of the second vector under \"Vector b \u2014 components\". Use 0 for any missing axis.<\/li>\n<li>Choose the <strong>Project<\/strong> option: \"a onto b\" finds how much of \\(\\mathbf{a}\\) lies along \\(\\mathbf{b}\\); \"b onto a\" reverses the roles.<\/li>\n<li>Read the results: the scalar projection, the vector projection, the perpendicular component, plus the dot product, both magnitudes, the angle between the vectors, and a step-by-step breakdown of the calculation.<\/li>\n<\/ol>\n<h2>What Is a 3D Vector Projection?<\/h2>\n<p>Geometrically, the projection of vector \\(\\mathbf{a}\\) onto vector \\(\\mathbf{b}\\) is the shadow \\(\\mathbf{a}\\) casts on the line through \\(\\mathbf{b}\\), as if light shone perpendicular to that line. The result is a new vector that points in exactly the same (or exactly opposite) direction as \\(\\mathbf{b}\\), with a length equal to how far \\(\\mathbf{a}\\) extends in that direction. This is also called the vector component of \\(\\mathbf{a}\\) along \\(\\mathbf{b}\\).<\/p>\n<p>Every projection splits a vector into two orthogonal parts: the projection itself (parallel to \\(\\mathbf{b}\\)) and the perpendicular component, often called the <em>rejection<\/em>. The two parts always add back to the original vector: \\(\\mathbf{a} = \\operatorname{proj}_{\\mathbf{b}} \\mathbf{a} + \\operatorname{perp}_{\\mathbf{b}} \\mathbf{a}\\), and their dot product is zero. This decomposition is the foundation of the Gram\u2013Schmidt process, of resolving forces into components in physics, and of least-squares fitting in statistics.<\/p>\n<p>The <strong>scalar projection<\/strong> answers the question \"how far along \\(\\mathbf{b}\\) does \\(\\mathbf{a}\\) reach?\" with a single signed number. It is positive when the angle between the vectors is less than 90\u00b0, zero when the vectors are perpendicular, and negative when the angle exceeds 90\u00b0 \u2014 meaning \\(\\mathbf{a}\\) points partly <em>against<\/em> \\(\\mathbf{b}\\). The angle itself follows from the dot product via \\(\\cos\\theta = \\frac{\\mathbf{a} \\cdot \\mathbf{b}}{\\lvert\\mathbf{a}\\rvert\\,\\lvert\\mathbf{b}\\rvert}\\), which is why the calculator reports it alongside the projection.<\/p>\n<p>Note that the projection scales with the length of \\(\\mathbf{b}\\) but not its direction: doubling \\(\\mathbf{b}\\) halves the scale factor \\(k\\), so the vector projection itself is unchanged. In other words, the projection depends on the <em>line<\/em> through \\(\\mathbf{b}\\), not on the specific vector \u2014 a direct-variation relationship between \\(k\\) and \\(\\lvert\\mathbf{b}\\rvert^{-2}\\). You can explore such proportional relationships with the <a href=\"https:\/\/wpcalc.com\/en\/mathematics\/direct-variation\/\">Direct Variation calculator<\/a>.<\/p>\n<h2>Assumptions, Limitations and Tips<\/h2>\n<ul>\n<li><strong>Non-zero vectors required.<\/strong> The direction vector must have a positive magnitude, because the formula divides by \\(\\lvert\\mathbf{b}\\rvert^2\\). A zero vector has no direction to project onto; the calculator will tell you which vector needs fixing.<\/li>\n<li><strong>Sign matters.<\/strong> A negative scalar projection is a valid result: it means the projection points opposite to \\(\\mathbf{b}\\), and the vector projection will contain negative multiples of \\(\\mathbf{b}\\)'s components.<\/li>\n<li><strong>Order matters.<\/strong> Projecting \\(\\mathbf{a}\\) onto \\(\\mathbf{b}\\) and \\(\\mathbf{b}\\) onto \\(\\mathbf{a}\\) generally give different vectors (only the scalar projections are related by \\(\\lvert\\mathbf{a}\\rvert\\) and \\(\\lvert\\mathbf{b}\\rvert\\)). Use the \"Project\" dropdown to switch directions.<\/li>\n<li><strong>Perpendicular check.<\/strong> If the dot product is 0, the vectors are orthogonal: the projection is the zero vector and the perpendicular component equals the original vector.<\/li>\n<li><strong>Magnitudes as RMS.<\/strong> The magnitude \\(\\lvert\\mathbf{v}\\rvert = \\sqrt{v_x^2 + v_y^2 + v_z^2}\\) is the root-mean-square of the three components multiplied by \\(\\sqrt{3}\\); the same averaging idea appears in the <a href=\"https:\/\/wpcalc.com\/en\/mathematics\/quadratic-mean-calculator-root-mean-square\/\">Quadratic Mean (RMS) calculator<\/a>.<\/li>\n<li><strong>Parallel vectors.<\/strong> If the two vectors are parallel (angle 0\u00b0 or 180\u00b0), the projection equals \\(\\mathbf{a}\\) itself (up to sign), and the perpendicular component is the zero vector.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Enter the components of two 3D vectors and this calculator projects one onto the other, showing the scalar projection, vector projection, perpendicular component, dot product, magnitudes, and the angle between the vectors.<\/p>\n","protected":false},"author":3168,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[7],"tags":[23],"class_list":["post-66847","post","type-post","status-publish","format-standard","hentry","category-mathematics","tag-geometry"],"acf":[],"_links":{"self":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/66847","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/users\/3168"}],"replies":[{"embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/comments?post=66847"}],"version-history":[{"count":1,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/66847\/revisions"}],"predecessor-version":[{"id":67116,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/66847\/revisions\/67116"}],"wp:attachment":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/media?parent=66847"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/categories?post=66847"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/tags?post=66847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}