Cette image avec une résolution de 2190x3810 pixels
Ecrit par denis bertin pour Denis-Draw le 12.09.2010.
Permet de démontrer l'utilisation de sinusoïde et de leurs correspondances exactes.
Cette représentation serait déjà dans le Codex Leicester de léonard de Vinci,
ce livre est en possession de Monsieur Bill-Gate.

procedure TDisque_window.sinus_sur_deux_plans; const k_position_depart_y=10000; k_position_depart_x=5000; k_rayon_spirale=7200; var i:integer; forme_sinusoide:wformes1.tforme_dessin; forme_spirale_develloper:wformes1.tforme_dessin; deux_lignes_sur_les_axes:wformes1.tforme_dessin; trois_ligne_vertical:wformes1.tforme_dessin; un_calque_actif:col_plan.TCalque; position:tpoint; position_spirale:integer; un_point_projecter_sur_le_plan_de_dessous_y:integer; coordonner:tpoint; a_color_une_couleur:tcolorref; begin un_calque_actif:=wmsg.col_dessin.Get_calque_actif; if un_Calque_actif=nil then begin exit; end; forme_sinusoide:=wformes1.tforme_dessin.create(k_position_depart_x,k_position_depart_y); position_spirale:=k_position_depart_y+k_position_depart_y div 2; forme_spirale_develloper:=wformes1.tforme_dessin.create(k_position_depart_x,position_spirale); for i:=0 to 720 do begin if i mod 10= 0 then begin hls_rvb.hls_to_tcolorref(i/720*360,0.5,1,a_color_une_couleur); position.x:=round(cos(i*utile.pisur180)*(k_rayon_spirale-i*10)) div 2; position.y:=i*10; forme_sinusoide.elements.add(font_ob1.lignenode.create(position.x,-position.y)); deux_lignes_sur_les_axes:=wformes1.tforme_dessin.create(k_position_depart_x,k_position_depart_y-position.y); deux_lignes_sur_les_axes.elements.add(font_ob1.lignenode.Create(position.x,0)); deux_lignes_sur_les_axes.calcul; deux_lignes_sur_les_axes.couleur_pinceau:=a_color_une_couleur; deux_lignes_sur_les_axes.brush1.lbColor:=a_color_une_couleur; un_calque_actif.add(deux_lignes_sur_les_axes); trois_ligne_vertical:=wformes1.tforme_dessin.create( k_position_depart_x+position.x,k_position_depart_y-position.y); trois_ligne_vertical.couleur_pinceau:=a_color_une_couleur; trois_ligne_vertical.brush1.lbColor:=a_color_une_couleur; un_point_projecter_sur_le_plan_de_dessous_y:= position_spirale+round(sin(i*utile.pisur180)*position.x-k_position_depart_y+position.y); coordonner.x:=0; coordonner.y:=un_point_projecter_sur_le_plan_de_dessous_y; trois_ligne_vertical.elements.Add( font_ob1.ligneNode.create(coordonner.x,coordonner.y)); forme_spirale_develloper.elements.add( font_ob1.lignenode.Create( coordonner.x+trois_ligne_vertical.x-forme_spirale_develloper.x, coordonner.y+trois_ligne_vertical.y-forme_spirale_develloper.y)); trois_ligne_vertical.calcul; un_calque_actif.add(trois_ligne_vertical); end; end; forme_spirale_develloper.calcul; forme_sinusoide.calcul; un_calque_actif.add(forme_sinusoide); un_calque_actif.add(forme_spirale_develloper); Cherche_le_cadre_surface; invalidaterect(self.hwindow,nil,false); postmessage(self.hwindow,wm_selection_changer,0,0); end; {TDisque_window.sinus_sur_deux_plans}
BeeLog 2010