Tuule puhutud Pythagorase puu. Elektrokardiogrammi R-laine Pythagorase puu parameetrina. Funktsioon Pythagorase puu koostamiseks C-keeles

Pythagorase puu on teatud tüüpi fraktal, mis põhineb Pythagorase pükstena tuntud kujundil.

Tõestades oma kuulsat teoreemi, konstrueeris Pythagoras kujundi, milles täisnurkse kolmnurga mõlemal küljel olid ruudud. Aja jooksul muutus see Pythagorase kuju terveks puuks. Esimesena konstrueeris Pythagorase puu Teise maailmasõja ajal A. Bosman, kasutades tavalist joonlauda.

Pythagorase puu üks peamisi omadusi on see, et kui esimese ruudu pindala on üks, siis igal tasandil on ruutude pindalade summa samuti võrdne ühega. Klassikalise Pythagorase puu nurk on 45 kraadi, kuid üldistatud Pythagorase puu on võimalik konstrueerida ka teiste nurkade abil. Sellist puud nimetatakse Pythagorase tuulest puhutud puuks. Kui joonistada ainult need segmendid, mis kuidagi ühendavad teatud kolmnurkade "keskpunkte", saate alasti Pythagorase puu.

Teine näide oleks kuulus "Pythagorase puu". Seda kujutatakse sageli nii, nagu on näidatud joonisel fig. 3.2. Iga selle puu täisnurkse kolmnurga sisenurk on 45°.

Kasutame jälle juhuslike arvude generaatorit, et luua üldisem programm, mis suudab genereerida mitte ainult riisi. 3.2, vaid tekitavad ka vähem korrapäraseid puid. Nurgad seatud 45°-le joonise fig. 3.2 määratakse üldiselt juhuslikult vahemikus (45 - delta)° ja (45+ delta)° , kus on väärtus delta antakse sisendparameetrina koos parameetriga n, mis määrab rekursiooni sügavuse. Tavaline versioon, mis on näidatud joonisel fig. 3.2, mis saadakse täpsustamisel delta= 0 ja n = 7. Joonisel parameeter P määrab kolmnurkade arvu puu juurest lehtedeni ulatuval teel. Programmi tuumaks saab rekursiivne funktsioon ruut_ja_kolmnurk ("ruut ja kolmnurk"), mille esimese argumendina on parameeter n, mis määrab rekursiooni sügavuse. Kui parameetri n väärtus on suurem kui null, siis funktsioon ruut_ja_kolmnurk, nagu nimigi viitab, joonistab selle peale ruudu ja kolmnurga ning seejärel kutsub end veel kaks korda vastavate uute argumentidega, millest esimene on seatud väärtusele n-1. Ruudu suuruse ja asukoha määravad täielikult neli parameetrit: X0, Y0, a ja j (vt joonis 3.3). Kolmnurga joonistamiseks peate teadma nurka a. See kraadides väljendatud nurk on võrdne 45+hälbega, kus hälve on võrdne juhuslikult valitud rea -delta, -delta+I, ... , delta täisarvuga. Joonisel fig. 3.3 vajalikud punktid nummerdatakse järjestikuste numbritega 0,1,2,3,4. Punkti O koordinaadid X0, Y0 määratakse funktsiooni kutses. Ülejäänud punktide arvutamiseks kaalume esmalt lihtsamat olukorda, kus j = 0, st kui ruudu külg 0 1 on horisontaalasendis.


Selles asendis on punktide koordinaate väga lihtne määrata. Neid hoitakse x- ja y-massiivides. Seejärel pööratakse kogu konstruktsioon ümber punkti O nurga j võrra. Pööramise tulemus salvestatakse xx ja yy massiividesse.

/* PYTH_TREE: Pythagorase puu variant */

#include "matemaatika.h"

#include "stdlib.h"

#include "time.h"

#define pi 3.1415927

#include "stdio.h"

struct (float xx; float yy; int ii;) s;

void pfopen())( fp=fopen("scratch", "wb"); )

void pmove(float x, float y)



