Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Programmation > Autres langages > Atelier Cod'Art > Lecture du sujet

Atelier Cod'Art

Vous devez être inscrit pour pouvoir poster des messages

Page : Précédente  1  2  3  4  5  6  7  ...  11  12  13  14  Suivante
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : Précédente  1  2  3  4  5  6  7  ...  11  12  13  14  Suivante
Hors ligne MaAaD # Posté le 06/07/2007 à 12:11:02
Life is a Kamoulox
Avatar
Groupe : Membres
Reprise du dernier message de la page précédente :
L'idée du vecteur est vraiment pas conne !

"L'accouchement est douloureux. Heureusement, la femme tient la main de l'homme. Ainsi, il souffre moins."
Desproges

Achmed le terroriste mort, enjoy !
 
Hors ligne Capitaine Mousse # Posté le 06/07/2007 à 12:19:56
All your base are belong to us
Avatar
Groupe : Membres
ça me donne envis tout ça
j'vais essayer en PHP =)

Image utilisateur
Image utilisateur
 
Hors ligne Sepice # Posté le 06/07/2007 à 12:22:41
éternel apprentis Blenderien
Avatar
Groupe : Membres
Toutes ces belles images m'ont données envie d'essayer :)

J'ai donc relus les cours de M@téo et au boulot :

Image utilisateurImage utilisateur

C'est pas sublime (surtout au niveau du code qui pourrait être amélioré je pense), mais il me faut un peu de temps pour me réabituer à toutes ces fonctions.
Code : PHP
<?php
header ("Content-type: image/png"); // on informe que l'on retourne une image

$image=imagecreate(202,202); // on crée une image vide de 202px de cotés

//on définie des couleurs :
$blanc = imagecolorallocate($image,255,255,255);
$noir = imagecolorallocate($image,0,0,0);
$rouge = imagecolorallocate($image,255,0,0);
$vert = imagecolorallocate($image,0,255,0);
$bleu = imagecolorallocate($image,0,0,255);

// On crée un array contenant les couleurs, dans lequel on choisit une couleur au hasard
$color = array($rouge, $vert, $bleu);
$randcolor = $color[mt_rand(0,2)]// Placer le rand ici pour une figure unicolore

//coordonnées du premier cube
$x1 = $y1 = 0;
$x2 = $y2 = 201;
// on crée le premier cube qui sert de cadre à l'image
ImageRectangle ($image, $x1, $y1, $x2, $y2, $noir);

for ($i=0; $i<200; $i+=5)
{
$x1 = 1;
$y1 = 1;
$x2 = 200;
$y2 = 1;
$x3 = 200;
$y3 = 200;
$x4 = 1;
$y4 = 200;

// On provoque une rotation du cube par modification des coordonées de ses sommets
$points = array(($x1+$i), $y1, $x2, ($y2+$i), ($x3-$i), $y3, $x4, ($y4-$i));

// $randcolor = $color[mt_rand(0,2)];  // Placer le rand ici pour une figure multicolore

// On crée un autre cube coloré, ayant subie une rotation
ImagePolygon ($image, $points, 4, $randcolor);
}

// on renvoie l'image créée
imagepng($image);
?>


Après cet echauffement il ne me reste plus qu'à relire le cour de SDL et mes cours de maths :lol:

Sans les pannes les machines seraient inhumaines :p
 
Hors ligne Kados # Posté le 06/07/2007 à 12:41:12
102013
Avatar
Groupe : Membres
Bon, allez, je viens de faire un truc a la con, j'ai nommé :
Le générateur de tache pour psy !
Image utilisateur
Et voici le code :
Code : PHP
<?php

$taillecarre = 300;

$img = imagecreate($taillecarre, $taillecarre);
$blanc = imagecolorallocate($img, 255, 255, 255);

$couleur = array(imagecolorallocate($img, 0, 0, 0), imagecolorallocate($img, 255, 0, 0), imagecolorallocate($img, 0, 255, 0), imagecolorallocate($img, 0, 0, 255), imagecolorallocate($img, 255, 255, 0), imagecolorallocate($img, 0, 255, 255), imagecolorallocate($img, 255, 0, 255));

for ($i = 0; $i<= 100; $i++) {
        $x = rand(0, $taillecarre);
        $y = rand(0, $taillecarre);
        $rayon = rand(1, $taillecarre/5);
        $taille = rand(1, 100*$rayon/$taillecarre);
        $idcouleur = rand(0, 6);
        $idcouleur2 = rand(0, 6);
        imagefilledellipse($img, $x, $y, $rayon+$taille, $rayon+$taille, $couleur[0]);
        imagefilledellipse($img, $x, $y, $rayon, $rayon, $couleur[0]);
}

imagepolygon($img, array (
                0,   0,
                $taillecarre-1, 0,
                $taillecarre-1, $taillecarre-1,
                        0, $taillecarre-1
            ),
            4,
            $couleur[0]);

header("Content-type: image/png");
imagepng($img);

?>

(Vous noterez que je fais un random pour les couleurs pour pouvoir afficher des taches de différentes couleurs, mais en fait c'est encore plus rigolo juste en noir et blanc...)

Alors, vous voyez quoi ? Moi je dirai que c'est un chien qui trotinne sur de l'herbe...
 
Hors ligne MaAaD # Posté le 06/07/2007 à 13:45:58
Life is a Kamoulox
Avatar
Groupe : Membres
Encore moi ! ^^
Bon cette fois j'ai fais un programme pour générer des dessin comme ca :
Image utilisateur

Je pense que vous connaissez le principe, voici le code (bon ya ma fonction rgb qui est très moche vers la fin mais j'ai une grosse flemme de checrher mieux :p)

Une image interessante ou il n'y pas d'espace entre les lignes :
Image utilisateur

Voilou, j'espère que ca vous à plu !

"L'accouchement est douloureux. Heureusement, la femme tient la main de l'homme. Ainsi, il souffre moins."
Desproges

Achmed le terroriste mort, enjoy !
 
Hors ligne bluestorm # Posté le 06/07/2007 à 14:15:25
dont ask to ask
Avatar
Groupe : Membres
Hors ligne NioX # Posté le 06/07/2007 à 14:27:07
Avatar
Groupe : Membres
Salut, j'ssai de faire un esemble de mandelbrot en DarkBasic pro, mais j'ai du mal a comprendre certaines parties du code Nanoc:

c2=(fenetreY/2.-j)/(fenetreY/2.8);
c1=(-(fenetreX/1.5)+i)/(fenetreX/3.8);

sur ces deux ligne que fait tu ? je cromprend pas trop. Merci de ton aide.

A++
Hors ligne Sword_99 -l- # Posté le 06/07/2007 à 14:28:10
Ne jamais oublier que 1+1=2
Avatar
Groupe : Membres
Salut J'adore vos création je me demande se qu'un travail poussé par plusieurs personne pourait donné.
Perso je suis trés peut doué pour ce qui à trait à l'art donc j'ai laissé faire le hasard et l'extrapoloation (en C++,SDL, OpenGL)...

Image utilisateurImage utilisateurImage utilisateur

Quand on voit ça ya un mot qui régne hazard mais vous imaginier à se points ? Code : C++
#include <SDL/SDL.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <ctime>

int main ( int argc, char** argv )
{

    SDL_Init(SDL_INIT_VIDEO);
    SDL_WM_SetCaption("Cod Art",NULL);
    SDL_SetVideoMode(640,480,32,SDL_OPENGL);

    glClear(GL_COLOR_BUFFER_BIT);
    gluOrtho2D(0,640,0,480);
    srand(time(NULL));

    int const MAXa = 100, MINa = 0;
    int const MAXr = 255, MINr = 0;
    int const MAXg = 255, MINg = 0;
    int const MAXb = 255, MINb = 0;
    int const MAXx = 680, MINx = 0;
    int const MAXy = 480, MINy = 0;
    int limitateura = (rand() % (MAXa - MINa + 1)) + MINa;


    glBegin(GL_POLYGON);
    for(int a=0 ; a<limitateura; a++)
    {

        int r = (rand() % (MAXr - MINr + 1)) + MINr;
        int g = (rand() % (MAXg - MINg + 1)) + MINg;
        int b = (rand() % (MAXb - MINb + 1)) + MINb;
        int x = (rand() % (MAXx - MINx + 1)) + MINx;
        int y = (rand() % (MAXy - MINy + 1)) + MINy;

        glVertex2d(x,y); glColor3ub(r,g,b);

    }
    glEnd();
    glFlush();
    SDL_GL_SwapBuffers();

    bool continuer = true;
    while (continuer)
    {

        SDL_Event event;
        while (SDL_WaitEvent(&event))
        {

            switch (event.type)
            {

            case SDL_QUIT:
            continuer = false;
            break;


            case SDL_KEYDOWN:
            {

                switch(event.key.keysym.sym)
                case SDLK_ESCAPE:
                continuer = true;
                break;
                }
            }
        }
    }



    SDL_Quit();
    return EXIT_SUCCESS;
}
 


Par contre je ne sait pas vraiment si j'ai le droit de posté se genre de truc vu que se n'est "mon" travail en quelque sorte...

Apprendre est un plaisir et le SDZ un aphrodisiaque.



 
Hors ligne Cdams # Posté le 06/07/2007 à 14:44:36
Aérostier :)
Avatar
Groupe : Membres
Bonjour à tous,

Voici ma fractale, dite du dragon
Image utilisateur

Et le plus intéressant avec cette fractale (comme beaucoup d'autres) c'est qu'on peut paver le plan, en voici la preuve :

Image utilisateur

Si jamais quelqu'un veut refaire le carrelage de sa cuisine, il peut utiliser cette forme :p

Voici mon code (pour un dragon) :
Code : PHP

<?php

function coord ($a,$b){
  $c = array(($b[0]-$a[0])/2+(1/2)*($b[1]-$a[1])+$a[0],-($b[0]-$a[0])*(1/2)+(1/2)*($b[1]-$a[1])+$a[1]);
  return array ($a,$c,$b);
}      

function coord2 ($a,$b){
  $c = array(($b[0]-$a[0])/2-(1/2)*($b[1]-$a[1])+$a[0],($b[0]-$a[0])*(1/2)+(1/2)*($b[1]-$a[1])+$a[1]);
  return array ($a,$c,$b);
}

function liste_point($pt1){

  for($i=0;$i<count($pt1)-1;$i++)
        { 
           if($i % 2 == 0 ) { $coordonne = coord($pt1[$i],$pt1[$i+1]); }
           else { $coordonne = coord2($pt1[$i],$pt1[$i+1]); }
           $pt[2*$i] = $coordonne[0];
           $pt[2*$i+1] = $coordonne[1];
           if (($i+1)== (count($pt1)-1)) {$pt[2*$i+2] = $coordonne[2];}
        }
       
  return $pt;
} 


header ("Content-type: image/png");   
     
    $im = ImageCreate (951, 600) or die ("Erreur lors de la création de l'image");
    $blanc = Imagecolorallocate ($im, 255, 255, 255);   // couleur de fond           
        ImageFill ($im,0,0,$blanc);
        $rouge = ImageColorAllocate ($im, 255, 0, 0);
       
       
        $x0 = array (200,140)$y0 = array ($x0[0],350+$x0[1])$pt = coord ($x0,$y0);
         for($i=1;$i<$recu;$i++) { $pt = liste_point($pt);      }
     for($i=0;$i<count($pt)-1;$i++) { ImageLine ($im, $pt[$i][0], $pt[$i][1], $pt[$i+1][0], $pt[$i+1][1], $rouge); }
       
       
        //echo '<pre>';         print_r($pt1);  echo '</pre>';

    ImagePng ($im);
        imagedestroy($im);
?>     
 


Et vous pouvez faire quelques tests ici (N'hésitez pas à modifier la variable recu, vous verrez la différence :p (c'est limité à 17 à cause de free, si je me rappelle bien))

Mon site : CameronFrance.com

Have Fun, et si vous voulez acheter une montgolfière, n'hésitez pas ;)
 
Hors ligne B2Moo # Posté le 06/07/2007 à 14:47:07
JS ? où ça ? où ça ??!!
Avatar
Groupe : Membres
Yop, on a dit qu'on a le droit dans tous les langages qu'on veut ? :-°

Je vais paraître nul à côté de vous ... mais bon
sources (ctrl+u) et tests

Ca ne marche que sur les navigateurs supportant la balise canvas (safari et firefox surtout).

edit: un rendu au pif
edit2: Il faut expliquer l'algorithme il parait, je trace n traits en partant du centre. En plus de ces n, j'en tracent encore qui sont inclinés à la moitié.
Au tour suivant, n est multiplié par 2 donc il y a deux fois plus de traits au fur et à mesures que l'on s'écarte du centre.
Édité le 06/07/2007 à 22:36:20 par B2Moo

Je ne ponds pas vos scripts !! ;) (cot cot)
Je veux bien vous aider par contre :) , à condition d'expliquer clairement votre problème: exemple, codes, et surtout messages d'erreurs
big-tuto sur la gestion de la souris en js.
 
