Hello:
I was asked to submit a specific example regarding the circle problem
mentioned earlier. Here's one that's illustrative:
- Create 3 circle objects centered in 0,0 with radii 1, 0.5, and 0.25 and
delete the surfaces.
- Create two lines to connect points (-1.1, 0.025) to (1.1, 0.025) and
(-1.1, -0.025) to (1.1, -0.025)
(these are two parallel lines to Ox with Y=0.025 and Y=-0.025)
- Make 3 copies of these lines by successive 45deg. rotations about
(0,0). You end up with 8 lines.
- Do all the line intersections (16 per circle)
Now, measure the distance between the two points obtained by intersecting
one line with one circle (we'll say that two parallel lines form a
pair). Measure one pair, then the next, etc. Using GiD 7.2 on my windoze
xp laptop, here is what I find:
For disc 1 (large):
1.99932
1.99932
1.99751
1.99751
1.99932
1.99932
1.99919
1.99919
For disc 2 (intermediate):
0.998624
0.998624
0.998425
0.998425
0.998634
0.998634
0.996863
0.996863
For disc 3 (small):
0.497494
0.497450
0.497001
0.497494
0.497494
0.497330
0.496836
0.496782
In all cases, variations of the third decimal can be observed. This may
seem small, but the relative error on disc 3 is not negligible, I think.
For circles 1 and 2, distance measurements are identical for the lines of
the same pair, but all the pairs in disc 2 show different results, whereas
measurements are more consistent for disc 1.
In the case of circle 3, that is not true any more. This indicates that the
loss of accuracy is indeed related to the model dimensions (but I think a
circle of radius 0.25 is not unreasonable).
These results will most likely change if I redo the same exact example,
which is also interesting.
I have not yet checked the cylinder case.
I hope this is helpful.
Philippe
[GiDlist] Circle Problem - Follow up example
Moderator: GiD Team
[GiDlist] Circle Problem - Follow up example
Hello,
We appreciate the example. It will be useful for future
tests.
As a first idea, I think that the error is more related
to the intersection algorithm that to the mathematical
representation of the NURBS. One way of checking this is
the following:
- Create the circle
- Generate a mesh with an arbitrary number of elements
- Check the distance from any of the generated points to
the center
- In my example, the distance is exactly equal to the
radius. In other example there may be a small difference
but not in the third digit.
Regards,
--
Compass Ing. y Sistemas Dr. Ramon Ribo
http://www.compassis.com ramsan at compassis.com
c/ Manuel Girona, 61 bajos tel. +34 93 204 10 82
08034 Barcelona, Spain fax. +34 93 204 19 09
-----Mensaje original-----
De: gidlist-admin at gatxan.cimne.upc.es
[mailto:gidlist-admin at gatxan.cimne.upc.es] En nombre de Philippe
Bouchilloux
Enviado el: miércoles, 25 de junio de 2003 7:55
Para: GiDList
Asunto: [GiDlist] Circle Problem - Follow up example
Hello:
I was asked to submit a specific example regarding the circle problem
mentioned earlier. Here's one that's illustrative:
- Create 3 circle objects centered in 0,0 with radii 1, 0.5, and 0.25
and
delete the surfaces.
- Create two lines to connect points (-1.1, 0.025) to (1.1, 0.025) and
(-1.1, -0.025) to (1.1, -0.025)
(these are two parallel lines to Ox with Y=0.025 and Y=-0.025)
- Make 3 copies of these lines by successive 45deg. rotations about
(0,0). You end up with 8 lines.
- Do all the line intersections (16 per circle)
Now, measure the distance between the two points obtained by
intersecting
one line with one circle (we'll say that two parallel lines form a
pair). Measure one pair, then the next, etc. Using GiD 7.2 on my
windoze
xp laptop, here is what I find:
For disc 1 (large):
1.99932
1.99932
1.99751
1.99751
1.99932
1.99932
1.99919
1.99919
For disc 2 (intermediate):
0.998624
0.998624
0.998425
0.998425
0.998634
0.998634
0.996863
0.996863
For disc 3 (small):
0.497494
0.497450
0.497001
0.497494
0.497494
0.497330
0.496836
0.496782
In all cases, variations of the third decimal can be observed. This may
seem small, but the relative error on disc 3 is not negligible, I think.
For circles 1 and 2, distance measurements are identical for the lines
of
the same pair, but all the pairs in disc 2 show different results,
whereas
measurements are more consistent for disc 1.
In the case of circle 3, that is not true any more. This indicates that
the
loss of accuracy is indeed related to the model dimensions (but I think
a
circle of radius 0.25 is not unreasonable).
These results will most likely change if I redo the same exact example,
which is also interesting.
I have not yet checked the cylinder case.
I hope this is helpful.
Philippe
_______________________________________________
GiDlist mailing list
GiDlist at gid.cimne.upc.es
http://gid.cimne.upc.es/mailman/listinfo/gidlist
We appreciate the example. It will be useful for future
tests.
As a first idea, I think that the error is more related
to the intersection algorithm that to the mathematical
representation of the NURBS. One way of checking this is
the following:
- Create the circle
- Generate a mesh with an arbitrary number of elements
- Check the distance from any of the generated points to
the center
- In my example, the distance is exactly equal to the
radius. In other example there may be a small difference
but not in the third digit.
Regards,
--
Compass Ing. y Sistemas Dr. Ramon Ribo
http://www.compassis.com ramsan at compassis.com
c/ Manuel Girona, 61 bajos tel. +34 93 204 10 82
08034 Barcelona, Spain fax. +34 93 204 19 09
-----Mensaje original-----
De: gidlist-admin at gatxan.cimne.upc.es
[mailto:gidlist-admin at gatxan.cimne.upc.es] En nombre de Philippe
Bouchilloux
Enviado el: miércoles, 25 de junio de 2003 7:55
Para: GiDList
Asunto: [GiDlist] Circle Problem - Follow up example
Hello:
I was asked to submit a specific example regarding the circle problem
mentioned earlier. Here's one that's illustrative:
- Create 3 circle objects centered in 0,0 with radii 1, 0.5, and 0.25
and
delete the surfaces.
- Create two lines to connect points (-1.1, 0.025) to (1.1, 0.025) and
(-1.1, -0.025) to (1.1, -0.025)
(these are two parallel lines to Ox with Y=0.025 and Y=-0.025)
- Make 3 copies of these lines by successive 45deg. rotations about
(0,0). You end up with 8 lines.
- Do all the line intersections (16 per circle)
Now, measure the distance between the two points obtained by
intersecting
one line with one circle (we'll say that two parallel lines form a
pair). Measure one pair, then the next, etc. Using GiD 7.2 on my
windoze
xp laptop, here is what I find:
For disc 1 (large):
1.99932
1.99932
1.99751
1.99751
1.99932
1.99932
1.99919
1.99919
For disc 2 (intermediate):
0.998624
0.998624
0.998425
0.998425
0.998634
0.998634
0.996863
0.996863
For disc 3 (small):
0.497494
0.497450
0.497001
0.497494
0.497494
0.497330
0.496836
0.496782
In all cases, variations of the third decimal can be observed. This may
seem small, but the relative error on disc 3 is not negligible, I think.
For circles 1 and 2, distance measurements are identical for the lines
of
the same pair, but all the pairs in disc 2 show different results,
whereas
measurements are more consistent for disc 1.
In the case of circle 3, that is not true any more. This indicates that
the
loss of accuracy is indeed related to the model dimensions (but I think
a
circle of radius 0.25 is not unreasonable).
These results will most likely change if I redo the same exact example,
which is also interesting.
I have not yet checked the cylinder case.
I hope this is helpful.
Philippe
_______________________________________________
GiDlist mailing list
GiDlist at gid.cimne.upc.es
http://gid.cimne.upc.es/mailman/listinfo/gidlist
[GiDlist] Circle Problem - Follow up example
It's not a intersection bug or a intrinsic problem of the Nurbs to describe
a circle.
It's a bug in a subdivision algorithm of rational Nurbs: Some weights are
bad calculated in the division procedure.
This is corrected for the next GiD version.
I attach your sample obtained after the related correction.
Enrique Escolano
----- Original Message -----
From: "Philippe Bouchilloux" pb at magsoft-flux.com
To: "GiDList" gidlist at gatxan.cimne.upc.es
Sent: Wednesday, June 25, 2003 7:55 AM
Subject: [GiDlist] Circle Problem - Follow up example
Hello:
I was asked to submit a specific example regarding the circle problem
mentioned earlier. Here's one that's illustrative:
- Create 3 circle objects centered in 0,0 with radii 1, 0.5, and 0.25 and
delete the surfaces.
- Create two lines to connect points (-1.1, 0.025) to (1.1, 0.025) and
(-1.1, -0.025) to (1.1, -0.025)
(these are two parallel lines to Ox with Y=0.025 and Y=-0.025)
- Make 3 copies of these lines by successive 45deg. rotations about
(0,0). You end up with 8 lines.
- Do all the line intersections (16 per circle)
Now, measure the distance between the two points obtained by intersecting
one line with one circle (we'll say that two parallel lines form a
pair). Measure one pair, then the next, etc. Using GiD 7.2 on my windoze
xp laptop, here is what I find:
For disc 1 (large):
1.99932
1.99932
1.99751
1.99751
1.99932
1.99932
1.99919
1.99919
For disc 2 (intermediate):
0.998624
0.998624
0.998425
0.998425
0.998634
0.998634
0.996863
0.996863
For disc 3 (small):
0.497494
0.497450
0.497001
0.497494
0.497494
0.497330
0.496836
0.496782
In all cases, variations of the third decimal can be observed. This may
seem small, but the relative error on disc 3 is not negligible, I think.
For circles 1 and 2, distance measurements are identical for the lines of
the same pair, but all the pairs in disc 2 show different results, whereas
measurements are more consistent for disc 1.
In the case of circle 3, that is not true any more. This indicates that
the
loss of accuracy is indeed related to the model dimensions (but I think a
circle of radius 0.25 is not unreasonable).
These results will most likely change if I redo the same exact example,
which is also interesting.
I have not yet checked the cylinder case.
I hope this is helpful.
Philippe
_______________________________________________
GiDlist mailing list
GiDlist at gid.cimne.upc.es
http://gid.cimne.upc.es/mailman/listinfo/gidlist
-------------- next part --------------
A non-text attachment was scrubbed...
Name: SubdivisionPrecision.gid.zip
Type: application/x-zip-compressed
Size: 5476 bytes
Desc: not available
Url : http://listas.cimne.upc.edu/pipermail/gidlist/attachments/20030626/d2cde166/attachment.bin
a circle.
It's a bug in a subdivision algorithm of rational Nurbs: Some weights are
bad calculated in the division procedure.
This is corrected for the next GiD version.
I attach your sample obtained after the related correction.
Enrique Escolano
----- Original Message -----
From: "Philippe Bouchilloux" pb at magsoft-flux.com
To: "GiDList" gidlist at gatxan.cimne.upc.es
Sent: Wednesday, June 25, 2003 7:55 AM
Subject: [GiDlist] Circle Problem - Follow up example
Hello:
I was asked to submit a specific example regarding the circle problem
mentioned earlier. Here's one that's illustrative:
- Create 3 circle objects centered in 0,0 with radii 1, 0.5, and 0.25 and
delete the surfaces.
- Create two lines to connect points (-1.1, 0.025) to (1.1, 0.025) and
(-1.1, -0.025) to (1.1, -0.025)
(these are two parallel lines to Ox with Y=0.025 and Y=-0.025)
- Make 3 copies of these lines by successive 45deg. rotations about
(0,0). You end up with 8 lines.
- Do all the line intersections (16 per circle)
Now, measure the distance between the two points obtained by intersecting
one line with one circle (we'll say that two parallel lines form a
pair). Measure one pair, then the next, etc. Using GiD 7.2 on my windoze
xp laptop, here is what I find:
For disc 1 (large):
1.99932
1.99932
1.99751
1.99751
1.99932
1.99932
1.99919
1.99919
For disc 2 (intermediate):
0.998624
0.998624
0.998425
0.998425
0.998634
0.998634
0.996863
0.996863
For disc 3 (small):
0.497494
0.497450
0.497001
0.497494
0.497494
0.497330
0.496836
0.496782
In all cases, variations of the third decimal can be observed. This may
seem small, but the relative error on disc 3 is not negligible, I think.
For circles 1 and 2, distance measurements are identical for the lines of
the same pair, but all the pairs in disc 2 show different results, whereas
measurements are more consistent for disc 1.
In the case of circle 3, that is not true any more. This indicates that
the
loss of accuracy is indeed related to the model dimensions (but I think a
circle of radius 0.25 is not unreasonable).
These results will most likely change if I redo the same exact example,
which is also interesting.
I have not yet checked the cylinder case.
I hope this is helpful.
Philippe
_______________________________________________
GiDlist mailing list
GiDlist at gid.cimne.upc.es
http://gid.cimne.upc.es/mailman/listinfo/gidlist
-------------- next part --------------
A non-text attachment was scrubbed...
Name: SubdivisionPrecision.gid.zip
Type: application/x-zip-compressed
Size: 5476 bytes
Desc: not available
Url : http://listas.cimne.upc.edu/pipermail/gidlist/attachments/20030626/d2cde166/attachment.bin
[GiDlist] Circle Problem - Follow up example
Thanks Enrique
This is corrected for the next GiD version.
I attach your sample obtained after the related correction.
This is corrected for the next GiD version.
I attach your sample obtained after the related correction.