Postaviť segment rovný súčinu alebo pomeru ostatných dvoch pomocou kružidla a pravítka je kreatívna práca. Základné úlohy pri stavbe

23.09.2019

Tento článok je založený na jednej zo sekcií knihy „Programovanie v Pythone“ od Sedgwicka, Wayna a Dondera, ktorá už bola spomenutá vyššie. Táto časť sa nazýva „Systémy iteračných funkcií“ a popisuje konštrukciu rôznych obrázkov, ako je Sierpinského trojuholník, Barnsleyho papraď a niektoré ďalšie, pomocou pomerne jednoduchého algoritmu, ktorý sa navyše ľahko implementuje.

Začnem popisom tohto algoritmu. Použijem matematickú terminológiu, vrátane tej, ktorú autori knihy v rámci svojho rozprávania nepoužívajú. Čisto matematický pohľad na algoritmy mi uľahčuje ich pochopenie a je pre mňa celkom pohodlné vyjadriť ich pomocou matematického jazyka.

Čitateľ teda na pochopenie teoretickej časti článku bude potrebovať znalosti z niektorých častí matematiky, ktoré sa bežne čítajú na technických univerzitách. Konkrétne by bolo užitočné zoznámiť sa s teóriou pravdepodobnosti a prvkami matematickej analýzy.

Po teoretickej časti článku bude nasledovať praktická časť popisujúca implementáciu algoritmu v jazyku C99. Keďže výsledkom programu budú obrázky, použijeme v programe grafickú knižnicu pgraph za predpokladu, že ju čitateľ aspoň vo všeobecnosti pozná.

Prejdime teda k teoretickej časti nášho príbehu.

Iteračné funkcie a náhodné postupnosti

Predtým, ako popíšeme schému, podľa ktorej budú obrázky zostavené, povedzme si o sekvenciách, ktorých členy sú vypočítané pomocou opakujúcich sa vzorcov.

Definujme 2 postupnosti, x n n = 1 ∞ a y n n = 1 ∞ , pomocou nasledujúcich rekurzívnych vzorcov:

Xn = f x n - 1 , y n - 1 , n ∈ ℕ , y n = g x n - 1 , y n - 1 , n ∈ ℕ .

Poďme si to vysvetliť X 0 a r 0 sú niektoré preddefinované čísla a f(X, r) a g(X, r) sú niektoré funkcie dvoch premenných tzv iteratívny. Zavolá sa proces výpočtu ďalšieho člena konkrétnej postupnosti prostredníctvom takýchto funkcií iterácií a vyššie uvedený súbor opakujúcich sa vzorcov je iteratívna schéma.

Rekurzívny spôsob špecifikácie postupností je čitateľovi s najväčšou pravdepodobnosťou známy, ak študoval matematiku na univerzite. Trochu nezvyčajná sa môže zdať „krížová“ metóda na výpočet členov postupností, v ktorých na výpočet nčlen každej z dvoch sekvencií je potrebný nielen n− 1. člen tej istej postupnosti, ale aj n− 1. člen je iný.

Teraz uvažujme o schéme konštrukcie členov dvoch sekvencií, ktorá využíva nielen jeden pár iteračných funkcií, ale m para. Každá z týchto funkcií bude lineárna v oboch premenných a bude obsahovať aj aditívnu konštantu. Konkrétnejšie, funkcie budú vyzerať takto:

Fk x, y = ak x + b k y + c k g k x, y = d k x + e k y + h k, k = 0, 1, ..., m-1.

Pre každý n, počnúc od 1, náhodne vyberie číslo od 0 do m− 1 a pri výpočte x n a y n v opakujúcich sa vzorcoch sa použije dvojica iteračných funkcií, ktorých indexy sa rovnajú danému náhodnému číslu. Všimnite si, že náhodné čísla „objavujúce sa“ pred každou iteráciou nemusia byť rovnako pravdepodobné. Pri rôznych krokoch je však pravdepodobnosť výskytu konkrétneho pevného čísla rovnaká.

Sformulujme teraz to, čo bolo povedané striktným matematickým jazykom. Uvažujme postupnosť diskrétnych náhodných premenných T n = 1 ∞ , nezávislých v celku, rozdelených podľa rovnakého zákona. Konkrétne: každá náhodná premenná nadobúda hodnoty 0, 1, ..., m− 1 so zodpovedajúcimi pravdepodobnosťami p 0 , p 1 , …, p m-1 .

Teraz sú postupnosti x n n = 1 ∞ a y n n = 1 ∞ definované pomocou nasledujúcej iteračnej schémy:

Xn = f Tn x n - 1 , y n - 1 , n ∈ ℕ , y n = g T n x n - 1 , y n - 1 , n ∈ ℕ .

ako predtým, X 0 a r 0 je niekoľko preddefinovaných čísel.

Každá zo sekvencií je teda náhodná, to znamená, že jej členmi sú náhodné premenné. Každá z týchto sekvencií sa však dá „realizovať“, teda vypočítať všetky jej členy (samozrejme, takýchto implementácií bude nekonečne veľa).

Pozrime sa na hlavnú otázku tejto časti. A čo majú obrázky, ktoré vytvoríme, spoločné s touto dvojicou náhodných sekvencií? Veľmi jednoduché. Skonštruujme realizáciu týchto dvoch sekvencií. Pre každý prírodný n pár ( x n, y n) možno považovať za súradnice bodu daného v kartézskom pravouhlom súradnicovom systéme v rovine. Takže obraz zodpovedajúci nejakému páru implementovaných sekvencií je miestom všetkých takýchto bodov v rovine.

Zdalo by sa, že pre každú implementáciu dvojice sekvencií získame vlastný obrázok, odlišný od ostatných. Akokoľvek paradoxné sa to však môže zdať, výsledné obrázky sa budú zakaždým takmer zhodovať (t. j. pri vykreslení na počítači budú ľudským okom nerozoznateľné). A s vhodným výberom iteračných funkcií a distribučných zákonov náhodných premenných podieľajúcich sa na tvorbe členov sekvencie možno vytvoriť veľmi zaujímavé vzory.

Dodávame, že pri konštrukcii obrázkov na počítači, samozrejme, vykonáme len konečný (ale dostatočne veľký) počet iterácií.

O generovaní pseudonáhodných čísel

Pri písaní programu sa stretneme s potrebou generovať pseudonáhodné čísla distribuované, všeobecne povedané, nie rovnomerne, ale podľa vopred určeného zákona. Zároveň budeme mať iba softvérový generátor pseudonáhodných čísel rovnomerne rozložených v intervale . Ako získať prvý z druhej distribúcie?

Preložme problém do matematickej roviny. Nech existuje spojitá náhodná premenná U, rovnomerne rozložené na segmente . Dajme si za cieľ skonštruovať diskrétnu náhodnú premennú T ako funkcia U, Spôsobom, že T nadobúdal hodnoty 0, 1, ..., m− 1 so zodpovedajúcimi pravdepodobnosťami p 0 , p 1 , …, p m-1 .

Riešenie problému je veľmi jednoduché. Zoberme do úvahy súčet pravdepodobností

s k = ∑ i = 0 k-1 pi, k = 0, 1, …, m-1.

Ak je horná hranica súčtu prekročená i je menší ako ten nižší, potom podľa definície budeme predpokladať, že takýto súčet sa rovná 0.

T vyjadriť cez U nasledujúcim spôsobom:

T = 0, ak U ∈ s 0, s 1, 1 ak U ∈ s 1, s 2, 2 ak U ∈ s 2, s 3, … … … … … …, … … … … … …, m - 1 ak U∈ s m-1, 1.

Jednoznačne náhodná premenná T distribuované podľa nami požadovaného zákona. Všimnite si, že v skutočnosti T- je to číslo intervalu, do ktorého náhodná premenná spadá U(za predpokladu, že intervaly očíslujeme číslami od 0 do m− 1 vo vzostupnom poradí ich ľavých hraníc).

Z praktického hľadiska získaný výsledok umožňuje v každom kroku iterácie ako počet iteračných funkcií vziať číslo intervalu, do ktorého spadá číslo generované generátorom pseudonáhodných čísel rovnomerne rozdelených na intervale. .

Teraz môžeme prejsť k písaniu programu.

Štruktúra programu

Program pozostáva zo súboru main.c a súborov, ktoré tvoria grafickú knižnicu pgraph. Obsah súboru main.c začína nasledujúcou direktívou, ktorá zahŕňa grafickú knižnicu:

#include "pgraph.h"

Ďalej súbor obsahuje popisy globálnych konštantných premenných a konštantných polí. Za nimi sú definície funkcií get_random_value() a main(). Prvý generuje pseudonáhodné čísla a druhý vykonáva hlavnú prácu pri vytváraní obrázkov.

Globálne konštantné premenné a konštantné polia

