Request for new primitives


RE: Request for new primitives
#18
(Yesterday, 16:45)Manfred Schaefer Wrote: I need a circular segment from 22.5° to 45°.
If I understand your explanation correctly, I would end up with a segment from 45° to 67.5°.
This means I would have to reflect a circular segment from 0° to 22.5° across the x-axis and then rotate it by 45° about the y-axis. However, a rotation of 45° implies a factor of 0.707... which results in too many decimal places.
As Réné already explained, there is more to it than just rotation. You also have mirroring and scaling. Mirroring inverts the rotation from ccw to cw as you figured out.

Yes, if the scaling is 1.00, then the entry in the rotation matrix is sin(45°)=cos(45°)=0.7071, which is less than 5 decimals. However, most of the time, the scaling isn't 1.00, but something else. In those cases, you would round or truncate it to 5 decimals.

Now comes the hard part. While the scaling in one unique use case may be such that the entry in the rotation matrix is more accurate for a 22.5° rotation, you always have to remember that there are two entries in the rotation matrix; a*sin(x) and a*cos(x). Usually, when sin(x)=cos(x), i.e. x=45°, you end up with less distinct entries in the rotation matrix. This makes it easier to combine multiple rotated primitives without introducing unnecessary microgaps.
Reply
« Next Oldest | Next Newest »



Messages In This Thread
RE: Request for new primitives - by Peter Blomberg - 8 hours ago

Forum Jump:


Users browsing this thread: 1 Guest(s)