Sdílet prostřednictvím


Křivky

Normální křivka je sada zvýrazněných pixelů na rastrovém displeji (nebo tečky na vytištěné stránce), které definují obvod (nebo část obvodu) kuželovitého oddílu. Nepravidelná křivka je sada pixelů, která definuje křivku, která se nevejde do obvodu kuželového oddílu. Koncový bod je vyloučen z křivky stejně, jako je vyloučen z čáry.

Když aplikace volá jednu z funkcí kreslení křivky, GDI rozdělí křivku na řadu extrémně malých samostatných segmentů čar. Po určení koncových bodů (počátečního a koncového bodu) pro každý z těchto segmentů čáry určuje GDI, které pixely (nebo tečky) definují jednotlivé řádky použitím DDA.

Aplikace může nakreslit tři tečky nebo část elipsy voláním funkce Arc. Tato funkce nakreslí křivku v obvodu neviditelného obdélníku označovaného jako ohraničující obdélník. Velikost tří teček je určena dvěma neviditelnými paprsky, které se rozšiřují ze středu obdélníku na strany obdélníku. Následující obrázek znázorňuje oblouk (část tří teček) nakreslený pomocí funkce Arc.

diagram znázorňující oblouk, který představuje tři čtvrtiny celého kruhu

Při volání funkce Arc aplikace určuje souřadnice ohraničujícího obdélníku a paprsků. Předchozí obrázek znázorňuje obdélník a paprsky s přerušovanými čárami, zatímco skutečný oblouk byl nakreslen plnou čárou.

Při kreslení oblouku jiného objektu může aplikace volat SetArcDirection a GetArcDirection funkce k řízení směru (hodinových ručiček nebo proti směru hodinových ručiček), ve kterém je objekt vykreslen. Výchozí směr pro kreslení oblouků a jiných objektů je proti směru hodinových ručiček.

Kromě kreslení tří teček nebo částí tří teček mohou aplikace kreslit nepravidelné křivky nazývané Bézierovy křivky. Bézierova křivka je nepravidelná křivka, jejíž zakřivení je definováno čtyřmi kontrolními body (p1, p2, p3 a p4). Řídicí body p1 a p4 definují počáteční a koncové body křivky a řídicí body p2 a p3 definují tvar křivky označením bodů, kde křivka obrátí orientaci, jak je znázorněno v následujícím diagramu.

obrázek znázorňující dvě bezierové křivky, každý mezi počátečním a koncovým bodem a každý se dvěma kontrolními body

Aplikace může nakreslit nepravidelné křivky voláním PolyBezier funkce, která poskytuje příslušné kontrolní body.