Všetky informácie potrebné na vytvorenie konkrétneho obrazu sú obsiahnuté v globálnych konštantných premenných a konštantných poliach. Samozrejme, pre každý obrázok bude množina hodnôt konštánt a prvkov konštantných polí „svoja“.

Nasleduje popis týchto konštánt a polí.

  • n je počet iterácií;
  • w - šírka obrázka v pixeloch;
  • h - výška obrazu v pixeloch;
  • xc - úsečka začiatku nového súradnicového systému v starom systéme;
  • yc - súradnica začiatku nového súradnicového systému v starom systéme;
  • l je dĺžka segmentu rovnobežného s jednou zo súradnicových osí v pixeloch, ktorý má v novom súradnicovom systéme jednotku dĺžky;
  • m je počet párov iteračných funkcií, t.j. počet m;
  • s - jednorozmerné pole veľkosti m obsahujúce súčty pravdepodobností náhodných premenných T n (k-tý prvok poľa obsahuje s k);
  • f je dvojrozmerné pole pozostávajúce z m fk(X, rk, 0), (k, 1), (k, 2) obsahujú čísla a k, b k, c k v uvedenom poradí, kde 0 ≤ km − 1);
  • g - dvojrozmerné pole pozostávajúce z m"riadky" a 3 "stĺpce" obsahujúce konštanty používané vo funkciách g k(X, r) (prvky poľa s indexmi ( k, 0), (k, 1), (k, 2) obsahujú čísla nevie, e k, h k v uvedenom poradí, kde 0 ≤ km − 1).

Všetky premenné sú typu int a základný typ všetkých polí je double.

Ujasnime si, že „starý“ súradnicový systém znamená systém definovaný v knižnici pgraph. Konštrukcia všetkých obrázkov sa uskutoční v novom systéme získanom zo starého paralelným prenosom (posuny pozdĺž osi x a y sú rovnaké, resp. x c a y c) a "kompresia" v l raz. Teda bod, ktorý má súradnice v novom systéme ( X, r), v starom bude mať súradnice ( x l + x c, y l + y c). Myslím si, že je zbytočné vysvetľovať, aký druh ukladania čísel x c, y c a l zodpovedné sú konštantné premenné xc , yc a l.

Na ukladanie čísel X 0 a r Premenné 0 nie sú priradené, pretože vo všetkých prípadoch zobrazovania sa za tieto čísla považujú nuly.

Generovanie pseudonáhodných čísel: funkcia get_random_value().

Funkcia get_random_value() generuje pseudonáhodné celé číslo v rozsahu od 0 do m− 1 v súlade so schémou opísanou vyššie. Tu je kód pre túto funkciu:

1. int get_random_value() 2. { 3. double r = (double ) rand() / RAND_MAX; 4. int c = 1; 5. zatiaľ čo (s[c]< r && ++c < m) 6. ; 7. návrat c - 1 ; 8. }

Pomocou štandardnej knižničnej funkcie rand() dostaneme pseudonáhodné číslo v rozsahu od 0 do hodnoty makra RAND_MAX, výsledok vydelíme touto hodnotou a kvocient priradíme premennej r (s. 3). Teraz r ukladá číslo patriace do intervalu . Dá sa približne považovať za hodnotu náhodnej premennej rovnomerne rozloženej na tomto segmente.

Ujasnime si, že hodnota makra RAND_MAX v našom prípade (t. j. v prípade použitia kompilátora MinGW64 verzie 4.9.2 pre 64-bitové systémy) je 32767.

Teraz pomocou lineárneho vyhľadávania pomocou cyklu while hľadáme index najväčšieho prvku poľa s, ktorý je menší alebo rovný hodnote r plus jedna, a uložíme ho do premennej c (pozri stranu 4- 6). Všimnite si, že ak je hodnota r nula, cyklus sa nikdy nevykoná a premenná c si zachová jedinú hodnotu (pozri stranu 4).

Hodnotu vrátenú funkciou možno približne považovať za hodnotu náhodnej premennej T popísané v časti uvedenej vyššie.

Generovanie obrazu: funkcia main().

A tu je kód funkcie main():

1. int main() 2. { 3. obrázok *img = vytvor_obrázok(š, v); 4. dvojité x = 0, y = 0; 5. pre (int i = 0 ; i< n; i++) 6. { 7. int r = get_random_value(); 8. double x1 = f[r] * x + f[r] * y + f[r]; 9. dvojité y1 = g[r] * x + g[r] * y + g[r]; 10.x=x1; 11.y=y1; 12. set_color(img, round(x * l) + xc, round(y * l) + yc, BLACK); 13. } 14. save_to_file(img, "out.bmp" ); 15.free(img); 16. návrat 0 ; 17. }

Vytvorte obrázok s určenými rozmermi (s. 3). Prideľte pamäť premenným X a r, ktorý uloží aktuálne členy sekvencií a inicializuje ich na nulu (s. 4). Pripomeniem vám to ako čísla X 0 a r 0, zapojených do výpočtu prvých členov každej zo sekvencií, berú sa nuly.

Vypočítajte v slučke for prvý nčlenov každej sekvencie (strany 5-13). Najprv dostaneme pseudonáhodné číslo a zapíšeme ho do r (s. 7). Ďalej vypočítame aktuálne hodnoty členov oboch postupností a umiestnime ich do dočasných premenných x1 a y1 (s. 8, 9). Pri výpočte používame konštanty, ktoré sa vyskytujú v iteračných funkciách a sú uložené v poliach f a g . Výber jednej alebo druhej dvojice množín koeficientov (a teda dvojice iteračných funkcií) závisí od hodnoty r, ktorá sa používa ako prvé indexy prvkov poľa zapojených do výpočtov.

Vypočítané aktuálne hodnoty prepíšeme do premenných x a y (s. 10, 11). Súradnice bodu obsiahnuté v týchto premenných sa prevedú na súradnice pôvodného súradnicového systému, zaokrúhlia sa na celé čísla nahor a bod s výslednými súradnicami sa vykreslí na obrázok čiernou farbou (str. 12).

Po dokončení cyklu uložte vygenerovaný obrázok do súboru „out.bmp“ (s. 14) a uvoľnite pamäť obsadenú obrázkom (s. 15). Tým je funkcia dokončená.

Vytvorenie obrazu Sierpinského trojuholníka

Sierpinského trojuholník je množina bodov získaných zo všetkých bodov nejakého počiatočného rovnostranného trojuholníka nasledovne. Trojuholník je rozdelený tromi strednými čiarami na 4 trojuholníky, po ktorých sa odstráni "stredový" trojuholník. Ďalej sa rovnaká operácia vykoná s každým zo zostávajúcich troch rovnostranných trojuholníkov. Nakoniec to isté urobíme s výslednými deviatimi rovnostrannými trojuholníkmi.

Pokračujúc v opísaných operáciách do nekonečna, nakoniec odstránime z pôvodného trojuholníka nekonečný počet rovnostranných trojuholníkov, ktorých súčet plôch sa rovná ploche pôvodného trojuholníka. Zvyšné body tvoria priamku tzv Sierpinského trojuholník, ktorý hrá dôležitú úlohu v teórii množín.

Kniha Sedgwicka a iných autorov navrhuje nasledujúcu metódu na zostrojenie obrazu Sierpinského trojuholníka. Uvažujme 3 body v rovine, ktoré sú vrcholmi rovnostranného trojuholníka, napríklad body so súradnicami 0 , 0 , 0 , 1 , 1 / 2 , 3 / 2 v kartézskom pravouhlom súradnicovom systéme. Vyberieme náhodne (s rovnakou pravdepodobnosťou) jeden z troch vrcholov trojuholníka a postavíme bod rozdeľujúci úsečku spájajúcu vrchol so súradnicami 0, 0 a náhodne vybraný vrchol na polovicu. Toto je prvý bod nášho obrazu.

Vyššie uvedený algoritmus môže byť vložený do vyššie opísanej schémy konštrukcie obrazu, ktorá zahŕňa náhodné sekvencie a iteračné funkcie.

Potrebujeme 3 páry iteračných funkcií. Ich indexy 0, 1, 2 by mali byť zvolené s pravdepodobnosťou 1/3, 1/3, 1/3. Samotné iteračné funkcie sú uvedené nižšie.

F 0 x, y = 1/2 x, g 0 x, y = 1/2 y, f 1 x, y = 1/2 x + 1/2, g 1 x, y = 1/2 y, f 2 x, y = 1/2 x + 1/4, g2 x, y = 1/2 y + 3/4.

Teraz vložme do nášho programu deklarácie globálnych konštantných premenných a konštantných polí zodpovedajúcich daným pravdepodobnostiam a daným iteračným funkciám. Najprv však definujme makro TRIANGLE umiestnením nasledujúceho príkazu do súboru main.c za príkaz #include

