Given a function #f(x)# which is smooth enough in the neighbourhood of #x=a#, the tangent is a line through #(a, f(a))# which touches the graph of #f(x)# at #(a, f(a))#, but does not cross the graph within a short distance of that point.
The tangent line has the same slope as the function at that point.
What do we mean by slope of a function at a point?
If it exists, then it is the limit of the slope of lines through #(a, f(a))# and #(a+delta, f(a+delta))# as #delta->0#.
So given the graph of #f(x)# in the neighbourhood of #(a, f(a))#, you can place a ruler against #(a, f(a))# and rotate it about that point until it no longer cuts the curve of the function. Then the ruler indicates the tangent:
graph{(y-x^3+2x)(x-y-2.001) = 0 [-0.591, 1.909, -1.52, -0.27]}