Amplitude, period & phase shift calculator
For 3 sin(2x), the amplitude is 3 and the period is π. Enter the coefficients A, B, C and D of any sine function to get its amplitude, period, phase shift and vertical shift before you sketch the graph. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- A
- 3
- B
- 2
- C
- 0
- D
- 0
- Form
- A*sin(Bx+C)+D
- Amplitude
- 3
- Period
- 3.1415926536
- Phase shift
- 0
Graphing a sine wave starts with four numbers: how tall the wave is, how long one full cycle lasts, how far the graph is slid left or right, and how far it is lifted or dropped from the x-axis. Algebra textbooks write the general form as y equals A sine of Bx plus C, plus D, and ask students to read amplitude as the absolute value of A, period as two pi over the absolute value of B, phase shift as negative C over B, and vertical shift as D. Getting those four values wrong cascades into every later step—midline, critical points, and sketched intercepts.
What amplitude, period, phase shift, and vertical shift mean on y = A sin(Bx + C) + D
A sinusoidal function in standard position can be written y equals A times sine of the quantity Bx plus C, then plus D. Coefficient A stretches the basic unit sine wave vertically; the amplitude is the absolute value of A, so a negative A only reflects the graph through the x-axis without changing how far peaks sit from the midline.
Coefficient B compresses or stretches the graph horizontally; one full oscillation completes when the argument of sine advances by two pi, which yields the period formula two pi divided by the absolute value of B. The constant C inside the argument, together with B, produces a horizontal translation called the phase shift: rewrite Bx plus C as B times the quantity x plus C over B to see that the graph of sine of Bx is shifted by negative C over B.
Finally D raises or lowers the entire wave; that vertical shift is also the equation of the midline. Search intent clusters around phrases such as amplitude period phase calculator, find period of sine function, phase shift of sin Bx plus C, and vertical shift of a sine graph. Learners want a concrete four-tuple they can write beside a sketch—not an abstract discussion of Fourier coefficients.
FAQ
What happens if B is zero?
Period 2π/|B| and phase shift −C/B are undefined when B is zero; those failed calls are not charged.
Does a negative A change the amplitude?
No. Amplitude is always the absolute value of A. A negative A reflects the sine graph through the x-axis but leaves the amplitude unchanged.
Is the amplitude period phase calculator free?
The browser tool runs free on your device.
Are C and D required?
No. Both default to zero when omitted, matching y = A sin(Bx). You can still send them explicitly when the wave has a non-zero phase constant or vertical shift.
How do I find the period of 3 sin(2x)?
Divide 2π by the absolute value of B. With B equal to 2 the period is π, and with A equal to 3 the amplitude is 3, while the phase shift and vertical shift stay at 0.
Related tools
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/amplitude-period \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"A":3,"B":2}'const res = await fetch("https://api.kit.forhosting.com/trig/amplitude-period", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"A": 3,
"B": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/trig/amplitude-period",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"A": 3,
"B": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/trig/amplitude-period", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"A":3,"B":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"A":3,"B":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/trig/amplitude-period", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"A": 3,
"B": 2
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "trig.amplitude_period",
"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. |
Technical notes
This capacity accepts finite coefficients A, B, C, and D, rejects a zero B because period and phase shift are undefined when B vanishes, and returns structured JSON with amplitude, period, phase_shift, and vertical_shift. Failed validation raises invalid_input and is not charged.
What amplitude, period, phase shift, and vertical shift mean on y = A sin(Bx + C) + D
Delivering amplitude, period, phase_shift, and vertical_shift as JSON makes the result easy to paste into notes, diff in automated tests, or feed into a larger pipeline without reimplementing absolute values and the zero-B guard in every language you teach or deploy.
How this calculator validates coefficients and computes the four parameters
C and D default to zero when omitted, matching the common simplified form A sine of Bx. Edge cases are explicit: A equals three and B equals two with C and D zero give amplitude three, period pi, phase shift zero, vertical shift zero; A equals negative four, B equals one half, C equals pi over two, and D equals one give amplitude four, period four pi, phase shift negative pi, and vertical shift one. Send a JSON body with required fields A and B and optional fields C and D. Each coefficient must be a finite number—JSON numbers and numeric strings such as three or negative one half are accepted; words, empty strings, null, infinity, and NaN fail with invalid_input so those failed calls are not charged. If B is exactly zero, the request fails with a clear message: period is two pi over absolute B and phase shift is negative C over B, both undefined when B vanishes. On success the engine sets amplitude to the absolute value of A, period to two pi divided by the absolute value of B, phase_shift to negative C divided by B, and vertical_shift to D. Results are rounded to a stable ten-decimal precision so the same input always yields the same JSON, including for irrational periods such as pi or four pi.
Practical use, limits, pricing, and delivery channels
Use the browser tool when you want an immediate amplitude-period-phase-vertical quartet while checking homework, labeling a sine sketch, or confirming a midline without installing a computer-algebra system. Results are fully deterministic: the same coefficients always yield the same amplitude, period, phase shift, and vertical shift. There is no language model, no external computer-algebra service, and no randomness, so the capacity is safe to pin in continuous-integration checks and reproducible lesson materials. Each successful request is one billable item at $0.002; failed validation does not consume balance. Accepted input is any finite real A, B, C, and D with B non-zero; the response echoes the parsed coefficients, reports form A times sin of Bx plus C plus D, and returns the four graphing parameters with method sinusoidal_parameters. Wire the endpoint into unit-circle and wave demos, contest answer checkers, sensor-signal teaching notebooks that start from A-B-C-D coefficients, or floating pipelines where you already prefer explicit domain errors for a zero frequency coefficient over opaque black-box widgets that cannot show why a period failed to compute.
Integration use cases
Homework amplitude and period drills
Students and graders extract |A|, 2π/|B|, −C/B, and D from y = A sin(Bx + C) + D, with a clear invalid_input when B is zero.
Deterministic fixtures for trigonometry tests
Pipelines that seed unit tests or interactive sine-graph demos can call a pure parameter oracle instead of reimplementing absolute values and phase-shift algebra in every language.
Wave-model teaching helpers
Lesson platforms that let learners tweak A, B, C, and D and show amplitude, period, phase, and midline in a sidebar recover all four as structured JSON for the UI and for logs.
Technical questions
How do I find amplitude, period, phase shift, and vertical shift?
Send A and B (required) plus optional C and D to trig.amplitude_period. The response returns amplitude = |A|, period = 2π/|B|, phase_shift = −C/B, and vertical_shift = D.