#define TROJUHOLNÍK

Po pokynoch vložte do súboru nasledujúci kód:

// Sierpinského trojuholník #ifdef TROJUHOLNÍK const int n = 100000; //počet opakovaní const int w = 620, h = 550; //rozmery obrázku const int xc = 10, yc = 10; // súradnice začiatku nového súradnicového systému v starom const int l = 600; //pomer kompresie const int m = 3; //počet párov iteračných funkcií const double s = (0, 0,3333333, 0,6666667); //pole súčtov pravdepodobností const double f = ((0,5 , 0,0 , 0,0 ), //pole koeficientov pre funkcie f(x,y), {0.5 , 0.0 , 0.5 }, //používa sa na výpočet x {0.5 , 0.0 , 0.25 }}; const double g = ((0,0 , 0,5 , 0,0 ), //pole koeficientov pre funkcie g(x,y), {0.0 , 0.5 , 0.0 }, //používa sa na výpočet y {0.0 , 0.5 , 0.4330127 }}; #koniec Ak

Vyššie uvedený fragment kódu (bez direktív preprocesora) bude skompilovaný iba vtedy, ak je definované (a je definované) makro TRIANGLE. Samozrejme, konštanty, ktoré možno znázorniť iba pomocou nekonečných desatinných zlomkov (racionálnych alebo iracionálnych), boli zaokrúhlené.

V dôsledku kompilácie a spustenia programu sa v koreňovom adresári spustiteľného súboru objaví grafický súbor out.bmp, ktorý obsahuje nasledujúci obrázok:

Budovanie obrazu papradia Barnsley

Ďalším obrazom, ktorého konštrukcia je opísaná v knihe Sedgwicka a iných, je obraz papradia Barnsley. Teraz potrebujeme 4 páry iteračných funkcií. Ich indexy 0, 1, 2, 3 budú zvolené s pravdepodobnosťami 0,01, 0,85, 0,07, 0,07 v tomto poradí. A tu sú samotné iteračné funkcie:

F 0 x , y = 0,5 , g 0 x , y = 0 , 16 y , f 1 x , y = 0 , 85 x + 0 , 04 y + 0 , 075 , g 1 x , y = - 0 , 04 x + 0 , 85 y + 0 , 18 , f 2 x , y = 0 , 2 x - 0 , 26 y + 0 , 4 , g 2 x , y = 0 , 23 x + 0 , 22 y + 0 , 045 , f 3 x , y = - 0 , 15 x + 0 , 28 y + 0, 575 , g 3 x , y = 0 , 26 x + 0 , 24 y - 0 , 086 .

Teraz vykonáme zmeny v programe. Inštrukcia #define je nahradená inštrukciou

#definujte PAPRADU

A za blok #ifdef umiestnime nasledujúci kúsok kódu:

// Fern Barnsley #ifdef PAPRADNA const int n = 100000; const int l = 600; const int m = 4; const double s = (0, 0,01, 0,86, 0,93); const double f = ((0,0 , 0,0 , 0,5 ), {0.85 , 0.04 , 0.075 }, {0.2 , -0.26 , 0.4 }, {-0.15 , 0.28 , 0.575 }}; const double g = ((0,0 , 0,16 , 0,0 ), {-0.04 , 0.85 , 0.18 }, {0.23 , 0.22 , 0.045 }, {0.26 , 0.24 , -0.086 }}; #koniec Ak

Výsledkom kompilácie a spustenia programu je nasledujúci obrázok:

Vytvorenie obrazu stromu

Teraz postavme to, čo sa v knihe Sedgwicka a iných nazýva „strom“, hoci to, čo sa ukáže byť zobrazené, je skôr ako súbor stromov rôznych veľkostí. Tentoraz sa iteračného procesu zúčastní 6 párov iteračných funkcií. Ich indexy 0, 1, 2, 3, 4, 5 budú zvolené s pravdepodobnosťami 0,1, 0,1, 0,2, 0,2, 0,2, 0,2 v tomto poradí. Toto sú funkcie:

F 0 x , y = 0,55 , g 0 x , y = 0, 6 y , f 1 x , y = - 0, 05 x + 0, 525 , g 1 x , y = - 0, 5 x + 0 , 75 , f 2 x , y = 0 , 46 x - 0 , 15 y + 0 , 27 , g 2 x , y = 0 , 39 x + 0 , 38 y + 0 , 105 , f 3 x , y = 0 , 47 x - 0 , 15 y + 0 , 265 , g 3 x , y = 0 , 17 x + 0 , 42 y + 0 , 465 , f 4 x , y = 0 , 43 x + 0 , 26 y + 0 , 29 , g 4 x , y = - 0 , 25 x + 0 , 45 y + 0 , 625 , f 5 x , y = 0 , 42 x + 0 , 26 y + 0 , 29 , g 5 x , y = - 0,35x + 0,31r + 0,525.

#definovať STROM

Za posledný blok #ifdef prilepte nasledujúci kód:

//Drevo #ifdef STROM const int n = 100000; const int w = 620, h = 620; const int xc = 0, yc = 10; const int l = 600; const int m = 6; const double s = (0, 0,1, 0,2, 0,4, 0,6, 0,8); const double f = ((0,0 , 0,0 , 0,55 ), {-0.05 , 0.0 , 0.525 }, {0.46 , -0.15 , 0.27 }, {0.47 , -0.15 , 0.265 }, {0.43 , 0.26 , 0.29 }, {0.42 , 0.26 , 0.29 }}; const double g = ((0,0 , 0,6 , 0,0 ), {-0.5 , 0.0 , 0.75 }, {0.39 , 0.38 , 0.105 }, {0.17 , 0.42 , 0.465 }, {-0.25 , 0.45 , 0.625 }, {-0.35 , 0.31 , 0.525 }}; #koniec Ak

Výstupom skompilovaného programu je obrázok zobrazený nižšie:

Posledný obraz, ktorý podľa Sedgwickovej knihy vytvoríme, je obraz koralu. Potrebujeme 3 páry iteračných funkcií. Ich indexy 0, 1, 2 budú zvolené s pravdepodobnosťami 0,4, 0,15, 0,45 v tomto poradí. Iteračné funkcie sú uvedené nižšie.

F 0 x, y = 0, 3077 x - 0, 5315 y + 0, 8863, g 0 x, y = - 0, 4615 x - 0, x - 0, 0769 y + 0, 2166, g 1 x, y = 0, 1538 x - 0, 4476 y + 0, 3 384, f 2 x, y = 0, 5 455 y + 0, 0106, g 2 x, y = 0, 6923 x - 0, 1958 y + 08,38 y

Nahraďte inštrukciu #define inštrukciou

#define CORAL

Za posledným blokom #ifdef vložte nový blok:

//Koral #ifdef KORÁL const int n = 100000; const int w = 620, h = 620; const int xc = 10, yc = 10; const int l = 600; const int m = 3; const double s = (0, 0,4, 0,55); const double f = ((0,3077 , -0,5315 , 0,8863 ), {0.3077 , -0.0769 , 0.2166 }, {0.0 , 0.5455 , 0.0106 }}; const double g = ((-0,4615 , -0,2937 , 1,0962 ), {0.1538 , -0.4476 , 0.3384 }, {0.6923 , -0.1958 , 0.3808 }}; #koniec Ak

Tu je obrázok, ktorý dostaneme ako výsledok kompilácie a spustenia programu:

Záver

Neviem ako vy, ale pre mňa bolo zaujímavé sledovať, ako sa množiny matematických vzorcov „premenia“ na veľmi vtipné obrázky. Tiež ma prekvapuje, že tí, ktorí toto všetko vymysleli, si dokázali vybrať pravdepodobnosti a konštanty zapojené do iteračných funkcií takým spôsobom, aby dosiahli také úžasné obrázky! Spôsob výberu všetkých týchto čísel (s výnimkou prípadu Sierpinského trojuholníka) je pre mňa úplne nepochopiteľný!

Všimol som si, že súdiac podľa obrázkov sú Sierpinského trojuholník a Barnsleyho papraď fraktály. S najväčšou pravdepodobnosťou sa to isté dá povedať o „strome“ a „korale“, ale ich fraktálna povaha je možno o niečo menej zrejmá.

Pomocou nižšie uvedeného odkazu si ako vždy môžete stiahnuť zdrojový kód programu, o ktorom sa hovorí v článku. Súbor main.c má štyri príkazy #define, z ktorých každý zodpovedá jednému zo štyroch obrázkov. Tri z nich sú komentované. Je jasné, že na prechod z jedného obrázku na druhý je potrebné odkomentovať nekomentovaný návod a odkomentovať jeden z komentovaných. No, chápete...

A pomocou jednoduchého algoritmu môžete zabezpečiť, aby sa obrázky, o ktorých sa hovorí v článku, hladko „premenili“ na seba. Ale toto je téma na samostatný článok.

