POV-Ray : Newsgroups : povray.binaries.images : Mirascope : Mirascope Server Time
14 Apr 2024 03:42:37 EDT (-0400)
  Mirascope  
From: Samuel B 
Date: 18 Jan 2024 20:50:00
Message: <web.65a9d4ce78a2f45d16bed5696e741498@news.povray.org>
Hi,

The discussion in p.general got me interested in seeing how a mirascope in
POV-Ray would look. I just eyeballed the shape by looking at images from a
scientific paper on the subject, so it's not accurate or optimal. The focus
object would probably be better lit by using reflective caustics.

Sam

/*

 Mirascope

 2024 stb

 +fn +f +a0.03 +am2 +r3

 Paraboloid object by Cousin Ricky:
 https://news.povray.org/povray.general/thread/%3Cweb.6588c00f78a2f45d1f9dae3025979125%40news.povray.org%3E/

*/

#version 3.7;

#declare RemoveTop = false;

global_settings{
 assumed_gamma 1.0
 #if(true)
  radiosity{
   pretrace_end .0025
   count 64
   error_bound .25
   recursion_limit 1
   nearest_count 10
  }
 #end
}

#default{ finish{ambient 0} }

// y focus of paraboloid
#declare Y = 0.45;

camera{
 right x up y
 location <0, 5, -5>
 look_at 0
 angle 60/3

 aperture .28 focal_point y*Y blur_samples 10 variance 0
}

// sunlight
#if(1)
 light_source{
  <5, 9, -.1>, srgb 3.5*<2, 1.9, 1.8>
  fade_power 2 fade_distance 1

  #if(true)
   #declare ALRes = 2;
   #declare ALSize = 1;
   area_light x*ALSize, z*ALSize, ALRes, ALRes
   jitter
   adaptive 1
  #end
 }

#end

// room
box{
 <-10, -(Y+.001), -10>, <10, 10, 10>
 rotate y*22
 pigment{
  bumps
  scale 9
  turbulence 1 lambda 3
  color_map{[0 rgb .25][1 rgb .75]}
 }
}

// Cousin Ricky's
#macro Concave_Paraboloid (yFocus)
  poly { 2, <-1, 0, 0, 0, 0, 0, yFocus * 4, -1, 0, 0> }
#end

#declare Paraboloid_Clipped =
 object{
  Concave_Paraboloid(.85)
  clipped_by{plane{y, Y}}
  translate -y*Y
 }

#if(1)
 union{
  object{Paraboloid_Clipped}

  #if(!RemoveTop)
   object{
    Paraboloid_Clipped scale <1, -1, 1>
    clipped_by{cylinder{0, y, .35 inverse}}
   }
  #end

  pigment{rgb .1}

  finish{
   brilliance 2
   reflection .9
  }

  // micronormal
  normal{granite .001 scale .001 accuracy .001}
 }
#end

// object of focus
sphere{
 0, .1
 pigment{checker rotate y*33}
 translate -y*(Y-.1)
}


Post a reply to this message


Attachments:
Download 'mirascope.jpg' (43 KB)

Preview of image 'mirascope.jpg'
mirascope.jpg


 

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