POV-Ray : Newsgroups : povray.text.scene-files : Source code for "Iso Columns" Server Time
23 Dec 2024 15:33:49 EST (-0500)
  Source code for "Iso Columns" (Message 1 to 1 of 1)  
From: Tor Olav Kristensen
Subject: Source code for "Iso Columns"
Date: 26 Oct 2000 14:15:14
Message: <39F87459.FEA073F8@online.no>
25. October I posted an image to povray.binaries.images:

news://news.povray.org/39F692D0.CD4CD557%40online.no

The image contains one iso surface that are "disturbed"
by 3 different patterns.

MegaPOV is therefore required to render this image.


Tor Olav


P.S.:
Try to replace the 0.1 value in "Line D" with 1 or 0.
To see the effect of the different patterns, also try 
to comment out some of the other labelled lines.


// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7
// Copyright 2000 by Tor Olav Kristensen
// mailto:tor### [at] hotmailcom
// http://www.crosswinds.net/~tok/tokrays.html
// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

#version unofficial MegaPov 0.5;

#include "colors.inc"

global_settings { ambient_light color White }

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

$ AgateFunction =
function { pigment { agate color_map { [ 0 rgb 0 ] [ 1 rgb 1 ] } } }

$ GraniteFunction =
function { pigment { granite color_map { [ 0 rgb 0 ] [ 1 rgb 1 ] } } }

$ SphereFunction = function { sqrt(x^2 + y^2 + z^2) }

$ ManyCylinders =
function {
  SphereFunction(
    x - floor(x) - 0.5,
    0,
    z - floor(z) - 0.5
  )
}

$ MidOfAgateSquare =
function {
  AgateFunction(
    3*(floor(x) + 0.5),
    3*(y + 0.1*noise3d(5*x, 5*y, 5*z)),       // Line D
    3*(floor(z) + 0.5)
  )
}

$ Columns =
isosurface {
  function {
    - 0.090                                   // Line A
    + 1.000*ManyCylinders(x, y, z)            // Line B
    - 0.020*MidOfAgateSquare(x, y, z)         // Line C
    + 0.030*noise3d(10*x, 10*y, 10*z)         // Line E
    - 0.003*GraniteFunction(10*x, 10*y, 10*z) // Line F
  }
  contained_by { sphere { <0, 0, 0>, 200 } }
  method 2
}

object {
  Columns
  pigment { color White + Blue }
  no_shadow
}

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

light_source {
  40*< 0,  3, -2>
  color White*2
  fade_distance 110
  fade_power 3
}

camera {
  location < 0.49,  0.00, -5.10>
  look_at < 2.00,  0.00,  1.50>
}

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

-- 
Tor Olav
--
mailto:tor### [at] hotmailcom
http://www.crosswinds.net/~tok/tokrays.html


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.