|
|
> "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
|
|