1
### geometrie.bc - a large number of functions for use with GNU BC
3
## Not to be regarded as suitable for any purpose
4
## Not guaranteed to return correct answers
14
# Calcul de la surface d'un triangle connaissant les valeurs de la base et de la hauteur
21
# Calcul de la surface d'un triangle équilatéral, "triangle ayant trois côtés égaux" connaissant la longueur du côté
24
return( (sqrt(3)/4)*c^2 )
27
# Calcul de la surface d'un triangle isocèle "triangle ayant deux côtés égaux" connaissant la valeur des côtés égaux et de la base.
31
return( b/2*sqrt(c^2-(b/2)^2))
34
# Calcul de la surface d'un triangle scalène "triangle ayant trois côtés inégaux" connaissant la longueur des côtés.
40
return( sqrt(p*(p-a)*(p-b)*(p-c)))
43
# Calcul de l'hypoténuse d'un triangle rectangle connaissant les deux autres côtés (le triangle rectangle est un triangle ayant un angle de 90° ; l'hypoténuse est le plus grand côté, les deux autres côtés forment l'angle de 90°)
47
return( sqrt(a^2+b^2))
50
# Calcul d'un côté d'un triangle rectangle connaissant les longueurs de l'hypoténuse et de l'autre côté
54
return( sqrt(h^2-b^2))
57
# Calcul de la surface d'un triangle rectangle connaissant les deux côtés de l'angle droit.
64
# Calcul de la diagonale d'un carré connaissant la longueur du côté
70
# Calcul de la surface d'un carré connaissant la longueur du côté
76
# Calcul de la surface d'un carré connaissant la longueur de la diagonale
82
# Calcul de la diagonale d'un rectangle connaissant les valeurs de la base et de la hauteur
86
return( sqrt(b^2+h^2) )
89
# Calcul de la surface d'un rectangle ou parallélogramme connaissant les valeurs de la base et de la hauteur.
96
# Calcul de la surface d'un losange connaissant la longueur des diagonales
97
# (le losange est un quadrilatère ayant quatre côtés égaux et des angles adjacents inégaux).
98
# d1 = grande diagonale
99
# d2 = petite diagonale
105
# Calcul de la surface d'un trapèze connaissant les valeurs des deux bases et de la hauteur.
110
define s2t(h,b1,b2) {
111
return( (h*(b1+b2))/2 )
114
# Calcul de la surface d'un pentagone régulier connaissant la longueur des côtés (le pentagone régulier est un polygone ayant cinq côtés égaux et cinq angles égaux)
120
# Calcul de la surface d'un hexagone régulier connaissant la longueur d'un côté (l'hexagone régulier est un polygone ayant six côtés égaux et six angles internes égaux)
126
# Calcul du périmètre d'un cercle (circonférence) connaissant la valeur du diamètre
132
# Calcul de la surface d'un cercle connaissant la valeur du diamètre
138
# Calcul de la longueur d'un arc de cercle connaissant la valeur de l'angle au centre et la longueur du rayon
139
# v = valeur de l'angle au centre (en degré)
142
return( pi()/180*v*r )
145
# Calcul de la surface d'un secteur circulaire connaissant la valeur de l'angle au centre et la longueur du rayon (un secteur circulaire est la surface plane délimitée par un arc de cercle et deux rayons).
146
# v = valeur de l'angle au centre (en degré)grand diamètre
149
return( pi()/360*v*r^2 )
152
# Calcul de la surface d'une couronne circulaire connaissant la valeur des deux diamètres (une couronne circulaire est la surface plane comprise entre deux circonférences concentriques).
153
# d1 = grand diamètre
154
# d2 = petit diamètre
156
return( pi()/4*(d1^2 - d2^2) )
159
# Calcul de la surface d'un segment de parabole connaissant la valeur de la base et de la hauteur (on appelle segment de parabole la surface plane comprise entre un arc de parabole et la corde sous-tendue entre les extrémités de l'arc).
166
# Calcul de la surface d'une ellipse connaissant la longueur des deux axes
173
# Calcul de la longueur d'une hélice connaissant le nombre de spires, les valeurs du diamètre et de la hauteur
174
# n = nombre de spires
178
return( sqrt(pi()^2*n^2*d^2+h^2) )
181
# Calcul du volume d'un cube connaissant la longueur de l'arête
187
# Calcul d'une diagonale d'un cube
194
# Calcul du volume d'un parallélépipède connaissant les valeurs de la longueur et de la largeur de la base, et la hauteur
195
# a = longueur de la base
196
# b = largeur de la base
202
# Calcul du volume d'un cylindre connaissant les valeurs du diamètre et de la hauteur
206
return( pi()/4*d^2*h )
209
# Calcul du volume d'un cylindre creux connaissant les valeurs des deux diamètres et de la hauteur
210
# d1 = diamètre externe
211
# d2 = diamètre interne
213
define v2cyc(d1,d2,h) {
214
return( pi()/4*(d1^2-d2^2)*h )
217
# Calcul du volume d'un anneau à section carrée connaissant les valeurs des diamètres externes et internes
218
# d1 = diamètre externe
219
# d2 = diamètre interne
221
return( pi()/8*(d1-d2)^2*(d1+d2) )
224
# Calcul du volume d'un tore (anneau à section circulaire) connaissant la valeur du diamètre extérieur et celle du diamètre de la section de l'anneau
225
# d1 = diamètre externe
226
# d2 = diamètre interne
228
return( pi()^2/4*(d1-d2)*d2^2 )
231
# Calcul de la surface d'une sphère connaissant la valeur du diamètre
237
# Calcul du volume d'une sphère connaissant la valeur du diamètre
243
# Calcul de la surface d'une calotte sphérique connaissant les valeurs du diamètre du contour et de la hauteur
244
# d = diamètre du contour
245
# h = hauteur de la calotte
247
return( pi()/4*(d^2+4*h^2 ) )
250
# Calcul du volume d'une calotte sphérique connaissant la valeur du diamètre de la base et de la hauteur
251
# d = diamètre de la base
252
# h = hauteur de la calotte
254
return( pi()*h^2*((3*d^2+4*h^2)/(24*h)) )
257
# Calcul du volume d'une paraboloïde connaissant la valeur du diamètre de la base et de la hauteur
258
# d = diamètre de la base
259
# h = hauteur de la paraboloïde
261
return( pi()/8*d^2*h )