Grécki geometri boli hrdí na svoju logickú čistotu; čo sa však fyzického priestoru týka, riadili sa intuíciou. Jedným z aspektov gréckej geometrie, ktorý bol obzvlášť ovplyvnený fyzikálnymi úvahami, bola teória konštrukcií. Veľkú časť základnej geometrie priamych čiar a kružníc možno považovať za teóriu konštrukcií s pravítkom a kružidlom. Samotný názov predmetu, čiary a kruhy, odráža nástroje, ktoré boli použité na ich uskutočnenie. A mnohé zo základných problémov geometrie, ako je rozpolenie úsečky alebo uhla,

stavanie kolmice alebo kreslenie kružnice cez tri dané body sa dá vyriešiť stavaním pomocou pravítka a kružidla.

Po zadaní súradníc je ľahké ukázať, že body, ktoré možno zostaviť z bodov, majú súradnice v množine čísel vytvorenej zo súradníc operáciami a [porov. Muaz (1963) alebo cvičenia k časti 6.3]. Odmocniny sa, samozrejme, objavujú vďaka Pytagorovej vete: ak sú body vynesené, potom sa vykreslí vzdialenosť medzi nimi (časť 1.6 a obrázok 2.4). Naopak, konštrukcia je možná pre akúkoľvek danú dĺžku I (cvičenie 2.3.2).

Obrázok 2.4: Budovanie vzdialenosti

Pri pohľade z tohto hľadiska vyzerajú konštrukcie s pravítkom a kružidlom veľmi zvláštne a je nepravdepodobné, že by sa uviedli takéto čísla, napr. Gréci sa však veľmi snažili vyriešiť tento konkrétny problém, ktorý bol známy ako zdvojenie. kocka (takzvaná preto, že na zdvojnásobenie objemu kocky bolo potrebné stranu vynásobiť ďalšími neslávne známymi problémami boli trisekcia uhla a kvadratúra kruhu. Posledným problémom bolo zostrojiť štvorec rovnakej plochy k danému kruhu alebo zostrojiť číslo, ktoré sa rovná rovnakému. Zdá sa, že nikdy neopustili tieto ciele, hoci uznávali možnosť negatívneho riešenia a umožňovali riešenia menej elementárnymi prostriedkami. V nasledujúcich častiach uvidíme niektorí z nich.

Nemožnosť vyriešiť tieto problémy pomocou konštrukcií s kolmou a kružidlom bola až do devätnásteho storočia nepreukázaná. Pokiaľ ide o zdvojnásobenie kocky a trisekciu uhla, túto nemožnosť ukázal Vantzel (1837). Zásluha za vyriešenie týchto problémov, s ktorými najlepší matematici zápasili 2000 rokov, sa málokedy pripisuje Wantzelovi, možno preto, že jeho metódy boli nahradené silnejšou Galoisovou teóriou.

Nemožnosť kvadratúry kruhu dokazuje Lindemann (1882), a to veľmi rigoróznym spôsobom, nielen nedefinovateľne racionálnymi operáciami a odmocninami; je tiež transcendentálna, to znamená, že nie je koreňom žiadnej polynómovej rovnice s racionálnymi koeficientmi. Rovnako ako Wantzelova práca bola zriedkavým príkladom významného výsledku, ktorý dokázal menší matematik. V Lindemannovom prípade môže byť vysvetlenie

Dôležitý krok už bol urobený, keď Hermite (1873) dokázal transcendenciu.Dostupné dôkazy pre oba tieto výsledky možno nájsť v Kleinovi (1924). Lindemannova následná kariéra bola matematicky nevýrazná, ba až trápna. V odpovedi skeptikom, ktorí si mysleli, že jeho úspech je náhoda, sa zameral na najznámejší nevyriešený problém v matematike, Fermatovu poslednú vetu (o pôvode tohto problému pozri kapitolu 11). Jeho úsilie skončilo neúspechom v sérii nepresvedčivých papierov, z ktorých každý opravoval chybu v tom predchádzajúcom. Fritsch (1984) napísal zaujímavý životopisný článok o Lindemannovi.


I. úvod.

II. Hlavná časť:

    Konštrukcia úsečky rovnajúcej sa súčinu ostatných dvoch pomocou kružidla a pravítka:

    1. prvý spôsob výstavby;

      druhý spôsob výstavby;

      tretí spôsob výstavby,

d) štvrtý spôsob výstavby.

2) Zostrojenie úsečky rovnajúcej sa pomeru ostatných dvoch pomocou kružidla a pravítka:

      prvý spôsob výstavby;

      druhý spôsob výstavby.

Záver.

Aplikácia.

Úvod

Geometrické konštrukcie alebo teória geometrických konštrukcií je oblasť geometrie, v ktorej sa študujú otázky a metódy konštrukcie geometrických útvarov pomocou určitých konštrukčných prvkov. Geometrické konštrukcie sa študujú ako v geometrii Euklida, tak aj v iných geometriách, a to v rovine aj v priestore. Klasickými konštrukčnými nástrojmi sú kružidlo a pravítko (jednostranné matematické), existujú však konštrukcie s inými nástrojmi: len jedno kružidlo, iba jedno pravítko, ak je v rovine nakreslená kružnica a jej stred, len jedno pravítko s rovnobežkou hrany atď.

Všetky konštrukčné problémy sú založené na konštrukčných postulátoch, teda na najjednoduchších elementárnych konštrukčných problémoch, a problém sa považuje za vyriešený, ak sa zredukuje na konečný počet týchto najjednoduchších postulátových problémov.

Prirodzene, každý nástroj má svoju konštruktívnu silu – svoj vlastný súbor postulátov. Je teda známe, že nie je možné rozdeliť segment pomocou jedného pravítka na dve rovnaké časti, ale pomocou kompasu môžete.

Umenie konštrukcie geometrických útvarov pomocou kružidla a pravítka bolo veľmi rozvinuté v starovekom Grécku. Jednou z najťažších konštrukčných úloh, ktorú už vedeli vykonávať, bolo zostrojenie kružnice dotýkajúcej sa troch daných kružníc.

V škole sa učia množstvo najjednoduchších konštrukcií s kružidlom a pravítkom (jednostranným bez delenia): konštrukcia priamky prechádzajúcej daným bodom a kolmej alebo rovnobežnej s danou priamkou; delenie daného uhla na polovicu, delenie úsečky na niekoľko rovnakých častí pomocou Thalesovej vety (v skutočnosti delenie úsečky prirodzeným číslom); konštrukcia segmentu väčšieho ako daný o celé číslo (v podstate vynásobenie segmentu prirodzeným číslom). Nikdy sme sa však nestretli s problémom, kedy by bolo potrebné pomocou kružidla a pravítka vynásobiť úsečku úsečkou, teda zostrojiť úsečku rovnú súčinu dvoch daných úsečiek, alebo úsečku vydeliť segment, to znamená zostrojiť segment rovný pomeru ostatných dvoch segmentov. Tento problém sa nám zdal veľmi zaujímavý a rozhodli sme sa ho preskúmať, pokúsiť sa nájsť riešenie a možnosť aplikácie metódy nájdeného riešenia na riešenie iných problémov, napríklad z matematiky a fyziky.

Pri riešení konštrukčných problémov tradičná metodológia odporúča štyri stupne: analýza, konštrukcia, dôkaz a výskum. Uvedená schéma riešenia stavebných problémov sa však považuje za veľmi akademickú a jej implementácia si vyžaduje veľa času, preto sa jednotlivé fázy tradičnej schémy riešenia problému často vynechávajú, napríklad fázy dokazovania. , výskum. Pri našej práci sme v rámci možností využívali všetky štyri stupne a aj to len tam, kde to bolo potrebné a účelné.

A posledná vec: metóda, ktorú sme našli na konštrukciu vyššie uvedených segmentov, zahŕňa použitie okrem kružidla a pravítka aj ľubovoľne zvoleného jediného segmentu. Zavedenie jednotkového intervalu je diktované aj tým, že je potrebné prinajmenšom potvrdiť platnosť nami nájdenej metódy na nájdenie segmentu na konkrétnych konkrétnych príkladoch.

VŠEOBECNÝ PROBLÉM I

Pomocou kružidla a pravítka vytvorte úsečku rovnú súčinu ostatných dvoch úsečiek.

Poznámka:

predpokladaný:

    Pravítko je jednostranné, bez delení.

    Je daný segment jednotkovej dĺžky.

Štúdium.

1. Uvažujme priamky y=2x-2 2 a y=3x-3 2 a pokúste sa geometrickými a analytickými metódami nájsť súradnice priesečníka týchto priamok:

a
) geometrická metóda ( Obr.1) ukázali, že súradnice bodu A priesečníka týchto čiar: „5“ je úsečka, „6“ je ordináta, t.j. AE = 5, AD = 6.

