#version 3.7; global_settings { assumed_gamma 1.0 max_trace_level 8 } background { color rgb <0.98, 0.98, 1.00> } // Camera camera { location <0, 1.3, -4.2> look_at <0, 0.25, 0> angle 35 } // Warm, soft lights light_source { <3.5, 5.0, -3.0> color rgb <1.00, 0.92, 0.80>*1.15 area_light <1.2,0,0>, <0,0,1.2>, 5, 5 adaptive 1 jitter } light_source { <-4.0, 4.2, -2.0> color rgb <1.00, 0.90, 0.75>*0.75 area_light <1.0,0,0>, <0,0,1.0>, 5, 5 adaptive 1 jitter } // Soft ambient fill light_source { <0, 6, 0> color rgb <1.0, 0.95, 0.90>*0.25 shadowless } // Ground plane { y, -1.05 pigment { color rgb <0.96, 0.95, 0.94> } finish { diffuse 0.85 specular 0.05 roughness 0.12 } } // Heart from equation: x^2 + ( (5y/4) - sqrt(|x|) )^2 = 1 // Build as an isosurface with small Z thickness via + (z/t)^2 #declare HeartScale = 1.35; #declare Thickness = 0.25; isosurface { function { // f(x,y,z)=0 surface: // x^2 + ((5y/4)-sqrt(|x|))^2 + (z/t)^2 - 1 = 0 pow(x,2) + pow( (5*y/4) - sqrt(abs(x)), 2 ) + pow( z/Thickness, 2 ) - 1 } contained_by { box { <-1.4, -1.4, -0.5>, <1.4, 1.4, 0.5> } } threshold 0 accuracy 0.001 max_gradient 6 all_intersections pigment { color rgb <0.86, 0.12, 0.20> } finish { diffuse 0.75 specular 0.25 roughness 0.04 } // Positioning: scale and lift slightly above ground scale HeartScale translate <0, 0.15, 0> }