I missed the original posting by philippe so I don't know the precise
question or philippe's email address.
Clipping a graphic to one side of a plane is a basic computational
geometry task but it is considered rather low level and Mathematica has
no user level function that will do the clipping. With such a function
one could plot the graphic over a sufficiently large domain and then
clip by the vertical planes over the polygon edges.
The lecture notes on Geometry for Computer Graphics at
http://www.math.umd.edu/~gah/
contain an algorithm for such clipping which is implemented in the
accompanying package Peano.m. However the implementation is for show
rather than go?and slow. Further, the mathematics used is not widely
known and some study of the lecture notes would be necessary before the
function could be used with confidence (the trivector defining the
plane is one of the arguments).
The more general question of clipping a graphic at a surface is
addressed in the article "Clipping Polygons" in The Mathematica
Journal, volume 8, number 4. That article contains an illustration of a
surface ( a monkey saddle) plotted over a rectangle, then clipped by
the cylinder over the circle x^2+y^2=1. Unfortunately, when the issue
is downloaded the package with the clipping function is not included.
The package works under version 4 but needs modification to work under
version 5 because of a syntax change to the function FindRoot. I intend
to produce a version 5 form of the package but will not be able to do
so for several months.
On Oct 2, 2004, at 3:18 AM, philippe wrote:
> If you really want to trim your plot with a cylinder you can try to
> adapt the principle which is present in the "SurfaceColor" example in
> the help browser.
> To get the line drawn on the surface, first convert your plot to a
> generic graphics (Graphics[....]), then type %//InputForm.
> You will have the internal structure of the graphic. Then, with
> replacement rules, you can keep only the part you are interested in.
> You can try something like that.
>
>
>
> On 3 Sep 04 11:04:27 -0400 (EDT), matt wrote:
>> Dear all,
>>
>> Í´m trying to produce a 3D plot with a 2D ploygon (within unit
> circle)
>> as its base. Equivalently, I want my 3D surface to sit inside (be
>> bounded by) a cylinder with n-gon cross section.
>>
>> How can I trim off the edges?
>> I´ve tried to use
>> If[ (condition), Plot, Blah] but it doesn´t seem to work.....
>
>
Garry Helzer
gah at math.umd.edu