Veličina ovog PNG prikaza ove SVG datoteke: 600 × 174 piksela. Ostale razlučivosti: 320 × 93 piksela | 640 × 186 piksela | 1.024 × 297 piksela | 1.280 × 371 piksela | 2.560 × 742 piksela.
Vidi sliku u punoj veličini (SVG datoteka, nominalno 600 × 174 piksela, veličina datoteke: 2 KB)
| Ova je datoteka sa stranica Zajedničkog poslužitelja Zaklade Wikimedije i smiju je rabiti drugi projekti. Opis s njezine stranice s opisom datoteke prikazan je ispod. |
Sažetak
| OpisVon koch 6 etapes.svg |
English: von Koch snowflake curve after 6 steps (4,097 points); initially created with Scilab, transformed into SVG by pstoedit, layout by Inkscape. New version was created by a text editor.
Français : Courbe du flocon de neige de von Koch après 6 étapes (4,097 points) ; initialement créé avec Scilab, transformé en SVG avec pstoedit, mis en forme avec Inkscape. La nouvelle version a été faite avec un éditeur de texte. |
| Datum | |
| Izvor | Vlastito djelo postavljača |
| Autor | Christophe Dang Ngoc Chan (cdang) |
| Dopuštenje (Naknadna uporaba ove datoteke) |
GFDL |
| Ostale inačice | Image:Von koch 1 etape.svg, Image:Von koch 2 etapes.svg, Image:Von koch 3 etapes.svg, Image:Von koch 4 etapes.svg, Image:Von koch 5 etapes.svg, Image:Von koch 6 etapes.svg, Image:VonKoch.svg |
| SVG genesis InfoField |
Scilab source
| This media was created with Scilab, a free open-source software. Here is a listing of the Scilab source used to create this file. |
English: English version by default.
Français : Version française, si les préférences de votre compte sont réglées (voir Special:Preferences).
Iterative source code
// ******************************
// * *
// * "Snowflake" von Koch curve *
// * *
// ******************************
clear;
clf;
// **************
// * constants *
// **************
n = 6;
// number of steps
// limited to 9 (262 145 points), otherwise the stacksize must be changed
// 6 steps (4 097 points) are enough for a good rendering
N = 4^n+1; // amount of points
sin_soixante = sqrt(3)/2; // sin(60°)
l = 1; // length of the initial line (arbitrary unit)
// ******************
// * initialisation *
// ******************
ycourbe = [zeros(1,N)];
ycourbe1 = ycourbe;
// *************
// * functions *
// *************
function [xx, yy] = etape(x, y)
// from a line [(x(1),y(1)) ; (x(2),y(2))]
// make the line [(xx(1),yy(1)) ; (xx(2),yy(2)) ; (xx(3),yy(3))]
// x and y are 2-cells tables, the ends of the basis line
// xx and yy are 3-cells tables
// the edges of the equilateral triangle
xu = (x(2)-x(1))/3;
yu = (y(2)-y(1))/3;
// third of the basis line vector
xv = 0.5*xu - sin_soixante*yu;
yv = sin_soixante*xu + 0.5*yu;
// vector turned by +60°
xx(1) = x(1)+xu; yy(1) = y(1)+yu;
xx(3) = x(2)-xu; yy(3) = y(2)-yu;
xx(2) = xx(1) + xv;
yy(2) = yy(1) + yv;
endfunction
function [xkoch, ykoch] = vonkoch(x, y, n)
// builds the curve
// initialisation
xkoch = x;
ykoch = y;
xkoch1 = x;
ykoch1 = y;
for i=1:n
jmax = 4^(i-1);
// number of lines at the beginning of the step i
for j=1:jmax/2+1
// we work with two points which indices are j and j+1 (line #j)
// thanks t the symmetry, we work with a half curve
decalage = (j-1)*4;
// the new points shift the next points by this offset
x_init = xkoch(j:j+1);
y_init = ykoch(j:j+1);
// line #j
[x_trans, y_trans] = etape(x_init,y_init);
// transformed line
xkoch1(decalage+1) = x_init(1); xkoch1(decalage+5) = x_init(2);
ykoch1(decalage+1) = y_init(1); ykoch1(decalage+5) = y_init(2);
for k=1:3
xkoch1(k+decalage+1) = x_trans(k);
ykoch1(k+decalage+1) = y_trans(k);
// values put in the global vector
end
end
xkoch = xkoch1; ykoch = ykoch1;
end
for i=1:4^n
ykoch(N-i+1) = ykoch(i);
xkoch(N-i+1) = l-xkoch(i);
// 2nd half-curve
end
endfunction
// ****************
// * main program *
// ****************
xcourbe(2) = l;
[xcourbe,ycourbe] = vonkoch(xcourbe,ycourbe,n);
// drawing the curve
xpoly(xcourbe,ycourbe)
isoview(0,l,0,l*sin_soixante/3)
The following code can be added to directly generate the file (the SVG export was not implemented at the time the file was created).
// saving the file
name = "von_koch_"+string(n)+"_steps.svg";
xs2svg(0, name)
Recursive source code
The code is more compact but the execution is slower, and does not generate the table of values.
//============================================================================
// name: von_koch.sce
// author: Christophe Dang Ngoc Chan
// date of creation: 2012-10-23
// dates of modification:
// 2013-07-08: quotes ' -> "
// 2013-07-2: vectorisation of the calculations
//----------------------------------------------------------------------------
// version of Scilab: 5.3.1
// required Atoms modules: aucun
//----------------------------------------------------------------------------
// Objective: draws the von Koch's "snowflake"
// Inputs: none (parameters are hard coded)
// Outputs: graphical window with a curve; SVG file
//============================================================================
clear;
clf;
// *************
// * constants *
// **************
n = 6;
// number of steps
// limited to 9 (262 145 points), otherwise the stacksize must be changed
// 6 steps (4 097 points) are enough for a good rendering
sin_soixante = sqrt(3)/2; // sin(60°)
l = 1;
// length of the initial line (arbitrary unit)
// ******************
// * initialisation *
// ******************
// *************
// * functions *
// *************
function [] = vonkoch(A, B, i)
u = (B - A)/3 ; // third of the AB vector
v = [0.5*u(1) - sin_soixante*u(2) ; sin_soixante*u(1) + 0.5*u(2)] ;
// vector turned by +60°
C = A + u ;
D = C + v ;
E = B - u ;
// points of the line
if i == 1 then
// drawing the smallest segments
x = [A(1) ; C(1) ; D(1) ; E(1) ; B(1) ];
y = [A(2) ; C(2) ; D(2) ; E(2) ; B(2) ];
xpoly(x, y, "lines")
else
j = i - 1 ;
vonkoch(A, C, j);
vonkoch(C, D, j);
vonkoch(D, E, j);
vonkoch(E, B, j);
// recursive call
end
endfunction
// ****************
// * main program *
// ****************
beginning = [0;0] ;
ending = [l;0] ;
vonkoch(beginning, ending, n)
isoview(0,l,0,sin_soixante*l)
// Saving the file
name = "von_koch_"+string(n)+"_steps.svg" ;
xs2svg(0, name)
Licencija
Ja, nositelj autorskog prava za ovo djelo, ovime ga objavljujem pod sljedećim licencijama:
| Dozvoljava se umnožavanje, dijeljenje i/ili mijenjanje ovog dokumenta pod uvjetima GNU-ove licence za slobodnu dokumentaciju, inačica 1.2 ili kasnija ako ju je objavio Free Software Foundation; bez nepromjenjivih ili obveznih dijelova i bez teksta na naslovnoj i/ili posljednjoj stranici. Kopija licencije je uključena u odjeljak naslovljen GNU-ove licence za slobodnu dokumentaciju.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
| Ova datoteka je licencirana pod Creative Commons Imenovanje-Dijeli pod istim uvjetima 3.0 nelokaliziranom licencijom. | ||
| ||
| Ova oznaka za licenciranje dodana je datoteci kao dio GFDL ažuriranja licnciranja.http://creativecommons.org/licenses/by-sa/3.0/CC BY-SA 3.0Creative Commons Attribution-Share Alike 3.0truetrue |
Možete odabrati licenciju prema vašem izboru.
Opisi
Dodajte kratko objašnjenje što predstavlja ova datoteka
Predmeti prikazani u ovoj datoteci
motiv
Određene vrijednosti bez stavke na projektu Wikipodatci
29. lipnja 2006
Povijest datoteke
Kliknite na datum/vrijeme kako biste vidjeli datoteku kakva je tada bila.
| Datum/Vrijeme | Minijatura | Dimenzije | Suradnik | Komentar | |
|---|---|---|---|---|---|
| sadašnja | 11:22, 21. veljača 2018. | 600 × 174 (2 KB) | wikimediacommons>Cdang | even values and indentations |
Poveznice
Na ovu sliku vode poveznice sa sljedećih stranica:
Metapodatci
Ova datoteka sadržava dodatne podatke koje je vjerojatno dodala digitalna kamera ili skener u procesu snimanja odnosno digitalizacije. Ako je datoteka mijenjana, podatci možda nisu u skladu sa stvarnim stanjem.
| Širina | 600px |
|---|---|
| Visina | 174px |
Dobavljeno iz "https://enciklopedija.cc/wiki/Datoteka:Von_koch_6_etapes.svg"
