Comments (3)
Hi,
The rotation in the supporting plane of the ellipse (ie, around the normal) is specified by a third angle called PSI.
The transformation from a point on the ellipse to the 3D point is given by the succession of transforms:
- initialize x = R1 * cos(t) and y = R2 * sin(t) (standard ellipse parameterization), and set z = 0.
- apply a rotation by PSI around the Z axis
- apply a rotation by THETA around the Y axis
- apply a rotation by PHI around the Z axis
- apply a 3D translation to replace the ellipse around its center
Hope this helps !
from matgeom.
Thanks, that helped me.
But another problem arose.
Is there an unambiguous way to extract PSI, THETA, PHI from a 3x3 rotation matrix?
I've used:
angles3d3 = rad2deg(rotm2eul(R','ZYZ'));
THETA = -angles3d3(2);
PHI = -angles3d3(3);
PSI = angles3d3(1);
but in some case the correct solution is PSI and in the other it's 180°-PSI.
Thanks a lot.
from matgeom.
Hi,
From what I remember, it is difficult to keep a perfect one-to-one mapping between euler angles and rotation matrix. Moreover, I could not find clear consensus on conventions for angle order or sign...
Two hints:
- if theta is larger than 180 degrees, this could cause ambiguities. By digging into files, it seems I used theta within [0 180] degrees as convention.
- It is not always clear which of PSI or PHI is applied first. Sometimes swapping them makes things better...
The code can be found in "geom3d/private/localToGlobal3d".
regards,
from matgeom.
Related Issues (20)
- Documentation on how to cite the work HOT 6
- [Question/ Enhancement] Possibility to dilate a geometry? HOT 2
- Octave install warning about verLessThan.m HOT 4
- getting started on octave HOT 4
- Standardization of the header HOT 20
- Move graphs\grSimplifyBranches_old.m to deprecated\graphs ? HOT 1
- Bugs in intersectEdges.m HOT 2
- Delete changelog.txt(s) ? HOT 4
- Move data files to subfolder or data folder? HOT 1
- clipPolygon3dHP is not fully implemented HOT 6
- medialAxisConvex is not fully implemented
- Plotting a vector of circles only plots the final circle in the vector HOT 4
- Rename clipPolygonHP to clipPolygonByLine? HOT 1
- Missing functions in Contents.m HOT 1
- Missing polygons2d.m HOT 4
- Rename clipMeshVertices to cutMeshVertices?
- vertexNormal duplicate of meshVertexNormals? HOT 1
- Rename polyhedronSlice to intersectPlaneConvexPolyhedron?
- Matgeom - verLessThan: package "matlab" is not installed HOT 2
- polynomialCurves2d: No such file or directory HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from matgeom.