Hors ligne fmauNeko # Posté le 06/07/2007 à 14:49:48
Avatar
Groupe : Membres
Voilà, je présente mon interprétation de la superformula :
Image utilisateur
Image utilisateur
Image utilisateur
Le tout avec un script Ruby et RMagick, disponible ici en couleurs et ici en raw.
Édité le 07/07/2007 à 15:33:30 par fmauNeko
Hors ligne Cygal # Posté le 06/07/2007 à 15:01:06
Enfin Libre
Avatar
Groupe : Membres
J'ai tenté de faire une fractale de Lyapunov, avec Caml Graphics, voilà ce que ça donne :

Image utilisateur

Code : Ocaml
let iterations = 4
(* La séquence utilisée, à modifier pour avoir des trucs rigolos *)
let r (a, b) n = match (n mod 5) with
    0 -> a
  | 1 -> a
  | 2 -> b
  | 3 -> a
  | 4 -> b
  | _ -> a
(* Deux fonctions utilisées pour le calcul *)
let rec iterate (a, b) resultat = function
    0 -> resultat
  | n -> iterate (a, b) ((r (a, b) n) *. resultat *. ( 1. -. resultat )) (n - 1)
 
let rec sum f = function
    0 -> 0.
  | n -> f n +. sum f (n - 1)
open Graphics
(* La fonction qui permet d'associer une couleur à chaque valeur *)
let get_color lambda =
  let lambda = -. lambda in
  let top c = if c > 255 then 0 else c in
    if lambda < 0.
    then rgb 0 0 (top (int_of_float (255. *. lambda /. -. 5.)))
    else rgb (top (int_of_float (255. *. (1. -. (lambda /. 2.) ** (2./.3.)))))
      (top (int_of_float (255. *. (1. -. (lambda /. 2.) ** (1./.3.)))))
      0
(* On parcourt l'image, et on calcule lambda à chaque fois *)
let markus x0 y0 largeur longueur facteur=
  for x = 0 to largeur do
    for y = 0 to longueur do
      let (a, b) = ((float_of_int (x + x0)) /. facteur, (float_of_int (y + y0)) /. facteur)
      in let lambda =
          ((sum
              (fun n -> log (abs_float ((r (a, b) n) *. (1. -. 2. *. (iterate (a, b) 0.5 n)))))
              iterations) /. (float_of_int iterations))
      in (Graphics.set_color (get_color lambda); Graphics.plot x y)
    done
  done
(* Les autres paramètres *)
let largeur = 600
and longueur = 600
let x0 = 600
and y0 = 600
let facteur = 300.
(* Code "générique" pour lancer le tout *)
let () =
  Random.self_init ();
  open_graph (Printf.sprintf " %dx%d" largeur longueur);
  auto_synchronize false;
  markus x0 y0 largeur longueur facteur;
  synchronize ();
  ignore (read_key())


Voilà, merci à lastsseldon pour son aide, et les couleurs (admirez le "let lambda = -. lambda in" :-° ). On peut faire bien plus joli toussa, sans trop de modification, mais faut trouver. Ceci dit, je suis pas sûr que le code fasse exactement ce qu'il devrait faire, parce que sur Wikipédia c'est quand même moins moche :D

Pour explorer un peu, vous pouvez modifier le nombre d'itérations (que ça soit plus "rugueux"), et changer le "zoom" en touchant à x0, y0, largeur et longueur. facteur est là pour faire "revenir" le calcul dans [0; 4], parce que c'est là que l'exposant de Lyapunov utilisé ici devient intéressant (j'ai esssayé avec les valeurs données sur wikipédia et ça a pas grand chose à voir :-° ).

Pour utiliser le programme, il faut ocaml, et le module Graphics, je fais ça pour le lancer :

Code : Bash
ocaml graphics.cma lyapunov.ml


L'algo utilisé est celui-là : http://en.wikipedia.org/wiki/Lyapunov_fractal#Algorithm_for_generating_Lyapunov_fractals
et pour les couleurs, une copie de ça : http://en.wikipedia.org/wiki/Image:Lyapunov-fractal.png

Si quelqu'un trouve l'erreur.


Le Blog de l'Homme Moderne
« Un peu de curiosité, voyons. »
 
Hors ligne myman # Posté le 06/07/2007 à 15:12:02
ÉléPHPant o_0
Avatar
Groupe : Membres
J'ai tenté de modifier le code de certains pour faire des codarts et je les ais mis sur mon site web perso et ça mécris:

Fatal error: Call to undefined function ImageCreate() in /home/mymanpower/codart/codart01.php on line 32

GalaxieRPG
Avancement :
Code : ||||||||||||||||||||15%
Scénario :|||||||||||||||||||| 0%
 
Hors ligne Cygal # Posté le 06/07/2007 à 15:15:51
Enfin Libre
Avatar
Groupe : Membres
Il te faut GD : http://www.siteduzero.com/tuto-3-166-1-creer-des-images-en-php.html#ss_part_1
Peut-être pas disponible avec ton hébergeur :)


