[kde-edu]: kig: how to "unconstrain" an object

Jiří Paleček jpalecek at web.de
Sat Mar 17 19:24:55 CET 2007


Hello,

On Fri, 16 Mar 2007 20:52:18 +0100, Maurizio Paolini  
<paolini at dmf.unicatt.it> wrote:

> I actually cannot understand your construction... could you please
> send me the '.kig' file of the basic construction?

Well, I don't know how much "basic" it is, but here it is.

I should describe the problem I'm trying to solve. It is well known that  
in a
Delaunay triangulation [a Delaunay triangulation of a set of points P is a  
graph
where there is an edge between points x and y iff there is a circle with  
x,y lying
on its circumference and having no point of P in its interior], no two  
edges
intersect if drawn by straight lines, provided that P is in general  
position.
I was trying to prove or disprove a similar fact, about a slightly  
different
graph. Let G be a graph where V=P, with P a set of points, and there is an  
edge
between x and y iff there exist a circle with center C and radius r, such  
that

1) |x-C|=r-d_x and |y-C|=r-d_y
2) For any z in P different from x,y, |z-C|>r-d_z

In other words, I have replaced points in P by disks with radius d_x and
I want an edge to have a circle, such that the disks of x,y are fully  
inside
that circle and any other disk is not fully inside.

The question is, whether such a graph is planar [And the answer is, I don't
know, but if it is drawn in the way that verticies are represented by their
points and edges by straight line segments, then edges can intersect].

So I wanted to construct a counterexample with kig. The construction is in
the attached file. It goes as follows: I want two edges to intersect, so
I start by their circles' centers. They are S1 and S2. I will constrain
myself a little bit more, in a way that I will want to have the disks of
each edge's endpoints to have the same radius (which will depend on the  
edge).
So, they will be on a circle slightly smaller than their edge's circle.
You can control the radius of this smaller circle with the control point.
So, to satisfy the requirements of an edge, you have to place points of  
that
edge to the circumference of the left/right smaller circle, but not inside
the other smaller circle. So I have placed the first two points on the
intersection of the smaller circles, these are points A and B. But now,
I would want to change the radii of the smaller circles and place the
other two points so that the edges would intersect. But if I move the
control point, points A, B would move too :-( which is not what I want.
BTW I "solved" this issue by writing down the coordinates of A, B and
the radius of their disks, then moving the control point, placing another
two points, again writing down their coordinates, deleting all and
recreating the points by their coordinates.

> As a general remark, did you try with a macro?

No. I don't know how would it help me to free/duplicate an object.

Regards
    Jiri Palecek

> On Fri, Mar 16, 2007 at 12:27:27PM +0100, Ji?í Pale?ek wrote:
>> Hello,
>>
>> I'd like to ask how can I create an object which is a copy of another
>> object, but is not constrained.
>>
>> For example, I have a construction which, depending on a position of a
>> point,
>> makes points lying on a circle whose radius is controlled by the point.  
>> I
>> want
>> to create four such points, two and two for a different radius. The  
>> problem
>> is, when I change the radius, the points move with the circle.
>>
>> I could do that by eg. introducing another parameter which will control  
>> the
>> second pair, but that would mean basically to create the construction  
>> twice
>> and a great mess on the screen.
>>
>> Thanks in advance
>>
>>      Jiri Palecek



-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: voronoi2.kig
Type: application/octet-stream
Size: 13124 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-edu/attachments/20070317/00f0c6ce/attachment-0001.obj 


More information about the kde-edu mailing list