POV-Ray : Newsgroups : povray.programming : Which code evaluate Math functions (ie: isosurfaces) ? : Re: Which code evaluate Math functions (ie: isosurfaces) ? Server Time
9 May 2024 15:58:00 EDT (-0400)
  Re: Which code evaluate Math functions (ie: isosurfaces) ?  
From: virtualmeet
Date: 2 Feb 2007 11:55:00
Message: <web.45c36b2cf1edfe3ef7728ec60@news.povray.org>
Tests for f(x,y,z) =
cos(x) + cos(y) + cos(z) + 0.00001*cos(x*z) - 0.00001*cos(x) -
0.00001*cos(y)*( cos(x) +0.00001*cos(y*x*( cos(x) +cos(y*x) + cos(z*y))) +
0.00001*cos(y)) + 0.00001*sin(z-y)*( sin(x+z) +0.00001*cos(y*x*( sin(x*z)
+cos(y*x) + cos(z))) + cos(y)) - 0.00001*sin(z*y*cos(x))*( sin(x)
+cos(y*x*( sin(z) +cos(x) + cos(z*y))) + 0.00001*cos(y)) *cos(y*x*( sin(z)
+cos(y*x) + cos(y)))*x*y + 0.00001*cos(y) + 0.00001*cos(x) + 0.00001*cos(y)
+ 0.00001*cos(z) + 0.00001*cos(z) - 0.00001*cos(y*x) - 0.00001*cos(y)*(
cos(x*z) +cos(y*x*( cos(z) +cos(y) + cos(z*y))) + 0.00001*cos(y)) +
0.00001*sin(z-y)*( sin(x) +cos(y*x*( sin(z) +cos(y-x) + cos(z-y))) +
0.00001*cos(z*y)) - 0.00001*sin(z*y*cos(x))*( sin(x) +cos(y*x*( sin(x*z)
+cos(x) + cos(z))) + 0.00001*cos(y)) *cos(y*x*( sin(z) +cos(x) +
cos(z*y)))*x*y + 0.00001*cos(z*y)

ErrorTime +-(1/2)sec
Grid  OldParser  Parser64op Parser64op+optimCosSin  hardCodedfct
========================================================
120^3    41sec     24sec        13.5sec        11sec
140^3    65sec     40sec        23sec          13sec

1)This example is not advantageous for the new parser because it's not
otimising when the internal variable is different from"x", "y" or "z".
Also, binary fct are not optimised.
2)There is no opcode optimisation (from the original parser)
3)the hardcoded fct was made by compiling the isosurface formulas in C++
program.
Taha


Post a reply to this message

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