Le Blog de l'Homme Moderne
« Un peu de curiosité, voyons. »
 
Hors ligne Locke # Posté le 06/07/2007 à 15:23:12
Groupe : Membres
Citation : kedare
Citation : Locke
Dans le genre facile à faire pour les débutants, il y a des carrés imbriqués à l'infini, aussi :
Image utilisateur

(bon bien sûr c'est plus beau quand c'est plus grand et tout, enfin, bref)

le code source et l'algo m'interesse , possible de les avoir svp ? :)


Bien sûr. C'est encore du Caml, avec des fonctions un peu moins générales que ce que j'ai utilisé ensuite :
Code : Ocaml

#open "graphics";;

(* deux-trois fonctions pratiques pour tracer des trucs. La rotation est d'angle pi/2 (ou -pi/2, je sais plus) *)
let centre = function (a,b),(c,d) -> (a+.c)/.2.,(b+.d)/.2.;;
let rotation = function (a,b),(x,y) -> (b-.y+.x),(-.a+.x+.y);;
let homotetie = function (a,b),(x,y),k -> k*.(x-.a)+.a,k*.(y-.b)+.b;;

(* on décurryfie un peu les fonctions caml - en en profitant pour utiliser des float *)
let placerPoint (x,y) = moveto (int_of_float x) (int_of_float y);;
let tracerLigne (x,y) = lineto (int_of_float x) (int_of_float y);;

(* trace le carré ayant pour deux sommets opposés les points p1 et p2 *)
let traceCarre = function p1,p2 ->
    let w = centre(p1,p2) in
    placerPoint p1;
    tracerLigne (rotation(p1,w));
    tracerLigne p2;
    tracerLigne (rotation(p2,w));
    tracerLigne p1;;

(* LA fonction proprement dite *)
let carresImbriques = function p1,p2,k,n ->
    let rec aux (p,q) = function
        | 0 -> ()
        | n -> let w = centre(p,q) in
               traceCarre(p,q);
               aux (homotetie(p,rotation(p,w),k),homotetie(q,rotation(q,w),k)) (n-1)
    in
    open_graph("CarresImbriques");
    aux (p1,p2) n;
    let x = read_key() in close_graph();;

(* l'image que j'avais donnée correspond à un appel du type : *)
carresImbriques((100.,100.),(300.,300.),0.1,50);;
 


Voilà, voilà :) . Le principe est simple : on trace un carré définis par les deux points p1 et p2, puis on détermine les deux sommets du carré suivant, qui sont des points situés sur les deux côtés opposés du premier carré, à une distance c/k des sommets p1 ou p2, où c est la longueur du côté et k la constante que l'on indique et sur laquelle on peut jouer - k=0.1 dans l'image que j'avais donnée. Enfin, encore une fois, je sais pas si c'est clair, mais fait un dessin, tu verras.

