« Programmation objet et géométrie/SmallTalk par l'exemple » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Ligne 196 :
^ t1 x + x @ (t1 y + y)
</source>
 
===Colinéarité===
 
Deux vecteurs sont considérés par ''DrGeoII'' comme colinéaires si leur déterminant est proche de 0:
 
<source lang="smalltalk">
isCollinearWith: aVector
^ (vector crossProduct: aVector) closeTo: 0
</source>
 
Ce qui n'explique rien tant qu'on ne sait pas comment ''DrGeoII'' calcule le fameux déterminant:
 
<source lang="smalltalk">
crossProduct: t1
^ x * t1 y - (y * t1 x)
</source>
 
(différence entre les produits en croix)
 
===Produit scalaire===
Ligne 210 ⟶ 228 :
==Droites==
 
''DrGeoII'' gère les droites par leur représentation paramétrique, une droite étant définie par un point et un vecteur. Ce qui facilite la construction de la parallèle à une droite donnée par un point donné, et la gestion des segments (seul l'intervalle du paramètre est différent). Le détail serait trop long à déployer ici.
==Cercles==
 
[[Catégorie:Programmation objet et géométrie (livre)|SmallTalk par l'exemple]]