File:Mud brick house multi floor multi room patio inner view to sky 1.png
Original file (3,200 × 2,400 pixels, file size: 10.42 MB, MIME type: image/png)
Captions
Summary[edit]
DescriptionMud brick house multi floor multi room patio inner view to sky 1.png |
English: View to sky from courtyard of two floor mudbrick house 1 |
Date | |
Source | Own work |
Author | Merikanto |
Povray 3.7 source code
//////////////////////////////////////////////////
// 3.5.2021 v 0000.0004e
//
// povray 3.7
//
// multi room mudbrick house
// w/ inner court
// two floors
//
/////////////////
- include "colors.inc"
- include "textures.inc"
- include "stones.inc"
- include "stones1.inc"
- include "woods.inc"
- include "rand.inc"
// which kamera???
// default kam1=3;
- local kam1=3;
camera
{
// top view
#if (kam1=0)
location <0,320,0>
look_at <0,0,0>
#end
// diagonal view from out
#if (kam1=1)
location <0,5,-3>*40
look_at <0,0,0>
#end
// near secod floor to down
#if (kam1=2)
location <-10,40,-10>
look_at <0,20,0>
#end
#if (kam1=3)
location <15,5,10>
look_at <2,20,2>
#end
// look up from patio, diagonal
#if (kam1=4)
location <0,3,0>
look_at <100,2000,100>
#end
// look to stairs "cella"
#if (kam1=5)
location <0,10,0>
look_at <0,10,10>
#end
// look from second floor level in patio
#if (kam1=6)
location <0,70,0>
look_at <0,50,10>
#end
// look from second floor level in patio
#if (kam1=7)
location <0,90,0>
look_at <0,80,10>
#end
// look from second floor level in patio
#if (kam1=8)
location <0,60,10>
look_at <0,2000,0>
#end
#if (kam1=9)
location <15,5,10>
look_at <2,4,2>
#end
#if (kam1=10)
location <-60,0,200>
look_at <0,10,0>
#end
angle 80
}
// sun
light_source {
<10000,10000,-10000>
color rgb White
}
// second light
light_source {
<0,2,0>
// color rgb Gray/5
//color rgb <1.0, 0.75, 0.1>*0.25
color rgb <0.8, 0.5, 0.2>*0.25
}
// sky sphere
sky_sphere {
pigment{ gradient <0,1,0>
color_map{
[0.0 color rgb<1,1,1> ]
[0.8 color rgb<0.1,0.25,0.75>]
[1.0 color rgb<0.1,0.25,0.75>]}
} // end pigment
}
// clouds
plane{<0,1,0>,1 hollow
/*
texture{ pigment {color rgb<0.1,0.3,0.75>*0.7}
#if (version = 3.7 ) finish {emission 1 diffuse 0}
#else finish { ambient 1 diffuse 0}
#end
}
*/
texture{ pigment{ bozo turbulence 0.75
octaves 46 omega 0.7 lambda 2
color_map {
[0.0 color rgb <0.95, 0.95, 0.95> ]
[0.05 color rgb <1, 1, 1>*1.25 ]
[0.15 color rgbt <0.85, 0.85, 0.85,0.85> ]
[0.55 color rgbt <1, 1, 1, 1>*1 ]
[1.0 color rgbt <1, 1, 1, 1>*1 ]
}
translate< 3, 0,-1>
scale <0.3, 0.4, 0.2>*3
}
#if (version = 3.7 ) finish {emission 1 diffuse 0}
#else finish { ambient 1 diffuse 0}
#end
}
scale 1000
}
// ground
#declare kol1=(Green+Brown)/2;
#declare kol2=(Green*2+Brown)/3;
object {
plane {
y,0
}
texture {
// pigment{color rgb<.35,.65,0>*.7}
pigment
{
//granite
// color kol1
color rgb <244/256,206/256,157/256>
}
normal { bumps 0.75 scale 0.015}
finish { phong 0.1 }
}
}
- declare house_texture_0=
texture {
//pigment {color Red}
T_Stone1
scale 0.005
normal {
//brick
granite
scale 0.05
}
}
#declare bscale1 = <0.09,0.061,0.061>;
- declare btranslate1 = <0.0, 0.025,-0.0>;
- declare bintensity1 = 0.10*5;
- declare house_texture_1 =
texture{ //pigment{ color rgb< 0.90, 0.78, 0.60>}
// pigment {color rgb<137/256,87/256,40/256>}
pigment {
brick
color rgb<200/256,155/256,110/256>
color rgb<200/256,155/256,110/256>
//color rgb<137/256,87/256,40/256>
scale bscale1
//scale 0.15
}
normal {
/*
pigment_pattern{
brick
color rgb 0.1,
color rgb 0.9
scale bscale1
translate btranslate1
rotate<0,0,0>}
bintensity1
}
*/
average normal_map {
[
pigment_pattern{
brick
color rgb 0.1,
color rgb 0.9
scale bscale1
translate btranslate1
rotate<0,0,0>}
bintensity1
]
[
granite 0.5
scale bscale1 *1
]
[
granite 1
scale bscale1 *10
]
} //map
} // ... normal
finish { diffuse 0.9 phong 0.1}
scale 0.15
}
#declare TileNormal =
normal
{
average normal_map
{
[ gradient x 2
slope_map
{ [0 <0, 1>]
[.05 <1, 0>]
[.95 <1, 0>]
[1 <0, -1>]
}
]
[ granite 1 scale 0.01 ]
} // map
} // normal
// #declare house_texture_1=
- declare floor_texture_1=
texture {
//pigment {color Red}
T_Stone17
scale 0.01
normal
{ average normal_map
{ [1 TileNormal]
[1 TileNormal rotate y*90]
}
}
scale 0.02
/*
normal {
brick
scale y*0.33
//checker
//granite
scale 0.001
}
*/
}
- declare floor_ceil_texture_1=
texture {
//pigment {color Red}
T_Stone5
scale 0.01
normal
{ average normal_map
{ [1 TileNormal]
[1 TileNormal rotate y*90]
}
}
scale 0.02
/*
normal {
brick
scale y*0.33
//checker
//granite
scale 0.001
}
*/
}
- declare ceil_texture_1=
texture {
//pigment {color Red}
T_Stone17
scale 0.01
normal
{ average normal_map
{ [1 TileNormal]
[1 TileNormal rotate y*90]
}
}
scale 0.02
/*
normal {
brick
scale y*0.33
//checker
//granite
scale 0.001
}
*/
}
- declare roof_of_patio_texture_1=
texture {
// Tom_Wood
Tan_Wood
scale 0.001
normal
{ gradient x 1
slope_map
{ [0 <0, 1>] // 0 height, strong slope up
[.05 <1, 0>] // maximum height, horizontal
[.95 <1, 0>] // maximum height, horizontal
[1 <0, -1>] // 0 height, strong slope down
}
scale 0.01
}
}
- declare first_flat_roof_of_patio_texture_1=
texture {
// Tom_Wood
Tan_Wood
scale 0.001
normal
{ gradient x 1
slope_map
{ [0 <0, 1>] // 0 height, strong slope up
[.05 <1, 0>] // maximum height, horizontal
[.95 <1, 0>] // maximum height, horizontal
[1 <0, -1>] // 0 height, strong slope down
}
scale 0.015
}
}
#declare pole_texture_1=
texture {
//pigment {color Brown}
// Tom_Wood
T_Wood1
//Pine_Wood
//Tan_Wood
//T_Stone1
//scale 0.0001
normal {
//brick
granite
//scale 0.05
}
scale 0.005
}
#declare wood_texture_1=
texture {
pigment
{ wood color_map { [0 rgb <.9,.7,.3>][1 rgb <.8,.5,.2>] }
turbulence .5
scale <1, 1, 20>*.2
}
finish { specular 1 }
normal
{ gradient x 1
slope_map
{ [0 <0, 1>] // 0 height, strong slope up
[.05 <1, 0>] // maximum height, horizontal
[.95 <1, 0>] // maximum height, horizontal
[1 <0, -1>] // 0 height, strong slope down
}
scale 0.00001
}
}
- declare house_tihickness_1=0.5;
- declare floor_thickness_1=0.05;
- declare cutover1=0.0001;
- declare inner_size_1=0.5;
- declare outer_size_1=1;
- declare wall_thickness_1=0.05;
- declare inner_wall_size_1=1-0.05;
- declare outer_wall_size_1=1+0.05;
- declare inner_tunnel_size_1=inner_size_1+wall_thickness_1;
- declare outer_tunnel_size_1=1-wall_thickness_1;
- declare house_size_1=20;
- declare basik1=difference {
box {<-1,0,-1>,<1,1,1>}
box {<-inner_size_1,-cutover1,-inner_size_1>,<inner_size_1,outer_size_1+cutover1*2,inner_size_1> }
// texture {house_texture_1}
// scale house_size_1
// translate house_size_1/2
}
- declare tunnel1=difference {
box {<-outer_tunnel_size_1,-outer_tunnel_size_1,-outer_tunnel_size_1 >,<outer_tunnel_size_1,outer_tunnel_size_1+cutover1+0.05,outer_tunnel_size_1 >}
box {<-inner_tunnel_size_1,-cutover1,-inner_tunnel_size_1>, <inner_tunnel_size_1,outer_tunnel_size_1+cutover1,inner_tunnel_size_1> }
// texture {house_texture_1}
// scale house_size_1
// translate house_size_1/2
}
// floor
- declare floor1=object {
box {<-outer_tunnel_size_1,-floor_thickness_1,-outer_tunnel_size_1 >,
<outer_tunnel_size_1,floor_thickness_1,outer_tunnel_size_1 >}
}
// patio floor/ceil
- declare floorceil1=difference {
box {<-1,-floor_thickness_1,-1 >,
<1,floor_thickness_1,1 >}
box {<-0.5,-floor_thickness_1-cutover1,-0.5>,
<0.5,floor_thickness_1+cutover1,0.5> }
}
// roof of house
- declare houseroof1=difference {
box {<-1,-floor_thickness_1/2,-1 >,
<1,floor_thickness_1/2,1 >}
box {<-0.5,-floor_thickness_1-cutover1,-0.5>,
<0.5,floor_thickness_1+cutover1,0.5> }
}
- declare innerwall1= box{
<-0.55,0,-1>,<-0.55+wall_thickness_1,1.0,-0.5>
}
#declare pole1= cylinder
{
<-0.3,-0.05,-0.3>, <-0.3,0.98,-0.3>, 0.03
}
// main railing, second floor ceiling
// levek + ca 1m
- declare railing1 = union {
cylinder
{
<-0.3,0.3,-0.3>, <-0.3,0.3,0.3>, 0.02
}
cylinder
{
<-0.3,0.3,0.3>, <0.3,0.3,0.3>, 0.02
}
cylinder
{
<0.3,0.3,0.3>, <0.3,0.3,-0.3>, 0.02
}
cylinder
{
<0.3,0.3,-0.3>, <-0.3,0.3,-0.3>, 0.02
}
}
- declare frame0 = union {
box {
<-0.5,-0.02,0.3-0.02>, <0.5,0.04,0.3+0.02>
texture {
pole_texture_1
rotate y*90
}
}
box {
<-0.5,-0.02,-0.3-0.02>, <0.5,0.04,-0.3+0.02>
texture {
pole_texture_1
rotate y*90
}
}
box
{
<-0.3-0.02,-0.02,-0.5>, <-0.3+0.02,0.04,0.5>
texture {
pole_texture_1
}
}
box
{
<0.3-0.02,-0.02,-0.5>, <0.3+0.02,0.04,0.5>
texture {
pole_texture_1
}
}
// translate y*0.1
}
- declare frame1 = union {
//cylinder
//{
box {
<-0.5,-0.04,0.5-0.04>, <0.5,0.04,0.5+0.04>
texture {
pole_texture_1
rotate y*90
}
}
box {
<-0.5,-0.04,-0.5-0.04>, <0.5,0.04,-0.5+0.04>
texture {
pole_texture_1
rotate y*90
}
}
box {
<-0.5-0.04,-0.04,-0.5>, <-0.5+0.04,0.04,0.5>
texture {
pole_texture_1
}
}
box
{
<0.5-0.04,-0.04,-0.5>, <0.5+0.04,0.04,0.5>
texture {
pole_texture_1
}
}
} // ... frame1
// railing of second patio level
- declare railing2=union{
#local n = -6;
#while (n < 6)
#local lokax1=n*0.05;
cylinder {<lokax1,-0.05,0.30>,<lokax1,0.3,0.30>,0.01}
#local n = n+1;
#end
texture{
pigment {color Red}
// pole_texture_1
rotate z*90
}
}
- declare railing3=union{
#local n = -6;
#while (n < 10)
#local lokax1=n*0.05;
cylinder {<lokax1,0.0,-0.00>,<lokax1,0.0,0.26>,0.005}
#local n = n+1;
#end
texture{pole_texture_1
}
}
// for patio roof structure
- declare railing4=union{
#local n = -6;
#while (n < 10)
#local lokax1=n*0.05;
cylinder {<lokax1,0.0,-0.05>,<lokax1,0.0,0.22>,0.005}
#local n = n+1;
#end
texture{pole_texture_1}
}
// first roof of patio or "inner balcony"
- declare roof_of_patio_1=difference
{
box { <-0.5,0.995,-0.5><0.5,1,0.5> }
box { <-0.29,0.994,-0.3><0.29,1.001,0.3> }
translate y*-0.1
}
- declare roof_crown_1=difference
{
box { <-1,1,-1><1,1.1,1> }
box { <-0.95,0.95,-0.95><0.95,1.2,0.95> }
}
- declare door_lokation_x_1=0;
- declare door_width_1=0.2;
- declare door_height_y_1=0.55;
- declare door_base_y_1=cutover1;
- declare door_begin_x_1= door_lokation_x_1 - door_width_1/2;
- declare door_end_x_1= door_lokation_x_1 + door_width_1/2;
- declare door_upper_y_1=door_base_y_1 +door_height_y_1;
- declare door_z_delta_1=wall_thickness_1;
- declare door_gap_1= box {<door_begin_x_1,door_base_y_1,-door_z_delta_1-cutover1>,<door_end_x_1,door_upper_y_1,+door_z_delta_1+cutover1> }
- declare door_gap_0=
union {
box {<door_begin_x_1,door_base_y_1,-door_z_delta_1-cutover1>,
<door_end_x_1,door_upper_y_1,+door_z_delta_1+cutover1> }
cylinder {
<door_lokation_x_1,door_height_y_1,-door_z_delta_1-cutover1>,<door_lokation_x_1,door_height_y_1,+door_z_delta_1+cutover1>,door_width_1/2
}
}
- declare window_lokation_x_1=-0.5;
- declare window_width_1=0.05;
- declare window_height_y_1=0.3;
- declare window_base_y_1=0.5;
- declare window_begin_x_1= window_lokation_x_1 - window_width_1/2;
- declare window_end_x_1= window_lokation_x_1 + window_width_1/2;
- declare window_upper_y_1=window_base_y_1 +window_height_y_1;
- declare window_z_delta_1=wall_thickness_1+cutover1;
- declare window_gap_0= box {<window_begin_x_1,window_base_y_1,-window_z_delta_1-1>,<window_end_x_1,window_upper_y_1,+window_z_delta_1-1> }
// ceilgap, roofcap
// roof_gap_1
- declare ceil_gap_1= box {
<-0.95,-0.1,0.95>, <-0.5,0.1,0.5>
}
- declare ceil_gap_2= box {
<-1.1,-0.1,0.95>, <-0.5,0.1,0.5>
}
- declare ceil_box_1 =difference {
box {<0,0,0>,<1,1,1> }
box {<0.05,0,0.05>,<0.95,0.95,0.95> }
box {<0.4,0,-cutover1>,<0.6,0.8,0.05+cutover1>}
}
- declare roof_crown_1=difference
{
box { <-1,1,-1><1,1.1,1> }
box { <-0.95,0.95,-0.95><0.95,1.2,0.95> }
}
- declare stairy1 = 1.00;
- declare stairx1 = 1.00;
- declare stepz1 = 0.50;
- declare stepheight1 = 0.175/3;
- local nsteps1 = int(stairy1/stepheight1);
- local steph1 = stairy1/nsteps1;
- local stepx1 = stairx1/nsteps1;
- declare stairs1=union{
#local n = 0;
#while (n < nsteps1)
box { <n*stepx1, 0, 0>,<stairx1, steph1-0.01, stepz1>
translate<0,n*steph1,0>
}
#local n = n+1;
#end
texture{house_texture_1}
translate<-2.00,0.00, 0.00>
}
- local roofx1=0.52;
- local roofy1=0.52;
- declare patio_roof_piece_1= polygon {
4,
//<-1, -1>, <-1, 1>, <1, 1>, <1, -1>
<-1, 0>, <-roofx1, roofy1>, <roofx1, roofx1>, <1, 0>
texture {
//pigment {color Red}
roof_of_patio_texture_1
}
rotate x*90
rotate x*20
}
- declare slant_patio_roof_base_1=
union
{
object {
patio_roof_piece_1
translate z*-1
}
object {
patio_roof_piece_1
rotate y*180
translate z*1
}
object {
patio_roof_piece_1
rotate y*90
translate x*-1
}
object {
patio_roof_piece_1
rotate y*-90
translate x*1
}
// translate y*1
scale 0.5
// scale 100
}
- declare innerwall2=
difference {
box{
<-0.55,0,-1>,<-0.55+wall_thickness_1,1.0,-0.5>
}
box{
<-0.55-cutover1,0+cutover1,-0.8>,<-0.55+wall_thickness_1+cutover1,0.75,-0.6>
}
}
// generate house
- declare house_base_0=difference {
object {basik1}
object {tunnel1}
}
// first floor
#declare first_floor_house_base_1=union {
object {house_base_0}
object {floorceil1
translate y*1
texture {
floor_ceil_texture_1
}
}
object {
innerwall2
}
object {
innerwall1
translate x*1
}
object {innerwall1
rotate y*90
//translate x*1
}
object {innerwall1
rotate y*-90
translate z*1
}
// poles
object {
pole1
texture {
pole_texture_1
rotate x*90
}
}
object {
pole1
rotate y*90
texture {
pole_texture_1
rotate x*90
}
}
object {
pole1
rotate y*180
texture {
pole_texture_1
rotate x*90
}
}
object {
pole1
rotate y*270
texture {
pole_texture_1
rotate x*90
}
}
object {
roof_of_patio_1
texture {
// wood_texture_1
first_flat_roof_of_patio_texture_1
// pigment { color Red }
}
}
object {
stairs1
rotate y*90
rotate y*180
translate z*1.5
translate x*-0.5
// rotate y*90
texture {
house_texture_1
}
}
}
// door and window gaps
#declare first_floor_house_base_2=difference {
object {first_floor_house_base_1}
object { door_gap_0
translate z*-1
}
object { door_gap_0
translate z*-0.5
}
object { door_gap_0
translate z*0.5
}
object { door_gap_0
translate z*0.5
rotate y*90
}
object { door_gap_0
translate z*0
rotate y*-90
}
/*
object {
window_gap_0
// translate z*-1
rotate y*-90
}
object {
window_gap_0
translate x*0.8
// translate z*-1
rotate y*-90
}
*/
object {
ceil_gap_1
rotate y*1
translate y*1
translate z*-0.5
}
}
- declare first_floor_house_base_3 = union
{
object {
first_floor_house_base_2
}
object {floor1
texture {
floor_texture_1
}
}
// door... ...
object {
door_gap_0
scale <1.0,1.0,0.1>
// rotate y*25
translate z*-0.97
translate x*-0.0
texture {
// Tom_Wood
T_Wood17
// Tan_Wood
scale 0.001
rotate x*90
normal
{ gradient x 1
slope_map
{ [0 <0, 1>] // 0 height, strong slope up
[.05 <1, 0>] // maximum height, horizontal
[.95 <1, 0>] // maximum height, horizontal
[1 <0, -1>] // 0 height, strong slope down
}
scale 0.03
}
}
}
}
// second floor ....
#declare second_floor_house_base_1=union {
object {house_base_0}
object {
//roof_of_patio_1
slant_patio_roof_base_1
translate y*1
translate y*0.062
texture {
//pigment {color Red}
roof_of_patio_texture_1
}
}
// inner walls of sekond
object {
innerwall1
}
object {
innerwall1
translate x*1
}
object {innerwall2
rotate y*90
//translate x*1
}
object {innerwall1
rotate y*-90
translate z*1
}
// poles
object {
pole1
texture {
pole_texture_1
rotate x*90
}
}
object {
pole1
rotate y*90
texture {
pole_texture_1
rotate x*90
}
}
object {
pole1
rotate y*180
texture {
pole_texture_1
rotate x*90
}
}
object {
pole1
rotate y*270
texture {
pole_texture_1
rotate x*90
}
}
object {
railing1
texture {
pole_texture_1
rotate x*90
}
}
object {
frame0
// texture {
// pole_texture_1
// }
translate y*-0.05
}
object {
frame1
// texture {
// pole_texture_1
// }
translate y*-0.04
}
object {
frame0
// texture {
// pole_texture_1
// }
translate y*0.92
}
object {
frame1
// texture {
// pole_texture_1
// }
translate y*0.92
}
object {
railing2
texture {
pole_texture_1
}
}
object {
railing2
rotate y*90
texture {
pole_texture_1
}
}
object {
railing2
rotate y*-90
texture {
pole_texture_1
}
}
object {
railing2
rotate y*180
texture {
pole_texture_1
}
}
// neeew 1
// lower stucture of 2 floor patio ceiling
union
{
object {
railing4
rotate x*-20
translate z*0.3
translate y*0.98
// jn warning
//rotate x*20
texture {
pole_texture_1
}
}
object {
railing4
rotate x*-20
translate z*0.3
translate y*0.98
rotate y*90
texture {
pole_texture_1
}
}
object {
railing4
rotate x*-20
translate z*0.3
translate y*0.98
rotate y*-90
texture {
pole_texture_1
}
}
object {
railing4
rotate x*-20
translate z*0.3
translate y*0.98
rotate y*180
texture {
pole_texture_1
}
}
translate y*0
}
// block 0.98
// first
union {
object {
railing3
// rotate x*90
translate z*0.3
translate y*-0.05
texture {
pole_texture_1
}
}
object {
railing3
translate z*0.3
translate y*-0.05
rotate y*90
texture {
pole_texture_1
}
}
object {
railing3
translate z*0.3
translate y*-0.05
rotate y*-90
texture {
pole_texture_1
}
}
object {
railing3
translate z*0.3
translate y*-0.05
rotate y*180
texture {
pole_texture_1
}
}
translate y*0.04
// translate y*-0.3
}
//.. pole stuff
// roof structures
object {
ceil_box_1
scale 0.5
//rotate y*-90
translate y*1
translate x*0.5
translate z*0.5
texture {
house_texture_1
}
}
object {
roof_crown_1
texture {
house_texture_1
// jn debug
//translate y*0.5
}
}
object {
roof_crown_1
scale <0.5,1,0.5>
texture {
house_texture_1
}
}
object {
stairs1
//rotate y*180
translate z*0.5
translate x*2
texture {
house_texture_1
}
}
}
// door and window gaps
#declare second_floor_house_base_2=difference {
object {second_floor_house_base_1}
/*
object { door_gap_0
translate z*-1
}
*/
object { door_gap_0
translate z*-0.5
}
object { door_gap_0
translate z*0.5
}
object { door_gap_0
translate z*0.5
rotate y*90
}
/*
object { door_gap_0
translate z*0.5
rotate y*-90
}
*/
object {
window_gap_0
// translate z*-1
rotate y*-90
}
object {
window_gap_0
translate x*0.8
// translate z*-1
rotate y*-90
}
object {
window_gap_0
// translate z*-1
rotate y*90
}
object {
window_gap_0
translate x*0.8
// translate z*-1
rotate y*90
}
object {
ceil_gap_1
translate y*1
translate x*1.6
}
}
- declare second_floor_house_base_3 = union
{
object {
second_floor_house_base_2
translate y*-0.1
}
// ceil of sekond
difference {
object {
houseroof1
translate y*0.95
texture {
ceil_texture_1
}
}
object {
ceil_gap_2
translate y*1
translate x*1.6
}
}
}
- declare house_base_3 = union
{
object {
first_floor_house_base_3
}
object {
second_floor_house_base_3
translate y*1
}
}
- declare house_1=difference
{
object {house_base_3
texture {
house_texture_1
}
}
- declare cutheight1=5.1;
// debug cut!
box {
<-1.2,cutheight1,-1.2>,<5.2,5.2,5.2>
// <-4,-4,-4>, <4,4,0.75>
texture
{
pigment {
color Brown
}
}
}
}
object {
house_1
scale <50,40,50>
rotate y*30
}
Licensing[edit]
- You are free:
- to share – to copy, distribute and transmit the work
- to remix – to adapt the work
- Under the following conditions:
- attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
- share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 08:02, 3 May 2022 | 3,200 × 2,400 (10.42 MB) | Merikanto (talk | contribs) | update | |
14:18, 2 May 2022 | 3,200 × 2,400 (9.78 MB) | Merikanto (talk | contribs) | Update | ||
12:58, 2 May 2022 | 3,200 × 2,400 (6.86 MB) | Merikanto (talk | contribs) | Update | ||
05:23, 2 May 2022 | 3,200 × 2,400 (5.21 MB) | Merikanto (talk | contribs) | muokkaus | ||
18:17, 1 May 2022 | 1,600 × 1,200 (1.55 MB) | Merikanto (talk | contribs) | Update | ||
16:25, 1 May 2022 | 1,600 × 1,200 (1.63 MB) | Merikanto (talk | contribs) | Update | ||
13:55, 1 May 2022 | 1,600 × 1,200 (2.34 MB) | Merikanto (talk | contribs) | Uploaded own work with UploadWizard |
You cannot overwrite this file.
File usage on Commons
There are no pages that use this file.
Metadata
This file contains additional information such as Exif metadata which may have been added by the digital camera, scanner, or software program used to create or digitize it. If the file has been modified from its original state, some details such as the timestamp may not fully reflect those of the original file. The timestamp is only as accurate as the clock in the camera, and it may be completely wrong.
PNG file comment |
|
---|---|
File change date and time | 08:00, 3 May 2022 |
Software used |