( s.xx=x; s.yy=y; s.ii=0; /* 0 = pliiats üles */ /* 0 = pliiats üles */

fwrite(&s, s suurus, 1, fp);

void pdraw(float x, float y)

(s.xx=x; s.yy=y; s.ii=1; /* 1 = pliiats alla */ /* 1 = pliiats alla */

fwrite(&s, s suurus, 1, fp);

void pfclose())( fclose(fp); )

void ruut_ja_kolmnurk(int n, hõljuk x0, hõljuk y0, hõljuk a, hõljuk phi)

( float x, y, xx, yy, cphi, sphi, c1, c2, b, c,

alfa, kalfa, salfa;

int i, kõrvalekalle; /* phi ja alfa radiaanides */

/* delta kraadides */

if(n==0) return; /* nurgad phi ja alfa radiaanides */

/* nurk delta kraadides */

hälve=rand()%(2*delta+1)-delta;

alfa=(45+hälve)*pi/180,0;

x=x=x0; x=x=x0+a;

y=y=y0; y=y=y0+a;

calpha=cos(alfa); salfa=sin(alfa);

c=a*calpha; b=a*salfa;

/* Pööramine ümber (x0, y0) läbi nurga phi ; */

/* Pööra ümber punkti (x0, y0) nurga phi võrra;*/

cphi=cos(phi); sphi=sin(phi);

c1=x0-x0*cphi+y0*sphi;

c2=y0-x0*sphi-y0*cphi;

jaoks (i=0; i<5; i++)

(xx[i]=x[i]*cphi-y[i]*sphi+c1;

yy[i]=x[i]*sphi+y[i]*cphi+c2;

jaoks (i=0; i<5; i++) pdraw(xx[i],yy[i]);

ruut_ja_kolmnurk(n-1, xx, yy, c, phi+alfa);

ruut_ja_kolmnurk(n-1, xx, yy, b, phi+alfa-0,5*pi);

pfopen(); aeg(&seeme); srand((int)seeme);

printf(" Määra deltanurk kraadides (0< delta < 45) ");

scanf("%d", &delta);

printf(" Määra rekursiooni sügavus n "); scanf("%d", &n);

ruut_ja_kolmnurk(n, 0,0, 0,0, 1,0, 0,0);

See programm loob faili KRIBI mida peab G-programm töötlema PLOT loengust 2. Programmi graafiline tulemus jaoks delta= 30 ja n = 7 on näidatud joonisel fig. 3.4.

Pythagorase puu

Pythagorase puu on teatud tüüpi fraktal, mis põhineb Pythagorase pükstena tuntud kujundil.

Lugu.

Pythagoras, tõestades oma kuulsat teoreemi, konstrueeris kujundi täisnurkse kolmnurga külgedel olevate ruutudega. Meie sajandil on see Pythagorase kuju kasvanud terveks puuks. Pythagorase puu ehitas esmakordselt A.E. Bosman (1891-1961) Teise maailmasõja ajal, kasutades tavalist joonistusjoonlauda.

Iseärasused.

Pythagorase puu üks omadusi on see, et kui esimese ruudu pindala on võrdne ühega, siis igal tasandil on ruutude pindalade summa samuti võrdne ühega.

Kui klassikalises Pythagorase puus on nurk 45 kraadi, siis on võimalik konstrueerida ka üldistatud Pythagorase puu teiste nurkade abil. Seda puud nimetatakse sageli Pythagorase tuulest puhutud puuks. Kui kujutate ainult segmente, mis ühendavad mingil viisil valitud kolmnurkade "keskpunkte", saate alasti Pythagorase puu.

Klassikaline Pythagorase puu

Tuule puhutud Pythagorase puu

Pythagorase alasti puu

Tuule puhutud Pythagorase puu

Pythagorase kolmik

Pythagorase kolmikud on arvud, mis vastavad Pythagorase teoreemile:

3, 4, 5; 7, 24, 25; 11,60, 61; 15, 8, 17; 33, 56, 65;

35, 12, 37; 63, 16, 65;

Nendel numbritel on mitmeid huvitavaid omadusi:

Üks jalgadest peab olema kolmekordne

Üks jalgadest peab olema neljakordne

Üks Pythagorase arvudest peab olema viie kordne

Matemaatikas on Pythagorase kolmik kolmest naturaalarvust koosnev korrutis, mis rahuldab Pythagorase seost:

Primitiivsed kolmikud

Kuna võrrand on homogeenne, saadakse sama naturaalarvuga korrutamisel veel üks Pythagorase kolmik. Pythagorase kolmikut nimetatakse primitiivseks, kui seda ei saa sel viisil saada mõnelt teiselt Pythagorase kolmikult, see tähendab, et need on koalgarvud.

Pythagorase teoreem pükste puu

On lihtne näha, et primitiivses kolmikarvus on arvudel x ja y erinev paarsus ning paaris jagub 4-ga ja z on alati paaritu.

Mis tahes primitiivset Pythagorase kolmikut, kus x on paaritu ja y paaris, saab üheselt esitada kujul mõne erinevate pariteedi naturaalarvude jaoks, mida saab arvutada valemite abil:

Vastupidi, iga selline arvupaar määratleb primitiivse Pythagorase kolmiku

Omadused.

Kolmnurk, mille küljepikkused on võrdsed Pythagorase arvudega, on ristkülikukujuline. Lisaks on iga selline kolmnurk Heroni kolmnurk, st kõik selle küljed ja pindala on täisarvud. Lihtsaim neist on külgedega Egiptuse kolmnurk

Iga Pythagorase kolmik määrab ühikuringil ratsionaalsete koordinaatidega punkti

Pole teada, kas on olemas kaks erinevat Pythagorase kolmikut, millel on sama toode.

Pythagorase puu on teatud tüüpi fraktal, mis põhineb Pythagorase pükstena tuntud kujundil.

Tõestades oma kuulsat teoreemi, konstrueeris Pythagoras kujundi, milles täisnurkse kolmnurga mõlemal küljel olid ruudud. Aja jooksul muutus see Pythagorase kuju terveks puuks. Esimesena konstrueeris Pythagorase puu Teise maailmasõja ajal A. Bosman, kasutades tavalist joonlauda.

Pythagorase puu üks peamisi omadusi on see, et kui esimese ruudu pindala on üks, siis igal tasandil on ruutude pindalade summa samuti võrdne ühega. Klassikalise Pythagorase puu nurk on 45 kraadi, kuid üldistatud Pythagorase puu on võimalik konstrueerida ka teiste nurkade abil. Sellist puud nimetatakse Pythagorase tuulest puhutud puuks. Kui joonistada ainult need segmendid, mis kuidagi ühendavad teatud kolmnurkade "keskpunkte", saate alasti Pythagorase puu.

Tere, sõbrad, kes on huvitatud fraktaalidest ja muust. Sellest hetkest alustan postituste sarja, milles selgitan lihtsaimate fraktalide konstrueerimise põhimõtteid. Õppida on alati huvitav ja ma aitan sind selles: nüüdsest tunneme palju-palju fraktaleid. Lorenzi atraktor kaost käsitlevas artiklis oli selle näide. Ja täna räägin teile Pythagorase puust.

Mis see siis on? Pythagorase puu on lihtsaim fraktal, mida saab paberile joonistada. Aga miks nimetatakse seda fraktaali Pythagorase puuks? Fakt on see, et siin on seos Pythagorase teoreemiga, mis on eukleidilise geomeetria üks aluseid. Kas mäletate teda? Tuletan meelde: a2 + b2 = c2 (jalgade pikkuste ruutude summa võrdub hüpotenuusi pikkuse ruuduga). See teoreem on tuntud iidsetest aegadest peale, praegu on teoreemil üle 400 tõestuse ja ainult Pythagoras tõestas seda esimesena geomeetriliselt. Ta ehitas järgmise kujundi: võttis täisnurkse kolmnurga ja joonistas selle külgedele ruudud. Seda figuuri nimetatakse ka "Pythagorase püksteks":

Kui jätkame seda konstruktsiooni rekursiivselt, saame Pythagorase puuni:
1. iteratsioon (meie Pythagorase puus on nurk 45 kraadi):


Teine iteratsioon:


Kolmas iteratsioon:


Kümnes iteratsioon:


Pythagorase puu oluline omadus: kui esimese ruudu pindala on võrdne ühega, siis igal tasandil on ruutude pindalade summa samuti võrdne ühega.
Kui nurka muudetakse 45 kraadist, saab konstrueerida teist tüüpi Pythagorase puid.
Siin on näiteks niinimetatud "tuulega puhutud Pythagorase puu":


Mõned fraktaalgraafika generaatorid rakendavad Pythagorase puu põhjal fraktaalide konstrueerimiseks valemit. See teostus meenutab väga IFS-süsteemi, eriti kui asendate ruudud ristkülikute või piklike kujunditega.
See on tänaseks kõik, kuni järgmiste koosolekuteni, kus on palju muid huvitavaid fraktale)

mob_info