On peut très bien utiliser des k supérieurs à 1, ça fait des carrés imbriqués dans l'autre sens, c'est aussi marrant.

Maintenant que j'y repense, on peut probablement faire un peu mieux en utilisant la fonction polygone que j'ai utilisée ensuite, puisque le centre de tous ces carrés reste toujours le même. Il suffit juste de déterminer un nouveau sommet, ce qui ne pose pas de problèmes (et on pourrait même glisser ici un autre paramètre modifiable pour arriver à des résultats tordus) . Tiens, et des pentagones imbriqués... à voir.
Édité le 06/07/2007 à 15:31:46 par Locke
Hors ligne MaAaD # Posté le 06/07/2007 à 15:26:00
Life is a Kamoulox
Avatar
Groupe : Membres
MaAaD, un multi récidiviste bien connu de ce topic, est de retour pour...

... bon Ok j'arrête et j'en vient aux faits :

Premier programme :
Le modulographe, qui utilise les étonnantes propriétées du modulo pour colorer un canvas en rouge, noir, et vert :
Image utilisateur
Voici le code :
Code : Python
from Tkinter import *
fen = Tk()
can = Canvas(fen, width = 500, height = 500, bg = "white")
can.pack()

def colore(tailleX,tailleY) :
        x = 0
        y = 0
        coul = "white"
        while y < tailleY:
                try :
                        if x%y == 0:
                                coul = "black"
                        elif y%x == 0:
                                coul = "red"
                        elif (x+y)%(x-y) == 0 :
                                coul = "green"
                        else :
                                coul = "white"
                except :
                        coul = "white"
               
                #On ne peut pas colorer un pixel avec Tkinter > . <, donc on cree des lignes d'un pixel de long...
                can.create_line(x,y,x+1,y+1, fill = coul)
                if x == tailleX :
                        y += 1
                        x = 0
                x += 1

colore(500,500)
fen.mainloop()


Deuxième programme :
Il pourrait s'inscrire dans la lignée commencée par Kados des programmes débiles pour psy : j'ai nommé le générateur de cercles qui grandissent !

Image utilisateur

Je ne met pas le code qui est moins interessant.
Il sufffit de cliquer sur le canvas pour créer un cercle, et on peux obtenir des trucs assez psychédéliques :p
Édité le 06/07/2007 à 15:29:00 par MaAaD

"L'accouchement est douloureux. Heureusement, la femme tient la main de l'homme. Ainsi, il souffre moins."
Desproges

Achmed le terroriste mort, enjoy !
 
Hors ligne cat121 # Posté le 06/07/2007 à 15:33:47
J'aime pas IE
Avatar
Groupe : Membres
MaAad, que peut être qu'en rajoutant de la couleur, ça pourrait faire trop bien :)

pas trop, ou alors, inverser, mettre un fond noir et les cercles en blanc.
Hors ligne Blackhole # Posté le 06/07/2007 à 15:37:35
Bear, and forbear
Avatar
Groupe : Membres
La première image de MaAaD, c'est un peu comme moi quoi, mais il le fait que sur deux cotés alors que je le fait sur quatre ^^ !

Je maitrise les superformules, mais les fractals, toujours pas ...

- Le moteur de templates le plus rapide, le plus pratique et le plus effiace ? Par ici !
- N'oubliez pas le de marquer votre message comme résolu !
- Pour trouver une aiguille dans une botte de foin, on met le feu à la botte et on passe un aimant dans les cendres.
 
Hors ligne gooopy007 # Posté le 06/07/2007 à 15:54:05
Have a break, have a kitkat
Avatar
Groupe : Membres
Salut,

Et hop ma petite contribution : Image utilisateur

et le code php :

Code : PHP

<?php
header ('Content-type: image/png');

$image = imagecreate(400,400);
$base = imagecolorallocate($image, 0, 0, 0);
$couleur_courbe = imagecolorallocate($image, 20, 50, 100);

$x = 200;
$y = 200;
$width = 500;
$height = 500;
$count = 0;

while($count<500)
{
        $width--;
        $height--;
        ImageFilledEllipse ($image, $x, $y, $width, $height,  imagecolorallocate($image, $width, (2* $width)%128, $height/2 ));
        $count++;
}

