formes pascaliennes | formes élémentaires | coniques | straightaway | immersions | coque | pratique | forum | sandbox | liens
... and this page in english .

coniques


D'un point de vue algébrique, une pCourbe se présente sous la forme d'un polynome dont les coefficients sont des points :

On démontre que l'équation d'un cercle (x = r.cos(a) et y=r.sin(a), avec a dans [0,2.pi]), est irréductible à la forme polynomiale ; par un changement de variable (t=tan(a/2)) on peut au mieux la réduire au quotient de deux polynomes, dite forme "rationnelle" : x = (1-t^2)/(1+t^2), y = (2t)/(1+t^2), , avec t dans [-infini,+infini]. Il est donc a priori impossible de représenter un cercle avec les formes pascaliennes ! Par bonheur les grecs ont découvert les coniques : un cercle, une ellipse, une parabole, une hyperbole sont des courbes apparemment très différentes, si elles sont envisagées dans le plan. Considérées dans l'espace, elles peuvent être vues comme simples intersections entre un plan et un cône à base circulaire et c'est l'inclinaison du plan sur l'axe du cône qui fait les différences.

Le premier résultat est que chacune de ces courbes peut être vue comme projection de n'importe quelle autre depuis le sommet, et notamment le cercle comme projection de la parabole. L'ombre sur un plan d'une parabole tracée dans l'espace est un arc de cercle, à supposer que la source lumineuse ait été bien placée. L'intérêt ? Eh bien la plus simple des courbes pascaliennes, après la ligne droite, est une parabole ; on sait donc tracer des cercles sur un plan (espace bidimensionnel) à partir d'une parabole dans l'espace tridimensionnel, et en montant d'une dimension, on sait tracer des cercles dans notre espace tridimensionnel à partir de paraboles définies dans un espace quadridimensionnel. Peu importe qu'il soit difficile de visualiser un tel espace, on ne s'intéresse qu'à son ombre !

La porte est donc ouverte à la construction de cercles, puis de cylindres, de sphères, de tores, de toutes les formes de révolution. L'exemple présenté ici montre un tore presque complet sur lequel est tracé ... un cercle presque complet. Et c'est là l'un des intérêts de définir un cercle à partir d'une parabole (et pas à partir d'un simple compas) : la possibilité d'étendre la construction du cercle et des formes qu'il peut engendrer à des espaces courbes (comme la surface du tore). Un autre intérêt non négligeable est qu'il est possible d'oublier définitivement les fonctions trigonométriques (sinus, cosinus,...), simples leures cachant une transcendance inaccessible (ouaaaaaouhh!) ; définir un cercle par x = r.cos(a) et y=r.sin(a) semble anodin et est en fait terriblement frustrant, on fait appel à des fonctions transcendantes qui ont longtemps été consignées dans ce qu'on appelait les tables trigonométriques, pour finir hard-codées dans nos calculettes et ordinateurs.

images


def cercle_in_tore( r1=0.5, r2=0.2, r=0.3, avec_tore=true )
	section = Cercle.new( r2 )           # demi-cercle r2 sur l'origine
	section.translate( [r1,0,0] )        # translation de r1
	profil = Cercle.new( 1.0 )           # cercle unitaire
	pTore = Cross.new( profil, section ) # quart de tore [0°,0°]-[180°,180°]
	pTore.rotate( [90,0,0] )             # pivoté sur Ox
	pTore.complet()                      # ... tore complet [-90°,90°]-[270°,270°]
	if (avec_tore)                       # affichage conditionnel du tore
		pTore.build( 3 )
		pTore.draw( "S" )
	end
	pCercle = Cercle.new( r )            # arc de cercle 180°, rayon r
	pCercle.translate( [0.5,0.5,0.0] )   # défini en local sur le tore
	pCercle.complet()                    # cercle complet sur 360°
	tab = pCercle.build( 5 )             # tableau issu de la subdivision
	tab.each_index do |i|
		tab[i] = pTore.get_point( tab[i] )  # passage en global
	end
	pf = PF.new( tab )
		pf.draw( "L" )               # déjà subdivisé avant local -> global
end

diverses autres choses

à suivre ...