POV-Ray : Newsgroups : povray.binaries.images : Releasing kobldes v0.59-2a: second example image : Re: Releasing kobldes v0.59-2a: second example image Server Time
2 Nov 2024 14:17:06 EDT (-0400)
  Re: Releasing kobldes v0.59-2a: second example image  
From: Alain
Date: 12 Oct 2010 15:11:05
Message: <4cb4b2c9@news.povray.org>

> "Thomas de Groot"<tDOTdegroot@interDOTnlANOTHERDOTnet>  wrote:
>> "Kene"<nomail@nomail>  schreef in bericht
>> news:web.4cb3418751d9757a45c695ee0@news.povray.org...
>>>
>>> Do you have any suggestions?
>>
>> I have no ready solution I am afraid. A dirty way to solve it, maybe, would
>> be to increase the length of the arc a tiny bit, so that the inner face of
>> the cylinder would join the straight walls? Not elegant, I know... :-(
>>
>> Thomas
>
> Yeah... and that is my only solution so far. But it means that kobldes must
> detect which end is inside or outside so that it can be sliced off. of course it
> forces the use of curved walls in a way that makes one end always able to be cut
> off, if a clean connection is desired. For example the situation in the image
> above will never clean.
>
> This is why I have been hesitant to implement it but it seems that is my only
> option so far. Thanks for an opportunity to reinforce this.
>
> Yeah, it seems like ages since I started this project. Always looking forward to
> finishing the next set of capabilities.
>

Your curved walls are presently cut by boxes or planes that are oriented 
radialy. OK for self standing walls or curved walls that need to 
continue as straight ones.
They should be cut by box or plane that are parallel to the wall the 
curved wall connect to, then you need to also remove the rest of the 
cylinder. There is also nothing wrong in over shooting and hiding part 
of the curve inside adjacent walls. This should not cause any problem as 
long as the curved wall is the same thickness, or thinner, as the other 
walls.

Using prisms, you need to generate many points that are placed along a 
circle. Maybe as many as 1 point for each degree along the curve. Then, 
you can use a cubic_spline to smooth out the curve.
You can use sin(angle) and cos(angle) and multiply those by the actual 
radius of the wall. It's then easy to have different start and end angle 
for the inner and outer surfaces. Just make sure that you use a slightly 
longer arc to hide it's ends inside the other walls.



Alain


Post a reply to this message

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