abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:11 | Nová verze

    OCCT3D (Open CASCADE Technology) Open Source 8.0 bylo vydáno. OCCT3D (Wikipedie, GitHub) je objektově orientovaná knihovna pro 3D CAD, CAM nebo CAE. Používá se například v softwarech FreeCAD a KiCad.

    Ladislav Hagara | Komentářů: 2
    dnes 02:22 | Bezpečnostní upozornění

    Ve FreeBSD byla nalezena a již opravena 21letá zranitelnost CVE-2026-42511 v dhclient. Jedná se o vzdálené spuštění kódu (RCE). Útočník mající pod správou DHCP server může získat plnou kontrolu nad systémem FreeBSD pouze jeho připojením k místní síti.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-1.3. Současně oznámila, že nadcházející větší vydání 24.04-2.0 bude mít modernější webový prohlížeč.

    Ladislav Hagara | Komentářů: 0
    8.5. 17:11 | Zajímavý projekt

    Ploopy po DIY trackballech či sluchátkách představuje nový externí DIY trackpoint se čtyřmi tlačítky Bean. Obsahuje snímač Texas Instruments TMAG5273, spínače Omron D2LS-21 a řadič RP2040, používá firmware QMK. Schémata jsou na GitHubu; sadu lze předobjednat za 69 kanadských dolarů (bez dopravy a DPH).

    |🇵🇸 | Komentářů: 0
    8.5. 03:33 | Zajímavý článek

    Mozilla před dvěma týdny na svém blogu oznámila, že díky Claude Mythos Preview bylo ve Firefoxu nalezeno a opraveno 271 bezpečnostních chyb. Včera vyšel na Mozilla Hacks článek s podrobnějšími informacemi. Z 271 bezpečnostních chyb mělo 180 chyb vysokou závažnost, 80 chyb střední závažnost a 11 chyb nízkou závažnost. Celkově bylo v dubnu ve Firefoxu opraveno 423 bezpečnostních chyb. Čísla CVE nemusí být přiřazována jednotlivým chybám. CVE-2026-6784 například představuje 154 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    7.5. 22:55 | Bezpečnostní upozornění

    Před týdnem zranitelnost Copy Fail. Dnes zranitelnost Dirty Frag. Běžný uživatel může na Linuxu získat práva roota (lokální eskalaci práv). Na většině linuxových distribucí vydaných od roku 2017. Aktuálně bez oficiální záplaty a CVE čísla [oss-security mailing list].

    Ladislav Hagara | Komentářů: 9
    7.5. 14:00 | Humor

    Ačkoli je papež Lev XIV. hlavou katolické církve a stojí v čele více než miliardy věřících po celém světě, také on někdy řeší všední potíže. A kdo v životě neměl problémy se zákaznickou linkou? Krátce poté, co nastoupil do úřadu, musel papež se svou bankou řešit změnu údajů. Operátorka ale nechtěla uvěřit, s kým mluví, a Svatému otci zavěsila.

    Ladislav Hagara | Komentářů: 11
    7.5. 05:11 | Nová verze

    Incus, komunitní fork nástroje pro správu kontejnerů LXD, byl vydán ve verzi 7.0 LTS (YouTube). Stejně tak související LXC a LXCFS.

    Ladislav Hagara | Komentářů: 0
    7.5. 05:00 | Nová verze

    Google Chrome 148 byl prohlášen za stabilní. Nejnovější stabilní verze 148.0.7778.96 přináší řadu novinek z hlediska uživatelů i vývojářů. Vypíchnout lze Prompt API (demo) pro přímý přístup k AI v zařízení. Podrobný přehled v poznámkách k vydání. Opraveno bylo 127 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (25%)
    Celkem 1570 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Octave - 13 (dokončení grafiky)

    26. 4. 2006 | Jiří Poláček | Programování | 8198×

    Třírozměrná grafika, sombrera, plata vajíček a tuning grafů.

    Třírozměrná grafika

    Současné možnosti třírozměrného grafického výstupu v Octave se omezují na jednoduché drátěné modely, které mohou reprezentovat plochu funkce dvou proměnných - pro představu si můžeme vykreslit sombrero známé z matematické analýzy:

    >> sombrero(15)
    
    Ukázka třírozměrného grafu - sombrero

    Pro vykreslování se používá příhodně pojmenovaná funkce mesh. Jejími parametry jsou vektory x-ových a y-ových souřadnic a matice z-ových souřadnic pro všechny průsečíky x-ových a y-ových souřadnic. Pokusme se tuto komplikovanou definici vysvětlit na příkladě - nejdříve si připravme x-ové a y-ové souřadnice:

    >> x=1:3;
    >> y=1:2;
    >> [xx, yy] = meshgrid(x, y)
    xx =
      1  2  3
      1  2  3
    yy =
      1  1  1
      2  2  2
    

    Výstupem funkce meshgrid jsou dvě matice, které dohromady dávají všechny možné průsečíky x-ových a y-ových souřadnic v půdorysu třírozměrného grafu - jeden průsečík je dán prvky ze stejných pozic výsledných matic. Třetí parametr funkce mesh - matice z-ových souřadnic - musí být stejně velká jako tyto výsledné matice, obecně tedy platí, že musí mít tolik řádků, kolik je y-ových souřadnic, a tolik sloupců, kolik prvků obsahuje vektor x-ových souřadnic:

    >> z=[4 2 7; 2 5 9];
    >> mesh(x,y,z)
    
    Jednoduchý síťový graf

    Abychom byli přesní - prvními dvěma parametry funkce mesh mohou být jak souřadnice (průsečíky si funkce dopočítá sama pomocí meshgrid), tak přímo matice průsečíků, které mohou být libovolné, nikoliv jen v přísně ortogonální síti:

    >> a=[1 5 6; 1 3 7]; b=[2 3 1; 6 3 5];
    >> mesh(a,b,z)
    
    Graf s neortogonální soustavou průsečíků

    Pokud nyní vyvstává dotaz, k čemu nám jako uživateli je funkce meshgrid, když ji mesh používá interně, odpoví nám následující příklad:

    x=y=linspace(-2*pi,2*pi,50);
    [xx,yy]=meshgrid(x,y);
    mesh(x,y,sin(xx)+cos(yy))
    
    Plato na vajíčka

    V případě tohoto plata na vajíčka je matice z dána funkčním předpisem, kde jako proměnné figurují průsečíky.

    Více grafů v jednom okně

    Octave podporuje (za předpokladu podpory i ze strany gnuplotu) vykreslování více grafů v jednom okně - nejedná se o nic jiného, než o umístění grafů do matice stanovené velikosti. Funkce multiplot režim vykreslování více grafů do jednoho okna zapíná, jejími parametry jsou počty grafů, které mají být pod sebou a vedle sebe. Funkce mplot pak vykresluje grafy stejným způsobem jako plot s tím rozdílem, že automaticky mění pozici v okně, kam se má graf vykreslit:

    x=linspace(-pi, pi, 200);
    multiplot(2,2);
    mplot(x, sin(x), 'b;sinus x;');
    mplot(x, atan(x), '7;arkus tangens x;');
    mplot(x, log(x), '9;log x;');
    mplot(x, cos(x), 'g;kosinus x;');
    
    Více grafů v jednom okně

    Přesnou pozici, kam se má v okně vykreslit další graf, lze zadat funkcí subwindow, parametry jsou řádkový a sloupcový index počítaný z levého horního rohu - do okna tak můžeme vykreslit i grafy, které nelze vykreslit příkazem plot (například histogram či třírozměrný graf). Funkce subplot je kombinací funkcí multiplot a subwindow - má tři parametry, z nichž první dva udávají počet grafů v okně a třetí pak pozici - zde se počítá zleva doprava a pak shora dolů.

    Pro doplnění zmiňme funkci figure - pokud grafy vykreslujeme v terminálu x11 (což je výchozí nastavení, viz dále), můžeme pracovat s více okny, jejichž číslo se udává jako parametr této funkce, tj. například první volání figure(10) otevře nové okno s číslem 10 a učiní jej aktivním; pokud po té vytvoříme (a tudíž aktivujeme) jiná okna, tak další volání figure(10) opět zaktivní okno s číslem 10.

    Tuning grafů s gnuplotem

    Jak již bylo řečeno dříve, grafický výstup v Octave obstarává program gnuplot, což v závislosti na různých verzích programů a kompilačních parametrech s sebou nese různá úskalí. Pro bližší seznámení s gnuplotem můžeme na tomto místě odkázat na obsáhlou nápovědu či seriál článků v češtině, zde zmíníme jen pár užitečných rad.

    Řada příkazů gnuplotu je v Octave přímo přístupných se stejnou syntaxí a jménem pozměněným tím způsobem, že na začátek je přidáno písmeno „g“, například gplot či gsplot pro kreslení dvou a třírozměrných grafů. Tyto příkazy jsou klasifikovány jako nízkoúrovňové, nicméně pro pořádné využití grafického výstupu v Octave se bez nich neobejdeme.

    Prakticky všechny vlastnosti grafického výstupu lze nastavit s pomocí příkazu gset následovaného popisem, co se vlastně má nastavit - například gset mouse zajistí, že výchozí výstupní terminál x11 (tj. ono jednoduché grafické okno pro vykreslovaní grafů) bude interaktivní, s grafem pak lze dělat předepsané úkony pomocí klávesových zkratek (kupříkladu zobrazení vodících čar; klávesa „h“ vyvolá nápovědu), třírozměrné grafy lze otáčet s pomocí myši atd.

    Výstupních terminálů je podporována celá řada, může jím být (na základě dostupnosti ovladačů v systému) i tiskárna či plotter, obrázek (různé vektorové i bitmapové formáty), postskript, PDF, LaTeX atd. Ke změně terminálu se používá dvojice příkazů gset terminal a gset output - obrázky doplňující tento text byly generovány do formátu PNG následující dvojicí příkazů:

    gset terminal png size 360,270;
    gset output 'grafXYZ.png';
    

    Pozor - v současné době je možné se setkat s instalacemi gnuplotu, které jsou linkovány buď s knihovnou libpng (starý způsob, méně funkcí) nebo s knihovnou gd (nový způsob, více možností nastavení). Druhý způsob umožňuje zejména pracovat s libovolným fontem české znaky nevyjímaje:

    gset terminal png font "/usr/X11/lib/X11/fonts/luxirr.ttf" 16;
    
    Graf s vlastním fontem

    V případech, kdy chceme mít v grafu více výstupů z kreslících příkazů, může generování do nějakého souboru zlobit - osvědčuje se nachystat si výslednou podobu grafu v terminálu x11 a po té graf sekvencí příkazů gset output, gset terminal a replot zkopírovat do požadovaného souboru.

    V grafu z příkladu si také povšimněte desetinné čárky - ačkoliv jsme v Octave nuceni používat desetinnou tečku, naše grafy lze přizpůsobit národním tradicím jednoduchým nastavením:

    >> gset decimalsign ',';
    

    Pro třírozměrné grafy je nepostradatelný příkaz gset view, který nastavuje úhel pohledu na vykreslovaný graf. Jeho čtyři parametry nastavují otočení okolo osy x (0-180°), otočení okolo osy z (0-360°), měřítko celého grafu a měřítko pouze osy z. Výchozími hodnotami pro měřítko jsou čísla 1, které lze chápat jako 100% velikost. Pár pohledů:

    >> gset view
    >> gshow view
            view is 60 rot_x, 30 rot_z, 1 scale, 1 scale_z
    >> gset view 30, 340, 1.2, 1.3
    >> gset view 20, 0, 1.1, 0.8
    
    Výchozí úhel pohledu Jiný úhel pohledu Ještě jiný úhel pohledu

    Příkaz gset view bez parametrů nastavuje výchozí úhel pohledu, gshow prozradí, jak je aktuálně vybraný parametr nastaven. Speciálním pohledem je mapa - gset view map - která zapříčiní projekci grafu do půdorysu, tj. pohled shora - viz příklad u třírozměrné grafiky.

    Poznámka na konec - poslední verze Octave označují nízkoúrovňové příkazy gnuplotu jako zastaralé a varují před jejich používáním. Varování se lze vyhnout používáním interních názvů těchto příkazů ve formě __gnuplot_plot__ či __gnuplot_set__ (podtržítka jsou součástí příkazu).

    Nejčtenější články posledního měsíce

    Týden na ITBiz: Tenké vrstvy spojují topologické izolátory a feroelektrické chování
    Zajímavé přednášky z TechEdu: cloud, bezpečnost i věci pro Linux
    Událo se v týdnu 16/2026

    Nejkomentovanější články posledního měsíce

      všechny statistiky »

    Seriál Octave (dílů: 16)

    Octave - 1 (je to kalkulačka) (první díl)
    <—« Octave - 12 (měřítko os a speciální grafy)
    »—> Octave - 14 (finance a statistika)
    Octave - 16 (a co dál?) (poslední díl)

    Související články

    Octave - 1 (je to kalkulačka)
    Octave - 2 (počítání s maticemi)
    Octave - 3 (přístup k jednotlivým položkám matice)
    Octave - 4 (je to pravda?)
    Octave - 5 (práce s řetězci)
    Octave - 6 (práce se soubory)
    Octave - 7 (vlastní skripty a funkce)
    Octave - 8 (větvení programu)
    Octave - 9 (cykly)
    Octave - 10 (zbylé řídicí struktury)
    Octave - 11 (kreslíme grafy)
    Octave - 12 (měřítko os a speciální grafy)
    Octave - 14 (finance a statistika)
    Octave - 15 (špetka matematiky)
    Octave - 16 (a co dál?)
    Vektorový elegán Ipe
    Recenze: Kniha kódů a šifer
    Awk & sed: Příručka pro dávkové zpracování textu
    SETI@home
    Jak se píše procesor
    GnuCash - domácí účetnictví na úrovni
    Použití gnuplot pro tvorbu grafů v PHP
    Hra s písmenky - wxMaxima

    Odkazy a zdroje

    Octave

    Další články z této rubriky

    LLVM a Clang – více než dobrá náhrada za GCC
    Ze 4 s na 0,9 s – programovací jazyk Vala v praxi
    Reverzujeme ovladače pro USB HID zařízení
    Linux: systémové volání splice()
    Programování v jazyce Vala - základní prvky jazyka
           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    18.5.2006 20:52 asym | skóre: 5 | blog: Psychopat
    Rozbalit Rozbalit vše Re: Octave - 13 (dokončení grafiky)
    me to gset mouse proste nepomaha, porad nemohu tocit 3d grafem
    Kdo nemá rád linux, ten si ho nezaslouží.
    1.6.2006 18:56 miro | skóre: 19 | blog: miro
    Rozbalit Rozbalit vše Problem s nastavenim vystupu
    Zdravim,

    skusam graficky vystup do png, ale po zadani
    gset terminal png
    dostanem chybovu hlasku
    octave:1> gset terminal png parse error:
    
      syntax error
    
    >>> gset terminal png
                     ^
    
    Gnuplot mam nainstalovany, prikaz
    set terminal png
    v nom funguje. Pouzivam Octave 2.9.5, Gnuplot 4.0

    Nestretli ste sa nahodou niekto s podobnym problemom? Dakujem za pomoc.
    21.6.2006 10:26 miro | skóre: 19 | blog: miro
    Rozbalit Rozbalit vše Re: Problem s nastavenim vystupu
    __gnuplot_set__
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.