b) analytická metóda tento výsledok potvrdí, t.j. A (5;6) - priesečník čiar.

Skutočne, riešením sústavy rovníc

y=6 А(5;6) - priesečník čiar.

2. Uvažujme segment: OB=2, OS=3, AD=6, AE=5.

Dá sa predpokladať, že BP=OV×OS, pretože 6 = 2 x 3; AE \u003d OB + OS, pretože 5=2+3, kde

2=OB-sklon rovnice y=2x-2 2 , 3=OS - sklon rovnice y=3x-3 2 , AD=y A, OD=x A - súradnice bodu A priesečníka nášho linky.

Náš predpoklad si overíme na všeobecnom príklade analytickou metódou, t.j. na rovniciach priamok y=mx-m 2 a y=nx-n 2 (kde m≠n) skontrolujte, či má priesečník priamok súradnice:

y=nx-n2 nx-n2 =mx-m2 x=(m2-n2)÷(m-n)=m+n a y=mx-m2 =m(m+n)-m2 = mn

súradnice bodu A priesečníka priamok, kde m a n sú sklony týchto priamok atď.

3. Zostáva nájsť spôsob konštrukcie segmentu. HELL=OB×OC=m∙n=y A - súradnice bodu A priesečníka priamok Y=mx-m 2 a Y=nx-n 2, kde m≠n a m=OB, n=OC- úsečky vynesené na osi oh. A na to musíme nájsť metódu na zostrojenie čiar Y=mx-m2 a Y=nx-n2. z úvahy je zrejmé, že tieto priamky musia prechádzať bodmi B a C úsečiek OB=m a OC=n, ktoré patria na os x.

Poznámka 1. Vyššie uvedené označenia segmentov zodpovedajú obr. 1 "Dodatky"

Prvý spôsob zostrojenie segmentu AD=mn, kde m>1 jednotka, n>1 jednotka, m≠n.

jeden segment

ľubovoľný segment, m>1ed., n>1ed.

n je ľubovoľný segment, kde m≠n.

Budovanie (Obr.2)

    Nakreslíme rovnú čiaru

    Na OH odkladáme OA 1 = m

    Na OX odložíme A 1 C 1 \u003d 1 jednotku

    Zostrojme C 1 B 1 = m, kde C 1 B 1 ┴ OH

    Narysujme priamku A 1 B 1, ktorej rovnica je y=mx-m 2 v súradnicových osiach XOU (mierka na osiach je rovnaká).

Poznámka:


Obr.2

Poznámka 1.

Tangenta sklonu tejto priamky tgά 1 = C 1 B 1 /A 1 C 1 =m/1ed=m, ktorá prechádza bodom A 1 úsečky OA 1 =m.

Podobne vytvoríme priamku, ktorej rovnica je Y \u003d nx-n 2.

6. Na osi OX odložíme OA 2 \u003d n (bod A 2 sa náhodou zhodoval s bodom C1).

7. Na osi OX odložte A 2 C 2 \u003d 1 jednotku.

8. Postavíme B 2 C 2 \u003d n, kde B 2 C 2 ┴ OH.

9. Nakreslíme priamku B 2 A 2, ktorej rovnica je Y \u003d nx-n 2.

Poznámka 2. Skutočne, sklon tejto priamky tg ά 2 =C 2 B 2 /A 2 C 2 =n/1ed=n, ktorá prechádza cez segment t.A2 OA2 =n.

10. Dostali sme t.A (m + n; mn) - priesečník čiar Y \u003d mx-m 2 a Y \u003d nx-n 2

11. Narysujme AD kolmo na x, kde D patrí osi x.

12. Segment AD \u003d mn (ordináta bodu A), t.j. požadovaný segment.

Poznámka 3. a) Ak je v našom príklade n=4 jednotiek, m=3 jednotiek, potom by malo byť BP=mn=3 jednotiek∙4 jednotiek=12 jednotiek. Nám to vyšlo takto: BP = 12 jednotiek; b) v tejto stavbe nebola použitá linka B 1 B 2. Aj v B.

Existujú aspoň tri rôzne spôsoby konštrukcie segmentu AD=mn.

Druhý spôsob konštrukcia segmentu AD=mn, kdem> 1 jednotka,n> 1 jednotka,man- akýkoľvek.

Analýza

Analýza predtým zostrojeného výkresu (obr. 2), kde pomocou nájdenej metódy zostrojenia priamok Y=mx-m 2 a Y=nx-n 2 bolo zistené t.A (m+n; mn) (ide o prvý spôsob ), naznačuje, že m.A (m + n; mn) možno nájsť zostrojením ktorejkoľvek z týchto čiar (U \u003d mx-m 2 alebo U \u003d nx-n 2) a kolmice AD, kde AD je kolmica na OX , AD \u003d mn, D patrí k osi OH. Potom požadovaný bod A (m + n; mn) je priesečníkom ktorejkoľvek z týchto priamok a kolmice AD. Stačí nájsť uhly sklonu týchto priamok, ktorých dotyčnice sa podľa koeficientov sklonu rovnajú m a n, t.j. tan ά 1 = m a tan ά 2 = n. Ak vezmeme do úvahy, že tg ά 1 =m/1ed=m a tg ά 2 =n/1ed=n, kde 1ed je jednotkový segment, je možné ľahko zostaviť priame čiary, ktorých rovnice sú Y=mx-m2 a Y=nx-n 2.

jeden segment

n n>1 jednotiek, m a n sú ľubovoľné čísla.

P

konštrukcia (obr.3)

Obr.3

1. Nakreslíme priamku OX.

2. Na osi OX vyčleníme segment OA 1 \u003d m.

3. Na osi OX odložíme segment A 1 D \u003d n.

4. Na osi OX odložíme segment A 1 C 1 \u003d 1 jednotka.

5. Postavíme C 1 B 1 \u003d m, kde C 1 B 1 ┴ OH.

6. V súradnicových osiach XOU (mierka na osiach je rovnaká) nakreslíme priamku A1B1, ktorej rovnica je Y=mx-m2.

7. Obnovte kolmicu na OX v bode D.

8. Získame bod A (m + n; mn) - priesečník priamky Y \u003d mx-m2 a kolmice AD

9. Segment AD=mn, teda požadovaný segment.

Výkon: Táto druhá metóda je univerzálnejšia ako prvá, pretože vám umožňuje nájsť bod A (m + n; mn) a keď m \u003d n> 1 jednotka, súradnice tohto bodu sú A (2 m; m 2 ) a AD \u003d m 2.

Inými slovami, táto metóda vám umožňuje nájsť segment rovný štvorcu daného segmentu, ktorého dĺžka je väčšia ako 1 jednotka.

komentár: Ak je v našom príklade m=3 jednotky, n=5 jednotiek, potom by to malo byť AD=mn=3 jednotky × 5 jednotiek=15 jednotiek. Takto sme to urobili: AD=15 jednotiek.

Tretia cesta vytvorenie segmentuAD= mn, kdem> 1 jednotka,n> 1 jednotka amn.

Pomocou obrázku č. 2 nakreslite prerušovanú čiaru priamku B 1 B 2, až kým sa nepretína s OX v bode E € OX, a priamku B 1 B ┴ B 2 C 2, potom

B 1 B \u003d C 1 C 2 \u003d OS 2 -OS 1 \u003d (n + 1 jednotka) - (m + 1 jednotka) \u003d n-m, a B 2 B \u003d B 2 C 2 -B 1 C 1 \u003d m-n => B 1 В=В 2 В=>∆В 1 ВВ 2 - rovnoramenné, obdĺžnikové> ∆EC 1 В 1 - rovnoramenné, obdĺžnikové => ά=45º

Pretože OS 1 \u003d m + 1 jednotka a EU 1 \u003d B 1 C 1 \u003d m, potom OE \u003d OS 1 -EC 1 \u003d m + 1 jednotka-m \u003d 1 jednotka.

Z odôvodnenia vyplýva, že body B 1 a B 2 možno nájsť iným spôsobom, pretože sú to priesečníky priamky EB 1 vedenej pod uhlom ά=45º k osi ОХ a kolmým na ОХ: В 1 С 1 a В 2 С 2 a OE = 1 jednotka. Ďalej pomocou predchádzajúcich metód , budeme mať nasledujúci spôsob výstavby.

Jediný rez.

n n > 1 jednotka a m ≠ n.

Konštrukcia (obr.4)

1. Nakreslíme priamku OX.

5.Poďme stavať
ά \u003d C 1 EV 1 \u003d 45º, kde B1 je priesečník kolmice C1B1 so stranou ά \u003d 45º.

7. Odložte OA 2 \u003d n, kde A 2 € OX.

8. Odložte A 2 C 2 \u003d 1 jednotka, kde C 2 € OH.

