Elikkäs aloittelen ohjelmointia Pascalilla ja tiedän jo jonkin verran.
Mutta mitenköhän tehdään puoliympyrä Pascalilla?
No kerropa, minne olet sitä tekemässä, Windowsissa, Linuxissa vai komentorivillä ja mitä kirjastoja käytät?
Puoliympyrään ei taida lölytyä mistään valmista funktiota, mutta voit laskea pikselien kohdat Pythagoraan lauseella:
uses Math; procedure Ympyra(keskX, keskY, Sade: Integer); var X, Y: Integer; begin for X := 0 to Sade do begin Y := trunc(Sqrt(Sade * Sade - X * X) + 0.5); (* Piirretään pikselit *) PiirraPikseli(keskX + X, keskY + Y); PiirraPikseli(keskX + X, keskY - Y); PiirraPikseli(keskX - X, keskY + Y); PiirraPikseli(keskX - X, keskY - Y); PiirraPikseli(keskX + Y, keskY + X); PiirraPikseli(keskX + Y, keskY - X); PiirraPikseli(keskX - Y, keskY + X); PiirraPikseli(keskX - Y, keskY - X); end; end;
Tuolla saat piirrettyä ympyrän, kun korvaat PiirraPikseli-funktion jollakin, joka piirtää pikselin. Kun mietit hetken, keksit varmasti itsekin, mitkä noista pikseleistä pitää jättää pois, jotta saa puoliympyrän jotenkin päin.
Jos haluat puoliympyräsi muuten kuin 45º välein, tarvitset trigonometriaa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.