Inspiro 3

PhDr. Mgr. Jeronym Klimes, Ph.D. 2015-01-11

http://klimes.mysteria.cz

Toto je třetí varianta hry Inspiro, která kreslí Lissajousovy obrazce.

Časem jsem naprogramoval ještě jiné varianty.
Pokud byste měli zájem o zdrojové soubory, není problém zaslat. Je to pár řádek v polárních souřadnicích.

Hodnoty, které nenastavíte, určí počítač náhodně. Vyzkoušejte klávesu F5 - reload.

Bohužel ještě nemám dodělaný výstup a nastavování parametrů, takže zatím to kreslí nahodilé obrazce.



x - obrázku [pix]:

y - obrázku [pix]:

Pozadí R G B [0-255] 3×255=bílá; 3×0=černá

Popředí R G B

n-úhelník nebo n-cípá hvězda

Vykrelit hvězdu? Ano Ne

Vykrelit hroty? Ano Ne

Vykrelit obvod? Ano Ne

Poloměr velkého kola (r1):

Elipsa [%] x    y 100=kolo

Výstup do souboru background2.htm


<?php
$pomerx
=1;
$pomery=1;
// $pomer=1/pi();
// $pomer=100/104;
$pomer=rand(1,100)/rand(1,100);

if (
$vypis!=1Header("Content-type: image/png");

if (
$pozadir=="")  $pozadir=255;//128  0 cerna 255 bila
if ($pozadig=="")  $pozadig=255;//0
if ($pozadib=="")  $pozadib=255;//0
if ($popredir==""$popredir=0;//150
if ($popredig==""$popredig=0;//60
if ($popredib==""$popredib=0;//0
if ($picWidth==""$picWidth=400;//round(400*$pomerx); 
if ($picHeight=="")$picHeight=400;//round(400*$pomery); 
    
$xbase $picWidth  2
    
$ybase $picHeight 2;  

if (
$pomerx==""$pomerx=rand(20,100)/100;
if (
$pomery==""$pomery=rand(20,100)/100;

    
$pic=ImageCreate($picWidth+1,$picHeight+1); 
    
$cRed=ImageColorAllocate($pic,$pozadir,$pozadig,$pozadib); //pozadi
    
$cYellow=ImageColorAllocate($pic,$popredir,$popredig,$popredib); //popredi

if ($krok=="")      $krok=rand(1,150)/10;
if (
$kroku=="")     $kroku=rand(5,1000)*$krok;

$j  0;
$a1 $j/$krok;//úhel alfa
$a2 $pomer*$j/$krok;//úhel beta

    
$nx round($xbase sin($a1)*$xbase*$pomerx);
    
$ny round($ybase sin($a2)*$ybase*$pomery);
    
$px $nx;
    
$py $ny;

do    {
    
$j++;
    
$a1 $j/$krok;//úhel alfa
    
$a2 $pomer*$j/$krok;//úhel beta
    
$sx=$nx;
    
$sy=$ny;
    
$nx round($xbase sin($a1)*$xbase*$pomerx);
    
$ny round($ybase sin($a2)*$ybase*$pomery);
    
imageline($pic$sx$sy$nx$ny1); 
//    imagesetpixel ($pic, $nx,$ny , 1);
    
} while ((($nx!=$px) || ($ny!=$py)) && ($j<$kroku));

if (
$vystup==1):
    
$f fopen("background3.htm""w");
    
$promenne="picWidth=".$picWidth."&picHeight=".$picHeight."&pozadir=".$pozadir."&pozadig=".$pozadig."&pozadib=".$pozadib."&popredir=".$popredir."&popredig=".$popredig."&popredib=".$popredib."&pomer=".$pomer."&elipsa=".$elipsa."&r1=".$r1."&r2=".$r2."&r3=".$r3."&orientace=".$orientace."&krok=".$krok."&kroku=".$kroku;
    
fputs($f"<html><body>");
    
fputs($f"<a href=inspiro3.php?".$promenne.">hodnoty vlozit do formulare inspiro3.php</a><br>");
    
fputs($f"<a href=background3.php?".$promenne.">ulozene hodnoty z background3.php</a><br>");
    
fputs($f$promenne);
    
fputs($f"</body></html>");
    
fclose($f);
endif;

    
Imagepng($pic); 
    
ImageDestroy($pic); 

?>