9. Obnovte kolmicu C 2 B 2 na os OX v bode C 2, kde B 2 je priesečník kolmice s priamkou EB 1.

10. Nakreslíme priamku A 2 B 2, ktorej rovnica je Y \u003d nx-n 2, až kým sa nepretína s priamkou A 1 B 1 v bode A.

11. Z bodu A spustíme kolmicu na OX a dostaneme AD rovné mn, kde D € OX, keďže v súradnicových rovinách osí XOY sú súradnice bodu A (m + n; mn).


Obr.4

komentár: Nevýhoda tohto spôsobu je rovnaká ako pri prvom spôsobe výstavby, kde je výstavba možná len za podmienky m≠n.

Štvrtý spôsob vytvorenie segmentuAD= mn, kdeman- ľubovoľný, väčší ako jeden segment.

Jediný rez.

n n > 1 jednotiek, m a n sú ľubovoľné.

Konštrukcia (obr.5)


Obr.5

1. Nakreslíme priamku OX.

2. Odložte OE = 1 jednotka, kde E € OX.

3. Stlačte EC 1 =m, kde C 1 € OH.

4. Obnovte kolmicu v bode C 1 na os OX.

5. Zostrojme ά=C 1 EV 1 =45º, kde B 1 je priesečník kolmice C 1 B 1 so stranou ά=45º.

6. Odložením OA 1 \u003d m nakreslíme priamku A 1 B 1, ktorej rovnica je Y \u003d mx-m 2, A € OH.

7. Odložte A 1 D=n, kde D € OX.

8. Obnovte kolmicu v bode D, kým sa nepretína v bode A s priamkou A 1 B 1, ktorej rovnica je Y \u003d mx-m 2.

9. Úsečka kolmice AD ​​= súčin úsečiek m a n, teda AD = mn, keďže A (m + n; mn).

komentár: Táto metóda je priaznivá v porovnaní s prvou a treťou metódou, kde m≠n, keďže máme do činenia s ľubovoľnými segmentmi m a n, jednotkový segment môže byť menší ako len jeden z nich zahrnutý na začiatku konštrukcie (máme m> 1 jednotka).

Všeobecný problém II

Pomocou kružidla a pravítka vytvorte úsečku rovnajúcu sa pomeru ostatných dvoch úsečiek.

Poznámka:

jednotkový segment je menší ako deliaci segment.

Prvý spôsob konštrukcie segmentun= k/ m, kdem> 1 jednotka

Jediný rez.

Budovanie (Obr. 6)

2. Na OÚ odložíme OM = k.

3. Odložte OA 1 na OX = m.

4. Na OH odložte A 1 C 1 \u003d 1 jednotka.

5. Poďme postaviť С 1 В 1 \u003d m, kde С 1 В 1 ┴ ОХ.

6. Nakreslite priamku A 1 B 1, ktorej rovnica je y=mx-m 2 v súradnicových osiach XOU (mierka na osiach je rovnaká, rovná 1 jednotke).

7. Obnovte kolmicu MA v bode M na os OY, kde A je priesečník MA s priamkou A 1 B 1 (t. j. A € A 1 B 1).

8. Spustite kolmicu z bodu A na os OX, kým sa nepretne s osou OX v bode D. Úsečka AD=OM=k=mn.

9. Segment A 1 D \u003d n - požadovaný segment, rovný n \u003d k / m.

Obr.6

dôkaz:

1. Rovnica priamky A 1 B 1 je skutočne Y=mx-m 2, pri Y=0 máme 0=mx-m 2 => x=m=OA 1 a sklon je tg

2. V ∆ADA 1 tg 1 D=AD/A 1 D=B 1 C 1 /A 1 C 1 =>A 1 D=AD×A 1 C 1 /B 1 C 1 =k×1jednotka/m= mn /m=n, t.j. A 1 D=n=k/m je požadovaný segment.

Komentujte. Ak je v našom príklade m=3 jednotky, k=15 jednotiek, potom by to malo byť A 1 D=n=k/m=15 jednotiek/3 jednotky=5 jednotiek. Práve sme to urobili.

Druhý spôsob vytvorenie segmentun= k/ m, kdem> 1 jednotka

Jediný rez.



Obr.7

1. Zostavíme súradnicové osi XOU.

2. Na OÚ odložíme OM = k.

3. Odložte OE \u003d 1 jednotku, kde E € OX.

4. Odložte EC 1 \u003d m, kde C 1 € OX.

5. Obnovte kolmicu v bode C 1 na os OX.

6. Postavíme C 1 EB 1 \u003d 45º, kde B 1 je priesečník kolmice C 1 B 1 so stranou uhla C 1 EB 1 \u003d 45º.

7. Odložte OA 1 na OX = m.

8. Nakreslite priamku A 1 B 1, ktorej rovnica je y=mx-m 2 v súradnicových osiach XOU (mierka na osiach je rovnaká, rovná 1 jednotke).

9. Obnovte kolmicu MA v bode M na os OY, kde A je priesečník MA s priamkou A 1 B 1 (t. j. A € A 1 B 1).

10. Spustite kolmicu z bodu A na os OX, kým sa nepretne s osou OX v bode D. Úsečka AD=OM=k=mn.

11. Segment A 1 D=n - požadovaný segment, rovný n=k/m.

dôkaz:

1.∆B 1 C 1 E - obdĺžnikové a rovnoramenné, pretože C 1 EB 1 \u003d 45 ° \u003d\u003e B 1 C 1 \u003d EU 1 \u003d m.

2.A 1 C 1 \u003d OS 1 - OA 1 \u003d (OE + EC1) - OA 1 \u003d 1 jednotka + m-m \u003d 1 jednotka.

3. Rovnica priamky A 1 B 1 je skutočne Y=mx-m 2, pri Y=0 máme 0=mx-m 2 => x=m=OA 1 a sklon je tg

4.V ∆ADA 1 tg 1 D=AD/A 1 D=B 1 C 1 /A 1 C 1 => A 1 D=AD×A 1 C 1 /B 1 C 1 =k ×1 jednotka/m= mn/m=n, t.j. A 1 D=n=k/m je požadovaný segment.

Záver

V našej práci sme našli a študovali rôzne metódy na zostrojenie segmentu rovnajúceho sa súčinu alebo pomeru dvoch ďalších segmentov pomocou kružidla a pravítka, pričom sme predtým uviedli vlastnú definíciu týchto operácií so segmentmi, keďže sme v žiadnom odbornej literatúry nielen definíciu násobenia a delenia segmentov, ale dokonca aj zmienku o týchto operáciách na segmentoch.

Tu sme použili takmer všetky štyri fázy: analýza, konštrukcia, dôkaz a výskum.

Na záver by sme chceli poznamenať možnosť využitia nájdených metód na konštrukciu segmentov v určitých odvetviach fyziky a matematiky.

1. Ak predĺžite priame čiary y=mx-m 2 a y=nx-n 2 (n>m>0), kým sa nepretnú s osou OS, potom môžete získať segmenty rovné m 2, n 2, n 2 - m2 (Obr.8), kde OK \u003d m 2, OM \u003d n 2, KM \u003d n 2 - m 2.

R
Obr.8

dôkaz:

Ak x=0, potom y=0-m2 => OK=m2.

Podobne je dokázané, že OM= n2 =>KM=OM-OK= n2 - m2.

2. Keďže súčinom dvoch segmentov je plocha obdĺžnika so stranami rovnými týmto segmentom, potom, keď nájdeme segment rovný súčinu ostatných dvoch, predstavujeme plochu obdĺžnika v tvar segmentu, ktorého dĺžka sa číselne rovná tejto ploche.

3. V mechanike, termodynamike existujú fyzikálne veličiny, napríklad práca (А=FS, A=PV), číselne rovné plochám obdĺžnikov postavených v zodpovedajúcich súradnicových rovinách, preto v úlohách, kde napr. je potrebné porovnávať prácu podľa plôch obdĺžnikov, je to veľmi jednoduché, ak sú tieto oblasti reprezentované ako segmenty, ktoré sa číselne rovnajú plochám obdĺžnikov. A segmenty sa dajú ľahko navzájom porovnávať.

