POV-Ray : Newsgroups : povray.pov4.discussion.general : Suggest v4.0 upgrade the polygon object. (yuqk R17 v0.6.11.0) : Suggest v4.0 upgrade the polygon object. (yuqk R17 v0.6.11.0) Server Time
21 Dec 2024 12:08:11 EST (-0500)
  Suggest v4.0 upgrade the polygon object. (yuqk R17 v0.6.11.0)  
From: William F Pokorny
Date: 11 Dec 2024 00:37:12
Message: <67592508$1@news.povray.org>
In part due a bug report, and in part due an offline discussion with jr 
regarding an effort more than 15 years ago to implement a df3 file 
encoding format based upon 2d polygons in each z plane as a compression 
technique - I've been working on the polygon object's code.

The result is updated code which fixes a number of bugs and, of more 
interest to me, implements potential{} value pattern support(*) for the 
polygon object.

(*) The potential{} pattern is new to v3.8 and the initial 
implementation supports the blob{} and isosurface{} objects which 
naturally have a value fields defining the resulting shape.

The potential{} pattern support for the polygon object is based upon an 
expanded concept for what potential pattern support for an object means 
in general. It can be about more than reproducing the original shape as 
an isosurface or pattern.

Attached is an image with some examples and my initial pass at some 
documentation for yuqk's polygon object.

The upper left two images are the same as one gets with official POV-Ray 
releases. The green specifies the points in clockwise order. The red in 
counter-clockwise order.

The upper right two images show the 'ip_type 0' potential pattern 
support which is a sort of infinite in z inside / outside test. The 
inside values being (1.0*('ip_offset value')). By wrapping these 
potential{} patterns in function{}s, this 'ip_type 0' is essentially a 
drawn drawn polygon-tiles and calk method. A numerically noise proof, 
and infinitely flexible alternative to the 'pavement' and 'tiling' value 
patterns, for example.

The bottom row of images show some of the kinds of potential patterns 
returned. The left most bottom being one of three possible 
bounding-box-based potential patterns.

The remaining three images in the bottom row return polygon point 
values, connections between polygon points values and, on the very 
right, a stand-in 3D potential somewhat similar to the inbuilt 
f_rounded_box() function's value field - but defined by the polygon 
object's 2D shape.

Bill P.


Post a reply to this message


Attachments:
Download 'polygon.txt' (14 KB) Download 'polygonupdates.png' (17 KB)

Preview of image 'polygonupdates.png'
polygonupdates.png


 

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