$x = 2;
$y = 2;
$count = 0;

while($x > 0 && $x < 400 && $y > 0 && $y < 400 && $count < 500)
{

        $x++;
        $y = $x;
        $x++;
       
        ImageEllipse ($image, $x, $y, ($x + $y)/3, 200 * sin(deg2rad($x))$couleur_courbe);
        $count++;
}


imagepng($image,'codart1.png');
?>
 


Et avec quelques modif :

Image utilisateur

Édité le 06/07/2007 à 16:27:41 par gooopy007



Code : PHP
1
<?php echo '<p>bonjour, je suis une signature bidon</p>'; ?>

 
Hors ligne Kreeg # Posté le 06/07/2007 à 16:06:09
Je mangerais bien du GNU...
Avatar
Groupe : Bannis
Pour faire des jolis trucs en console, y'a la libcaca.

Parti définitivement.

Raise the Titanic ! [Voir le topic]
En mode Hard Rock (ACDC/GnR/VR §) - Slash et J. Petrucci sont mes héros \o/
Attention (va) aux (sur) messages (ce) subliminaux, (site) camarade !
Une question sur OpenGL, un problème ? Rejoignez #opengl sur EpikNet !
La SDL pue grave, mais pas SFML !
Le modo qui ne connaissait pas Dimitri Borgur... :p


 
Hors ligne Artefact2 # Posté le 06/07/2007 à 16:12:26
Avatar
Groupe : Membres
Citation : Kreeg
Pour faire des jolis trucs en console, y'a la libcaca.


:lol: A essayer...

Pour ma part j'essaie de faire un petit truc en C# avec les fonctions de dessin du .NET Framework, je vous posterai le résultat sur un topic dédié ;)
 
Hors ligne MaAaD # Posté le 06/07/2007 à 16:21:51
Life is a Kamoulox
Avatar
Groupe : Membres
Citation : Blackhole
La première image de MaAaD, c'est un peu comme moi quoi, mais il le fait que sur deux cotés alors que je le fait sur quatre ^^ !

Non , je le le fait sur les 4 côtés, regarde bien ;)
D'aileur en mofifiant un peu ton code (ou le mien), on peut faire un cercle, mais bon la je cherche du côté des fractales et des superformulas donc pas le temps...

En modifiant un peu le script cité plus haut (en utilisant notemment les cercles, et les arcs), on obtient d'assez jolies choses :

Pour cette image il suffit de remplacer dans ce code le mot "line" des lignes 76 et 79 par le mot "oval", et le mot "fill" de ces deux même lignes par le mot "outline".
Image utilisateur

Pour celle-là, c'est plus compliqué, allez faire un tour ici.
Image utilisateur
Édité le 29/07/2007 à 15:23:28 par MaAaD

"L'accouchement est douloureux. Heureusement, la femme tient la main de l'homme. Ainsi, il souffre moins."
Desproges

Achmed le terroriste mort, enjoy !
 
Hors ligne Tod # Posté le 06/07/2007 à 16:31:05
Groupe : Membres
Salut à tous,

Je voulais vous dire que certaines de vos réalisations sont vraiment magnifiques ! Bravo ! Voici ma (première) modeste contribution, je suis en vrai Zér0 pour ce qui est des "graphismes"/"dessins" ou appellez ça comme vous voulez :p

Image utilisateur

Ceci a été réalise de manière extrêmement simple grâce au mode turtle (qui vient à la base du langage logo) de python, le tout en quelques lignes de code !

Code : Python
from trurtle import *

i=0
while i<400:
    i=i+1
    forward(i)
    left(10*i)


Six lignes seulement ! ça veut un peu rien dire tout ça mais je trouve pas si moche (on dirait des tentacules :p )

N'utiliser que forward() et left() dans des boucles avec différentes valeurs donne parfois des résultats assez surprenants !

D'autres dessins basiques comme celui-ci suivront peut-être.

Tod

PS:

Je conseille python/turtle à tous les débutants parce que c'est extrêmement facile d'accès et on peut déjà faire des choses assez sympa en quelques lignes (je trouve)
Hors ligne Artefact2 # Posté le 06/07/2007 à 16:42:59
Avatar
Groupe : Membres
Tod > Pourquoi ne pas ajouter quelques parcours aléatoires?
 
Hors ligne Asgeir # Posté le 06/07/2007 à 16:47:24
Canardesque
Avatar
Groupe : Bannis
Haha tod c'est marrant ton truc :D
Hors ligne Sheirkus # Posté le 06/07/2007 à 17:04:51
Tout est là :
Avatar
Groupe : Membres
Bonjour, voilà ma copie.
Pour la petie histoire, il s'agit d'un petit dessin que je m'amuse parfois à grifonner sur mes feuilles de note, mais je suis forcé de constaté que mon ordi dessine ça mieux que moi :p . Pour le fond, j'ai voulu faire qulque chose qui d'orginal et d'assez simple à coder ...
Pour plus d'infos, cusulter mon lien ;) .
Édité le 06/07/2007 à 17:06:35 par Sheirkus

>The C language<
>>Plus de 970 langages de programmation dans le monde, (Hello_World). :-°
Image utilisateur>>clik here
Image utilisateur
-0x90EBFD-
 
Hors ligne Aklamens # Posté le 06/07/2007 à 17:26:22
Beetleblum...
Avatar
Groupe : Membres
Quand j'ai vu ce qu'il était possible de faire en PHP, je suis resté bouche bée, j'ai essayé de faire pareil, mais ça a pas le même rendu :-°
Enfin bon, voilà ce qui m'a bouffé tout mon après-midi :
Image utilisateur

Je m'y remet tout de suite pour essayer d'améliorer ça :)
Hors ligne lexou # Posté le 06/07/2007 à 17:34:17
Avatar
Groupe : Membres
@lastsseldon

La faute ligne 20 de OpenGlView a été corrigée hier dans la journée, quelqu'un me la signalée par mail. Elle est passé entre les mailles de mon filet étant donné que j'ai codé ça sous windows et qu'il n'y a pas besoin de respecter la casse dans les nom des fichiers sur cette plateforme.

En ce qui concerne l'image 2, que j'ai appelé Woodstock pour information :p , je n'ai pas noté la formule précise mais tu peux tatonner autour de ça (c'est très très proche) :

Code : Console
f(z) = z^(-3.2) + 0.9 + 0.2*i 


Après je me rappel avoir pas mal joué avec les seuils et la palette pour obtenir ce résultat. Les seuils c'est en fait les valeurs (hauteur du biom) entre lesquelles tu décides d'afficher ta palette de couleurs.

L'algorithme principale de QBiom n'est pas compliqué en soit, mais le logiciel offre tout un tas de possibilité d'édition de biomorphe assez complexes à mettre en oeuvre, la source est donc remplie de choses qui ne servent pas au dessin à proprement parler, par exemple pouvoir visualiser en temps réel le nouveau biomorphe lors de la modification de la palette et des seuils ou ce genre de choses. Si tu ne veux pas perdre trop de temps va à l'essentiel en lisant les fonctions que j'ai cité plus haut.

Bonne chance,
Édité le 06/07/2007 à 17:41:34 par lexou

Lexou pour vous servir...
 
Hors ligne cat121 # Posté le 06/07/2007 à 18:22:58
J'aime pas IE
Avatar
Groupe : Membres
J'ai fait un truc dans le même genre que MaAad, mais en php.
Ca donne ça :
Image utilisateur

Et le code :
Code : PHP

<?php
//les informations
$taille = 500;
$demi_taille = $taille / 2;
$image = imagecreate($taille, $taille);
$fond = imagecolorallocate($image, 0, 0, 0);
$espace = $taille / 100;

// Définition de tout les x et les y
$x1 = 0;
$y1 = $demi_taille;

$x2 = $demi_taille;
$y2 = $demi_taille;

$x3 = $taille;
$y3 = $demi_taille;

$x4 = $demi_taille;
$y4 = $demi_taille;         
while ($x1 <= $demi_taille)
{
        // La couleur aléatoire
        $r = mt_rand(0, 255);
        $v = mt_rand(0, 255);
        $b = mt_rand(0, 255);
        $couleur = imagecolorallocate($image, $r, $v, $b);
        // On dessine le polygone
        $nb_points = 4;
        $coordonees = array ($x1, $y1, $x2, $y2,