4. Uvažovaná konštrukčná metóda umožňuje zostaviť ďalšie segmenty, napríklad pomocou systému rovníc y=mx-m 3 a y=nx-n 3 môžete zostaviť segmenty s údajmi m a n ako m 2 + mn +n 2 a mn(m+n), keďže bod A priesečníka priamok daných touto sústavou rovníc má súradnice (m 2 +mn+n 2; mn(m+n) a môžete zostrojiť aj segmenty n3, m3 a rozdiel n3 - m3 získaný na OS v negatívnej oblasti pri X=0.

Umelecké diela. ... Pomoc kompas a vládcov. Algoritmus delenia segment AB na polovicu: 1) položte nohu kompas do bodu A; 2) nainštalujte maltu kompas rovný dĺžka segment ...

  • Životopis Pytagoras

    Životopis >> Matematika

    ... budova pravidelné geometrické tvary Pomoc kompas a vládcov. ... Pomoc kompas a vládcov. Viac ako dva ... rovná sa b/4+p, jedna noha sa rovná b/4 a ďalší b/2-p. Podľa Pytagorovej vety máme: (b/4+p)=(b/4)+(b/4-p) alebo ...

  • Príkaz je určený na sekvenčnú konštrukciu kriviek a priamok tak, že koniec predchádzajúceho objektu je začiatkom nasledujúceho objektu. Konštrukcia geometrie týmto spôsobom je možná aj z ponuky Nástroje → Geometria

    Parameter Popis
    Toto tlačidlo dokončí vytvorenie reťazca geometrických prvkov. V tomto prípade sa obrys týchto prvkov uzavrie spojením posledného geometrického prvku s prvým bodom reťaze. Toto tlačidlo je aktívne, keď je možné reťaz zavrieť. Napríklad reťaz nebude fungovať, ak sú v sérii postavené iba 2 rovné segmenty - môžu byť uzavreté iba 3 rovnými segmentmi - získa sa trojuholník (minimálny údaj). Ale v prípade Bezierovej krivky stačia 2 body na uzavretie obrysu pomocou tretieho bodu
    oddielPríkazy na vytváranie rovných čiar
    Toto tlačidlo sa používa na nakreslenie ľubovoľného priameho segmentu rovnobežného s vybratou priamkou. Táto čiara môže byť mimo reťaze vo výstavbe
    Toto tlačidlo sa používa na nakreslenie rovnej čiary kolmej na vybratú priamku. Táto čiara môže byť mimo reťaze vo výstavbe
    Toto tlačidlo sa používa na nakreslenie priameho segmentu dotyčnice k vybranej krivke. Táto krivka musí byť mimo budovaného reťazca. V niektorých prípadoch môže program ponúkať niekoľko možností konštrukcie dotyčnicových segmentov. Ak chcete vybrať jeden z nich alebo všetky spolu, použite tlačidlá Predchádzajúci alebo Ďalší alebo ukážte na každú požadovanú možnosť a stlačte ľavé tlačidlo myši. Ak v poli zadáte konkrétnu dĺžku segmentu Dĺžka, potom je možné zostrojiť dotyčnicový segment, ktorého druhý bod nemusí ležať na zvolenej krivke
    ArcPríkazy na vytvorenie oblúka
    Toto tlačidlo sa používa na vytvorenie ľubovoľného oblúka postupným zadaním troch bodov v grafickom okne alebo na paneli možností
    Toto tlačidlo nakreslí oblúkovú tangentu k predchádzajúcemu prvku v reťazci
    zakrivená krivkaPríkazy na vytvorenie krivky
    Toto tlačidlo sa používa na vytvorenie spline na základe série bodov.
    Spline pozdĺž pólovToto tlačidlo sa používa na vytvorenie spline na základe počtu limitných bodov. Zároveň môžete nastaviť Hmotnosť bodov a objednať Hmotnosť určuje "sila príťažlivosti" krivky k bodu na krivke. Čím väčšia je hmotnosť, tým bližšie je krivka k bodu. V skutočnosti ide o parameter zakrivenia krivky (čím väčšie je zakrivenie krivky, tým menší je polomer ohybu a naopak). Parameter objednať definuje minimálny počet bodov, ktorými bude krivka zostavená. Minimálna objednávka 3 – umožňuje zostaviť krivku z troch bodov

    Vytváranie geometrie pomocou nástroja Čiara

    Príkaz Linka je určený na sekvenčnú konštrukciu priamok a oblúkov tak, že koniec predchádzajúceho objektu je začiatkom nasledujúceho objektu. Lišta volieb pre tento príkaz obsahuje degenerovanú ponuku príkazov . Konštrukcia geometrie týmto spôsobom je možná aj z ponuky Nástroje → Geometria → Čiara. Panel možností pre toto tlačidlo obsahuje nasledujúce príkazy:

    Parameter Popis
    oddielToto tlačidlo sa používa na vytvorenie ľubovoľného priameho segmentu
    ArcToto tlačidlo sa používa na nakreslenie oblúkovej tangenty k predchádzajúcemu prvku v reťazci. V tomto prípade sa smer vytvárania oblúka zmení pohybom kurzora v opačnom smere od počiatočného bodu oblúka
    Toto tlačidlo dokončí vytvorenie reťazca geometrických prvkov. Potom program prejde do režimu čakania na zadanie nového reťazca.
    Ak stlačíte toto tlačidlo, vytvorí sa reťazec prvkov. Ak toto tlačidlo nie je začiarknuté, vykreslia sa samostatné prvky (čiary alebo oblúky).

    Konštrukcia kriviek a lomených čiar

    Vytváranie kriviek je možné z ponuky Nástroje → Geometria → Krivky. Konštrukcia lomenej čiary je možná z ponuky Nástroje → Geometria → Polyline. Bézierová krivka je špeciálnym prípadom NURBS krivky. Všetky tieto príkazy nájdete na paneli nástrojov Geometria. Spôsoby ich zostavenia sú uvedené nižšie:

    Tlačidlo Spline je určený na zostrojenie rovnomennej krivky zo série bodov. Tlačidlá zobrazené na paneli možností Otvorte objekt a uzavretý objekt umožňujú vytvoriť otvorenú a uzavretú krivku, keď sú prvý a posledný bod prepojené. Uzavretá krivka môže byť vždy prepnutá na otvorenú krivku a naopak.

    Spline má rozšírenú úpravu charakteristických bodov. Na to slúži tlačidlo. Upravte body na paneli možností. Tento príkaz sa tiež automaticky vyvolá, keď dvakrát kliknete ľavým tlačidlom myši na už zostrojenú krivku. V tomto prípade sú body krivky doplnené o dotyčnicové segmenty, ktoré prechádzajú cez charakteristické body krivky.

    Krivku je možné rozdeliť na časti pomocou príkazov ponuky Rozdeliť → Krivka a Rozdeliť → Zakriviť na N častí. Prvý príkaz umožňuje rozdeliť vybranú krivku na 2 časti v určenom bode. Druhá krivka umožňuje rozdeliť krivku na niekoľko rovnakých častí. Ak to chcete urobiť, vyberte počet častí v pruhu volieb a zadajte krivku, ktorá sa má rozdeliť.

    Posúvaním charakteristických bodov (štvorcové body) a koncov dotyčnicových segmentov (okrúhle body) pomocou myši môžete ovládať tvar krivky. Tieto body môžete presúvať pomocou šípok na klávesnici, presuňte kurzor na požadovaný bod a stlačte kláves Enter. Potom sa bude možné pohybovať pomocou šípok s krokom, ktorý je násobkom aktuálneho kroku kurzora. Presun môžete ukončiť aj stlačením klávesu Enter. Existujú 3 možnosti presunu charakteristických bodov:

    • Pohybovať sa v ľubovoľnom smere – ak kurzor vyzerá ako štyri diagonálne šípky, keď sa pohybujete nad bodom
    • Pohyb v obmedzenom rozsahu smerov - ak kurzor vyzerá ako štyri ortogonálne šípky pri umiestnení kurzora myši nad bod
    • Pohyb kurzora spôsobí rotáciu geometrie – ak kurzor vyzerá ako rotujúce šípky pri prechode nad bodom.

    Body kriviek je možné prichytiť k iným objektom a iným bodom kriviek pomocou globálnych a lokálnych prichytení. Zaradenie potrebného lokálneho prichytenia do procesu presúvania charakteristického bodu je možné stlačením pravého tlačidla myši (alebo stlačením SHIFT + F10) a výberom prichytenia z rozbaľovacej podponuky. Väzba.

    Tlačidlo Spline pozdĺž pólov je určený na vytvorenie krivky - spline pozdĺž série bodov. Pre tento typ krivky môžete nastaviť Hmotnosť s bodov a objednať krivka v lište možností. Parameter Hmotnosť určuje "sila príťažlivosti" krivky k bodu na krivke. Čím väčšia je hmotnosť, tým bližšie je krivka k bodu. V skutočnosti ide o parameter zakrivenia krivky (čím väčšie je zakrivenie krivky, tým menší je polomer ohybu a naopak). Parameter objednať definuje minimálny počet bodov, ktorými bude krivka zostavená. Minimálna objednávka 3 – umožňuje zostaviť krivku pomocou troch bodov. Pólový splajn sa v režime úpravy bodu podobá bežnému splajnu. Ak sú koncové body susedných dotyčnicových (tangenciálnych) segmentov v spline spojené, potom dostaneme podobnosť spline pozdĺž pólov. Pólová drážka je vo svojej podstate hladšia ako bežná drážka v dôsledku skutočnosti, že pólová drážka poskytuje kontinuitu zakrivenia.

    Ak postavíte 2 drážky pozdĺž pólov, môžete ich konce spojiť tak, aby bola v bode prechodu zabezpečená kontinuita („hladkosť“).

    Aby ste to dosiahli, musíte v bode prechodu postaviť pomocnú čiaru s požadovaným sklonom (napríklad tangenciálnu pomocnú čiaru v tomto bode prechodu) a umiestniť druhé body z bodu prechodu na túto pomocnú čiaru. Teraz, keď sa pohybujete o 3 body a vyššie (pri pohľade z bodu prechodu), ktorákoľvek z týchto kriviek si zachová podmienku spojitosti krivky v bode prechodu.

    Charakteristický bod môžete pridať jednoduchým kliknutím ľavým tlačidlom myši na požadovaný úsek krivky.

    Charakteristický bod môžete vymazať pomocou klávesu DEL pri výbere požadovaného bodu. Tým sa zmení tvar krivky.

    Rozhranie pre prácu so splajnmi podľa pólov je podobné rozhraniu pre prácu s bežnými splajnmi. Na paneli možností môžete tiež vytvoriť Otvorte objekt a uzavretý objekt. A s gombíkom Upravte body môžete tiež opraviť tvar krivky presunutím kľúčových bodov. Rovnakým spôsobom, ako fungujú uchopenia s Bézierovými krivkami, sa body presúvajú a krivka sa rozdeľuje na časti.

    Tlačidlo prerušovaná čiara je navrhnutý tak, aby vytvoril sériu prepojených priamych línií. Polyline sa líši od bežnej postupnosti priamych segmentov v tom, že posun žiadneho prvku nepreruší čiaru.

    Rozhranie pre prácu s prerušovanými čiarami je podobné rozhraniu pre prácu s krivkami. Na paneli možností môžete tiež vytvoriť Otvorte objekt, a uzavretý objekt. A s gombíkom Upravte body môžete tiež opraviť tvar krivky posunutím kľúčových bodov. Rovnakým spôsobom ako pri krivkách fungujú uchopenia a presúvajú sa body. Charakteristickým rysom lomenej čiary je, že ju možno rozdeliť na samostatné prvky pomocou príkazu ponuky Editor → Zničiť. Potom je možné jednotlivé prvky lomenej čiary presúvať alebo mazať bez ovplyvnenia ostatných prvkov.

    Ak je celkom prirodzené, že s predpokladom väčšej rozmanitosti nástrojov sa ukáže, že je možné vyriešiť väčší súbor konštrukčných problémov, potom by sa dalo predpokladať, že naopak, pri obmedzeniach uložených na nástroje, trieda riešiteľných problémov sa zúži. O to pozoruhodnejší je objav Taliana Mascheroniho (1750-1800): všetky geometrické konštrukcie, ktoré sa dajú robiť pomocou kružidla a pravítka, sa dajú robiť iba kružidlom. Malo by byť, samozrejme, stanovené, že je v skutočnosti nemožné nakresliť priamku cez dva dané body bez pravítka, takže táto základná konštrukcia nie je pokrytá Mascheroniho teóriou. Namiesto toho treba predpokladať, že priamka je daná, ak sú dané dva jej body. Ale len pomocou kružidla je možné nájsť priesečník dvoch takto zadaných priamok, alebo priesečník priamky s kružnicou.

    Asi najjednoduchším príkladom Mascheroniho konštrukcie je zdvojenie daného segmentu Riešenie už bolo uvedené na strane 185. Ďalej na strane 186 sme sa naučili rozdeliť daný segment na polovicu. Teraz sa pozrime, ako rozpoliť oblúk kruhu so stredom O. Tu je popis tejto konštrukcie. S polomerom nakreslíme dva oblúky so stredmi Z bodu O vyčleníme dva také oblúky na tieto oblúky a že Potom nájdeme priesečník oblúka so stredom P a polomerom a oblúka so stredom a polomerom. Nakoniec, ak vezmeme segment ako polomer, opíšeme oblúk so stredom P alebo kým priesečník s oblúkom nie je priesečníkom a nie je požadovaným stredom oblúka. Dôkaz je ponechaný na čitateľa ako cvičenie.

    Ryža. 48. Priesečník kružnice a priamky neprechádzajúcej stredom

    Bolo by nemožné dokázať hlavné Mascheroniho tvrdenie tým, že pre každú konštrukciu, ktorá sa dá urobiť kružidlom a pravítkom, ukážeme, ako sa to dá urobiť s jediným kružidlom: veď možných konštrukcií je nekonečné množstvo. Ale rovnaký cieľ dosiahneme, ak zistíme, že každá z nasledujúcich základných konštrukcií je realizovateľná s jediným kompasom:

    1. Nakreslite kružnicu, ak je zadaný stred a polomer.

    2. Nájdite priesečníky dvoch kružníc.

    3. Nájdite priesečníky priamky a kružnice.

    4. Nájdite priesečník dvoch priamok.

    Akákoľvek geometrická konštrukcia (v bežnom zmysle s predpokladom kružidla a pravítka) je tvorená konečnou postupnosťou týchto elementárnych konštrukcií. Že prvé dva z nich sú realizovateľné s jediným kompasom, je hneď jasné. Náročnejšie konštrukcie 3 a 4 sa vykonávajú s použitím inverzných vlastností diskutovaných v predchádzajúcom odseku.

    Vráťme sa ku konštrukcii 3: nájdite priesečníky danej kružnice C s priamkou prechádzajúcou týmito bodmi. Nakreslíme oblúky so stredmi a polomermi rovnými a okrem bodu O sa pretínajú v bode P. Potom zostrojíme bod recipročný k bodu P vzhľadom na kružnicu C (pozri. konštrukcia popísaná na str. 186). Nakoniec nakreslíme kružnicu so stredom a polomerom (určite sa bude pretínať s C): jej priesečníky s kružnicou C budú požadované. Na dokázanie stačí zistiť, že každý z bodov je od seba v rovnakej vzdialenosti (čo sa týka bodov, ich analogická vlastnosť bezprostredne vyplýva z konštrukcie). V skutočnosti stačí poukázať na okolnosť, že inverzný bod k bodu je od bodov oddelený vzdialenosťou rovnajúcou sa polomeru kružnice C (pozri s. 184). Stojí za zmienku, že kružnica prechádzajúca bodmi je inverzná priamka vzhľadom na kružnicu C, pretože táto kružnica a priamka sa pretínajú

    Ryža. 49. Priesečník kružnice a priamky prechádzajúcej stredom

    s C v rovnakých bodoch. (Pri obrátení zostanú body základného kruhu pevné.)

    Naznačená konštrukcia nie je možná iba vtedy, ak priamka prechádza stredom C. Potom však priesečníky možno nájsť konštrukciou opísanou na strane 188, ktorú získame, keď nakreslíme ľubovoľnú kružnicu so stredom B pretínajúcim sa s C v bodoch Metóda nakreslenie kružnice inverznej k priamke spájajúcej dva dané body okamžite dáva konštrukciu, ktorá rieši úlohu 4. Čiary nech sú dané bodmi (obr. 50).

    Ryža. 50. Priesečník dvoch priamok

    Nakreslíme ľubovoľnú kružnicu C a pomocou vyššie uvedenej metódy zostrojíme kružnice, ktoré sú inverzné k priamkam a tieto kružnice sa pretínajú v bode O a v jednom ďalšom bode Bod X, inverzný k bodu, je požadovaný priesečník: ako na jeho konštrukciu už bolo vysvetlené vyššie. To, že X je požadovaný bod, je jasné zo skutočnosti, že existuje jeden inverzný bod k bodu, ktorý súčasne patrí do oboch priamok, a teda bod X, inverzný musí ležať súčasne na a na

    Tieto dve konštrukcie dopĺňajú dôkaz o rovnocennosti Mascheroniho konštrukcií, v ktorých sú povolené len kružidlá, a obyčajných geometrických konštrukcií s kružidlom a pravítkom.

    Nezáležalo nám na elegancii riešenia jednotlivých problémov, ktoré sme tu uvažovali, keďže naším cieľom bolo objasniť vnútorný zmysel Mascheroniho konštrukcií. Ale ako príklad uvedieme aj konštrukciu pravidelného päťuholníka; presnejšie, hovoríme o nájdení nejakých piatich bodov na kružnici, ktoré môžu slúžiť ako vrcholy pravidelného vpísaného päťuholníka.

    Nech A je ľubovoľný bod na kružnici K. Keďže strana pravidelného vpísaného šesťuholníka sa rovná polomeru kružnice, nebude ťažké vyčleniť na K také body, ktoré



    Podobné články