Gravity components on an inclined plane calculator
This gravity components on an inclined plane calculator separates an object's weight into the two directions that matter for incline problems.
Run — free
Enter the object's mass and the plane angle, and it calculates the gravitational force pulling parallel to the surface and the gravitational force pressing perpendicular into it. Standard Earth gravity is supplied by default, but you can enter another positive value for a different location. Results are deterministic, expressed in newtons, and based directly on sine and cosine.
Understanding the two gravity components
Gravity always acts vertically downward, while an inclined surface defines a rotated pair of useful directions. One axis runs parallel to the plane and the other runs perpendicular to it. Resolving weight along those axes does not create new forces; it rewrites the same weight vector in a coordinate system that makes the mechanics easier to analyze. The parallel component points down the slope and is the part of gravity that tends to make an unsupported object slide. The perpendicular component points into the surface and describes how strongly gravity presses the object against the plane. For an object of mass m under gravitational acceleration g, the total weight has magnitude mg. If the incline angle theta is measured from the horizontal, the parallel magnitude is mg times sine of theta, while the perpendicular magnitude is mg times cosine of theta. At zero degrees, the parallel component is zero and all weight is perpendicular. At ninety degrees, the relationship reverses: all weight is parallel and the perpendicular component is zero. These endpoint checks are useful for recognizing an accidentally swapped sine and cosine before relying on a result.
How to enter values and interpret the result
Enter mass in kilograms and the incline angle in degrees from the horizontal. Mass must be greater than zero, and the supported angle range is zero through ninety degrees, inclusive. The calculator converts degrees to radians internally because JavaScript trigonometric functions operate in radians. Gravitational acceleration defaults to 9.80665 meters per second squared, the conventional standard value for Earth. You may replace it with another positive value when modeling a local approximation or a different celestial body. The result reports total weight, the parallel force, and the perpendicular force in newtons, along with the converted angle and the values used. These are magnitudes in an axis convention where down the slope is the positive parallel direction and into the plane is the perpendicular direction. A free-body diagram may assign different signs, so apply signs consistently when inserting these magnitudes into an equation. The perpendicular gravity component often equals the normal force only when no other force has a perpendicular component and there is no perpendicular acceleration. Likewise, the parallel gravity component is not automatically the net force when friction, tension, drag, or an applied force is present.
Using components in inclined-plane calculations
Once the weight is resolved, each direction can be analyzed with Newton's second law. Along the plane, start with the parallel gravity component and then include friction, tension, or any applied force with signs chosen from your coordinate convention. Perpendicular to the plane, combine the inward gravity component with the outward normal force and any other perpendicular forces. On a simple stationary contact surface with no extra perpendicular forces, the normal force magnitude matches the perpendicular gravity component. That normal force can then be used in a friction model such as kinetic friction equal to a coefficient times the normal force, although this calculator deliberately reports gravity components rather than assuming a friction model. Keep units consistent: kilograms multiplied by meters per second squared produces newtons. Do not enter weight in newtons as though it were mass, because multiplying it by g again would overstate every result. Rounding can also make reconstructed values differ slightly: theoretically, the square root of the sum of the squared components equals total weight. The calculator retains stable precision while cleaning tiny floating-point remnants near zero. For automated requests, the base price is $0.002; the same deterministic formulas apply on every run without network access, randomness, or stored state.
What you can do with it
Check a free-body diagram
Confirm that the weight vector has been split into the correct parallel and perpendicular magnitudes before writing force equations.
Prepare a friction calculation
Find the perpendicular gravity component used to determine the normal force in a simple contact model, then apply the chosen friction law separately.
Compare incline angles
See how increasing an incline shifts more of the fixed weight into the down-slope direction while reducing the component into the surface.
FAQ
Which component uses sine?
For an incline angle measured from the horizontal, the component parallel to the plane is mg sin(theta), and the perpendicular component is mg cos(theta).
Does perpendicular force always equal the normal force?
No. They match in the simple case with no other perpendicular forces and no perpendicular acceleration. Additional forces can change the normal force.
What value of gravity is used by default?
The default is standard gravity, 9.80665 meters per second squared. You can provide another positive value.
Why is the parallel component zero on a flat surface?
At zero degrees, sin(0) is zero, so gravity has no component along the horizontal surface; its full magnitude points perpendicular to it.
Are friction and acceleration included?
No. The calculator resolves gravitational force only. Use the returned components with other forces in a separate Newton's-law calculation.
What does an API calculation cost?
Each automated request has a base price of $0.002. The browser calculation uses the same deterministic mathematics.
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/trig/incline-component-gravity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mass":10,"angle":30}'const res = await fetch("https://api.kit.forhosting.com/trig/incline-component-gravity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mass": 10,
"angle": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/trig/incline-component-gravity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mass": 10,
"angle": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/trig/incline-component-gravity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mass":10,"angle":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mass":10,"angle":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/trig/incline-component-gravity", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"mass": 10,
"angle": 30
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "trig.incline_component_gravity",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |