403Webshell
Server IP : 138.197.107.151  /  Your IP : 216.73.216.170
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux BloxBy-Builder 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64
User : wpbetasites_mrakzqskir ( 1022)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/silversharkdev/public/assets/libs/flot.curvedlines/docu/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/silversharkdev/public/assets/libs/flot.curvedlines/docu/MathStuff.tex
\documentclass[a4paper]{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[fleqn]{amsmath}
\usepackage{hyperref}

\begin{document}

\section{Math stuff}

Cubic interpolation for one segment $[x_k, x_{k+1}]$ can be described as:

\begin{equation*}
	\begin{aligned}
		f(t) &= c_{oef1}t^3 + c_{oef2}t^2 + c_{oef3}t + c_{oef4}  \hspace{1cm} with \\
		t(x) &= \frac{x - x_k}{x_{k+1} - x_k}
	\end{aligned}
\end{equation*}

\hspace{1cm} and

\begin{equation*}
	\begin{aligned}
		c_{oef1} &= 2p_0 - 2p_1 - m_0 - m_1 \\
		c_{oef2} &= -3p_0 + 3p_1 - 2m_0 - m_1 \\
		c_{oef3} &= m_0 \\
		c_{oef4} &= p_0
	\end{aligned}
\end{equation*}


(see Wikipedia-Links below)\\
\\
If we rewrite this as function of $d = x - x_k$ we get

\begin{equation*}
	\begin{aligned}
		f'(d) &= c_{oef1}' d^3 + c_{oef2}' d^2 + c_{oef3}' d + c_{oef4}' \hspace{1cm} with \\
		c_{oef1}' &= \frac{c_{oef1}}{(x_{k+1} - x_k)^3} \\
        c_{oef2}' &= \frac{c_{oef2}}{(x_{k+1} - x_k)^2} \\
        c_{oef3}' &= \frac{c_{oef3}}{x_{k+1} - x_k} \\
        c_{oef4}' &= c_{oef4}
    \end{aligned}
\end{equation*}
\\
The implemented algorithm uses two helper variables to calculate the coefficients of $f'$ efficiently:

\begin{equation*}
	\begin{aligned}
		common = m_k + m_{k+1} - 2 \frac{p_{k+1} - p_k}{x_{k+1} - x_k} \\
		invLength = \frac{1}{x_{k+1} - x_k}
    \end{aligned}
\end{equation*}
\\
We use $p_0 = p_k$, $p_1 = p_{k+1}$, $m_0 = m_k (x_{k+1} - x_k)$, $m_1 = m_{k+1} (x_{k+1} - x_k)$ and $s = \frac{p_{k+1}-p_k}{x_{k+1}-x_k}$. The tangents are scaled with the length of the segment. \\
\\
If we insert this into the equations for the coefficients we get the formulas that are used in the algorithm:

\begin{equation*}
\begin{aligned}
	c_{oef1}' &= \frac{c_{oef1}}{(x_{k+1} - x_k)^3} \\
	&= \frac{2p_0 - 2p_1 + m_0 + m_1}{(x_{k+1} - x_k)^3}\\
	&= (2p_k - 2p_{k+1} + m_k (x_{k+1} - x_k) + m_{k+1} (x_{k+1} - x_k) / (x_{k+1} - x_k)^3 \\
	&= \frac {(2p_k - 2p_{k+1} + m_k (x_{k+1} - x_k) + m_{k+1} (x_{k+1} - x_k)}{x_{k+1} - x_k} / (x_{k+1} - x_k)^2 \\
	&= (\frac {2p_k - 2p_{k+1}}{x_{k+1} - x_k} + m_k + m_{k+1}  ) * invLength^2 \\
	&= (-2\frac {p_{k+1}- p_k}{x_{k+1} - x_k} + m_k + m_{k+1}  ) * invLength^2 \\
	&= common * invLenght^2
\end{aligned}
\end{equation*}
 
\begin{equation*}
\begin{aligned}
	c_{oef2}' &= \frac{c_{oef2}}{(x_{k+1} - x_k)^2} \\
	&= (-3p_0 + 3p_1 - 2m_0 - m_1) / (x_{k+1} - x_k)^2 \\
	&= (-3p_k + 3p_{k+1} - 2* m_k (x_{k+1} - x_k) - m_{k+1} (x_{k+1} - x_k)) / (x_{k+1} - x_k)^2 \\
	&= (\frac{-3p_k + 3p_{k+1}}{x_{k+1} - x_k} - 2m_k - m_{k+1}) * invLenght \\
	&= (3\frac{p_{k+1} - p_k}{x_{k+1} - x_k} - 2m_k - m_{k+1}) * invLenght \\
	&=(\frac{p_{k+1} - p_k}{x_{k+1} - x_k} + 2\frac{p_{k+1} - p_k}{x_{k+1} - x_k} - m_k - m_{k+1} - m_k) * invLenght \\
	&= (s - common - m_k) * invLenght  
\end{aligned}    
\end{equation*}
 
\begin{equation*}
\begin{aligned}
	c_{oef3}' &= \frac{c_{oef3}}{x_{k+1} - x_k} \\
	&= \frac{m_0}{x_{k+1} - x_k} \\
	&= \frac{m_k (x_{k+1} - x_k)}{x_{k+1} - x_k} \\
 	&= m_k
\end{aligned}
\end{equation*}

\begin{equation*}
\begin{aligned}
	c_{oef4}' &= c_{oef4} = p_0 = p_k
\end{aligned}
\end{equation*}

\section{Useful Links}

\url{http://de.wikipedia.org/w/index.php?title=Kubisch_Hermitescher_Spline&oldid=130168003)}\\
\url{http://en.wikipedia.org/w/index.php?title=Monotone_cubic_interpolation&oldid=622341725}\\
\url{http://math.stackexchange.com/questions/45218/implementation-of-monotone-cubic-interpolation}\\
\url{http://math.stackexchange.com/questions/4082/equation-of-a-curve-given-3-points-and-additional-constant-requirements#4104}

\end{document}

Youez - 2016 - github.com/yon3zu
LinuXploit