« Mathématiques avec Python et Ruby/Points en Ruby » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 59 :
end
</source>
 
Pour afficher un point ''M'', on peut faire
 
<source lang="ruby">
puts(M.to_s)
</source>
 
mais aussi
 
<source lang="ruby">
puts(M)
</source>
 
puisque ''Ruby'' se charge automatiquement de la conversion ''to_s''.
 
=Deux points=
 
Le plus simple avec deux points, c'est le milieu, parce que c'est un objet de même type (un point):
 
==Milieu==
 
<source lang="ruby">
def milieu(q)
Point.new((@x+q.x)/2,(@y+q.y)/2)
end
</source>
 
La syntaxe est typique de ''Ruby'': On parle de "milieu avec q" en invoquant
 
<source lang="ruby">
puts(p.milieu(q))
</source>
 
==Vecteur==
 
Un peu hors sujet ici (on en reparlera dans [[Mathématiques_avec_Python_et_Ruby/Vecteurs_en_Ruby|le chapitre qui leur est consacré]]), le vecteur <math>\overrightarrow{AB}</math> est bel et bien associé à deux points: son origine ''A'' et son extrémité ''B''. Et ses coordonnées se calculent à partir de celles de ''A'' et de ''B'':
 
<source lang="ruby">
def vecteur(q)
Vecteur.new(q.x-@x,q.y-@y)
end
</source>
 
Ce qui oblige, soit à placer la classe [[Mathématiques_avec_Python_et_Ruby/Vecteurs_en_Ruby|vecteur]] dans le même fichier, soit à l'importer avec
 
<source lang="ruby">
require 'vector'
</source>
 
si on a enregistré ladire classe dans un fichier ''vector.rb''.
 
==Distance==