Radius of Curvature finding tool using Auto Level
Important Note:- This calculator is intended for preliminary estimation and educational purposes only. The results generated here are based on standard simplified assumptions and may not consider all factors necessary for a comprehensive Radius of Curvature calculations.
Higher-degree polynomials (like degree 9 or 10) can pass through every data point exactly, but they often:
Wobble wildly between points,
Predict poorly outside the range,
Give meaningless curvature.
So, only go to higher degrees if lower ones (e.g., 2–6) don’t give a good R².
To fit a degree-d polynomial, you need at least d + 1 points.
Example:
To fit a quadratic (degree 2), you need ≥ 3 points.
To fit a 6th-degree curve, you need ≥ 7 points.
Also, having only just enough points can lead to unstable or poor generalization. So:
For robust fitting: use more than d + 1 points.
Radius of Curvature via Auto Level (Step-by-Step Solved Example)
A survey team uses an Auto Level with a stadia constant multiplier of $K = 100$. Three survey points are taken in the field. Find the polynomial curve $y = f(x)$ of degree 2 (quadratic) fitting these points, and compute the Radius of Curvature ($R$) at target coordinate $x = 10.0\text{ m}$.
Field Survey Data:
- Point 1: USR = $1.450\text{ m}$, LSR = $1.350\text{ m}$, Bearing ($\theta_1$) = $30^\circ$
- Point 2: USR = $1.600\text{ m}$, LSR = $1.400\text{ m}$, Bearing ($\theta_2$) = $45^\circ$
- Point 3: USR = $1.750\text{ m}$, LSR = $1.450\text{ m}$, Bearing ($\theta_3$) = $60^\circ$
Step 1: Convert Stadia Readings to Cartesian Coordinates $(x, y)$
Using the tool's conversion equations:
$$\text{Stadia Difference } (S) = \text{USR} - \text{LSR}$$ $$x = S \times 100 \times \sin(\theta), \quad y = S \times 100 \times \cos(\theta)$$-
Point 1: $S_1 = 1.450 - 1.350 = 0.100\text{ m}$
$x_1 = 0.100 \times 100 \times \sin(30^\circ) = 10.000 \times 0.500 = \mathbf{5.000\text{ m}}$
$y_1 = 0.100 \times 100 \times \cos(30^\circ) = 10.000 \times 0.8660 = \mathbf{8.660\text{ m}}$ -
Point 2: $S_2 = 1.600 - 1.400 = 0.200\text{ m}$
$x_2 = 0.200 \times 100 \times \sin(45^\circ) = 20.000 \times 0.7071 = \mathbf{14.142\text{ m}}$
$y_2 = 0.200 \times 100 \times \cos(45^\circ) = 20.000 \times 0.7071 = \mathbf{14.142\text{ m}}$ -
Point 3: $S_3 = 1.750 - 1.450 = 0.300\text{ m}$
$x_3 = 0.300 \times 100 \times \sin(60^\circ) = 30.000 \times 0.8660 = \mathbf{25.981\text{ m}}$
$y_3 = 0.300 \times 100 \times \cos(60^\circ) = 30.000 \times 0.500 = \mathbf{15.000\text{ m}}$
Step 2: Build Normal Equations for Degree 2 Polynomial
A degree 2 polynomial model is $y = a_0 + a_1 x + a_2 x^2$. Matrix system $A \cdot a = B$ is constructed where:
$$A = \begin{bmatrix} N & \sum x & \sum x^2 \\ \sum x & \sum x^2 & \sum x^3 \\ \sum x^2 & \sum x^3 & \sum x^4 \end{bmatrix}, \quad B = \begin{bmatrix} \sum y \\ \sum x y \\ \sum x^2 y \end{bmatrix}$$Summation values from our points $(5, 8.66)$, $(14.142, 14.142)$, $(25.981, 15)$:
- $N = 3$
- $\sum x = 5.000 + 14.142 + 25.981 = \mathbf{45.123}$
- $\sum x^2 = 5^2 + 14.142^2 + 25.981^2 = 25 + 200 + 675 = \mathbf{900.000}$
- $\sum x^3 = 5^3 + 14.142^3 + 25.981^3 = 125 + 2828.4 + 17537.4 = \mathbf{20490.800}$
- $\sum x^4 = 5^4 + 14.142^4 + 25.981^4 = 625 + 40000 + 455640 = \mathbf{496265.000}$
- $\sum y = 8.660 + 14.142 + 15.000 = \mathbf{37.802}$
- $\sum xy = (5 \times 8.66) + (14.142 \times 14.142) + (25.981 \times 15) = 43.30 + 200.00 + 389.72 = \mathbf{633.020}$
- $\sum x^2 y = (25 \times 8.66) + (200 \times 14.142) + (675 \times 15) = 216.50 + 2828.40 + 10125.00 = \mathbf{13169.900}$
Step 3: Perform Gaussian Elimination to Solve Coefficients
Solving the matrix system for coefficients $[a_0, a_1, a_2]$ yields:
- $a_0 = \mathbf{4.276435}$
- $a_1 = \mathbf{0.932408}$
- $a_2 = \mathbf{-0.020005}$
Fitted Polynomial equation:
$$y = 4.276435 + 0.932408x - 0.020005x^2$$Step 4: Compute Derivatives and Radius of Curvature ($R$) at $x = 10.0\text{ m}$
- First Derivative $f'(x)$: $$f'(x) = a_1 + 2 a_2 x$$ $$f'(10.0) = 0.932408 + 2(-0.020005)(10.0) = 0.932408 - 0.400100 = \mathbf{0.532308}$$
- Second Derivative $f''(x)$: $$f''(x) = 2 a_2$$ $$f''(10.0) = 2(-0.020005) = \mathbf{-0.040010}$$
- Radius of Curvature Formula: $$R = \frac{[1 + (f'(x))^2]^{1.5}}{|f''(x)|}$$ $$R = \frac{[1 + (0.532308)^2]^{1.5}}{|-0.040010|} = \frac{[1 + 0.283352]^{1.5}}{0.040010}$$ $$R = \frac{(1.283352)^{1.5}}{0.040010} = \frac{1.454378}{0.040010} = \mathbf{36.350362\text{ m}}$$
Final Calculation Summary
| Parameter | Formula / Code Reference | Computed Output |
|---|---|---|
| Calculated Survey Points $(x, y)$ | $S \cdot 100 \cdot \sin(\theta), S \cdot 100 \cdot \cos(\theta)$ | (5.000, 8.660), (14.142, 14.142), (25.981, 15.000) |
| Fitted Polynomial (Degree 2) | gaussianElimination(A, B) |
y = 4.276435 + 0.932408x - 0.020005x² |
| First Derivative $f'(10.0)$ | $\sum i \cdot a_i \cdot x^{i-1}$ | 0.532308 |
| Second Derivative $f''(10.0)$ | $\sum i(i-1) \cdot a_i \cdot x^{i-2}$ | -0.040010 |
| Radius of Curvature ($R$) | $\frac{(1 + (f')^2)^{1.5}}{\|f''\|}$ | 36.350362 m |
0 Comments
If you have any doubts, suggestions , corrections etc. let me know