This is how I think about it: you've got a model and a view. The model represents...well the model - in your case, a line from point A to point B in your coordinate space. The view displays what the model represents. The way in which you described, it seems you are taking the model, placing it in the view, then extrapolating properties of the model from the view. Another way is to extrapolate the properties (slope) of the model directly from the model rather than indirectly through the view. This is an example of a pattern in programming termed MVC (model-view-controller). The view displays the model, any properties you wish to gather is done so directly through the model, and to take the concept one step further the controller (C) extrapolates interaction from the view to change the model.