|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Here is a second shot of the sample project image.
Kene
Post a reply to this message
Attachments:
Download 'kobldes036a.png' (286 KB)
Preview of image 'kobldes036a.png'
|
|
| |
| |
|
|
From: Thomas de Groot
Subject: Re: Releasing kobldes v0.59-2a: second example image
Date: 11 Oct 2010 03:21:14
Message: <4cb2baea@news.povray.org>
|
|
|
| |
| |
|
|
"Kene" <nomail@nomail> schreef in bericht
news:web.4cb1ef71a6ab2232531cc5f00@news.povray.org...
> Here is a second shot of the sample project image.
>
> Kene
>
Very nice indeed. I remember your first steps with these macros...
Interesting building with no doors.... :-)
Only the curved wall seems at odds here: It does not join properly with the
straight walls.
Thomas
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> Only the curved wall seems at odds here: It does not join properly with the
> straight walls.
Yeah... that is a problem I have shelved until I can come up with a more
efficient and generic way to do it. I can calculate the intersections but my
problem is twofold.
1. There does not seem to be a standard way to clean curved walls. It happens
differently with different circumstances. I can impose one way but then I can't
solve the number 2 problem.
2. I cannot seem to understand prisms enough to use it in curved walls. I need a
definite radius and diameter which I can't find how to get from any of the
different types of prisms. I can force cylinders to do it but I have decided to
let the problem simmer for a while.
Do you have any suggestions?
Post a reply to this message
|
|
| |
| |
|
|
From: Thomas de Groot
Subject: Re: Releasing kobldes v0.59-2a: second example image
Date: 12 Oct 2010 03:53:11
Message: <4cb413e7$1@news.povray.org>
|
|
|
| |
| |
|
|
"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
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"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.
Post a reply to this message
|
|
| |
| |
|
|
From: Alain
Subject: Re: Releasing kobldes v0.59-2a: second example image
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> 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.
Yep! That seems to be the only interesting solution right now.
> 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.
That will not be acceptable if the intention is to actually use the resulting
model to construct a building which is the goal of kobldes.
> 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.
I experimented with this for quite a while but the curve produced was not
consistent. It may be perfectly curved for a couple of circumstanced but there
was always a situation when it would throw a dark spot or a misaligned edge
somewhere. Generally handling many UV values made it too tedious for me. It was
no longer fun!
> 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.
>
Perhaps an illustration? I think chopping up the ends of cylinders as you
alluded to in the beginning is a much more interesting solution.
Post a reply to this message
|
|
| |
| |
|
|
From: Alain
Subject: Re: Releasing kobldes v0.59-2a: second example image
Date: 13 Oct 2010 13:44:35
Message: <4cb5f003@news.povray.org>
|
|
|
| |
| |
|
|
>> 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.
>
> Yep! That seems to be the only interesting solution right now.
>
>> 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.
>
> That will not be acceptable if the intention is to actually use the resulting
> model to construct a building which is the goal of kobldes.
>
>> 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.
>
> I experimented with this for quite a while but the curve produced was not
> consistent. It may be perfectly curved for a couple of circumstanced but there
> was always a situation when it would throw a dark spot or a misaligned edge
> somewhere. Generally handling many UV values made it too tedious for me. It was
> no longer fun!
>
>> 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.
>>
>
> Perhaps an illustration? I think chopping up the ends of cylinders as you
> alluded to in the beginning is a much more interesting solution.
>
prism{...[start of your prism]
#local Angle = Out_Start_Angle; #local To_Radiant = 1/pi/2;
#while(Angle < Out_End_Angle)
<sin(Angle*To_Radiant), cos(Angle*To_Radiant)>*Out_Radius,
#local Angle = Angle + Step;
#end
#local Angle = In_Start_Angle; #local To_Radiant = 1/pi/2;
#while(Angle > In_End_Angle)
<sin(Angle*To_Radiant), cos(Angle*To_Radiant)>*In_Radius,
#local Angle = Angle - Step;
#end
[rest of your prism]
}
Alain
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> prism{...[start of your prism]
>
> #local Angle = Out_Start_Angle; #local To_Radiant = 1/pi/2;
> #while(Angle < Out_End_Angle)
> <sin(Angle*To_Radiant), cos(Angle*To_Radiant)>*Out_Radius,
> #local Angle = Angle + Step;
> #end
> #local Angle = In_Start_Angle; #local To_Radiant = 1/pi/2;
> #while(Angle > In_End_Angle)
> <sin(Angle*To_Radiant), cos(Angle*To_Radiant)>*In_Radius,
> #local Angle = Angle - Step;
> #end
>
> [rest of your prism]
> }
>
Thanks for this solution. It certainly works in combination with cleaning the
ends using CSG as well. Looks like I have options now.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |