Search found 19 matches
- Tue Aug 20, 2024 1:20 am
- Forum: DG Kernel discussions
- Topic: Exceptions (restored)
- Replies: 0
- Views: 2083
Exceptions (restored)
General observation about exceptions: Geometry is such a vast field that exceptions are inevitable. They are inevitable in any software actually. We are trying to give some response and error report whenever it is possible, but generally we consider DGK as an “open” software in the sense that not ca...
- Mon Aug 05, 2024 4:31 am
- Forum: DG Kernel discussions
- Topic: Location, Orinetation, Frames blog
- Replies: 4
- Views: 4319
Frames and matrixes
Matrixes are tables of numbers. If we consider only orientation of a frame and ignore the origin (location), fames can be mapped to size three square matrixes with determinant of 1.0. To convert a frame f to matrix M one needs to take coordinates of the first, etc. axis of f and make it the first, e...
- Mon Aug 05, 2024 1:48 am
- Forum: DG Kernel discussions
- Topic: View Blog (restored)
- Replies: 3
- Views: 8261
Advanced
For completeness: We do not use Camera concept often mentioned in literature and graphical software. We believe it a secondary notion coming from some traditions. View Volume is clearer and more convenient for both interaction and programming, in our view ( ).
- Fri Aug 02, 2024 2:00 am
- Forum: DG Kernel discussions
- Topic: View Blog (restored)
- Replies: 3
- Views: 8261
Depth zoom
Part of the scene outside the Z range of the View Volume is rendered, do it is not visible. Normally the range should include al objects, otherwise it can be very confusing. Making the range too long is not good as it changes center of the viewing rotations which navigating interactively. It also re...
- Thu Aug 01, 2024 1:13 am
- Forum: DG Kernel discussions
- Topic: Location, Orinetation, Frames blog
- Replies: 4
- Views: 4319
Frames and Transformations
Every frame defines an affine transformation of 3D space: For a given frame fr, the transformation transforms each point pt(x,y,z) into the point, which has the same (x,y,z) coordinates relatively to fr. Transformations can be multiplied, of course: (A*B)(x) = B(A(x)). This definition agrees with th...
- Thu Aug 01, 2024 12:48 am
- Forum: DG Kernel discussions
- Topic: Location, Orinetation, Frames blog
- Replies: 4
- Views: 4319
Multiplication of frames
We have defined a frame as a point and three vectors, so if you have a frame fr . and another frame frOther , you can construct a new frame by applying fr.ToGlobal() to the elements of frOther . This is what IFrame_DG IFrame_DG.ToGlobal(IFrame_DG frame) does. This is considered as multiplication of ...
- Thu Aug 01, 2024 12:42 am
- Forum: DG Kernel discussions
- Topic: Location, Orinetation, Frames blog
- Replies: 4
- Views: 4319
Converting coordinates from frame to frame
If you have two different frames fr0, fr1 and a point pt relative to fr0, use
The same for all other basic types: vectors, lines and planes.
Code: Select all
PointDg ptGlob = fr0.ToGlobal(pt);
PointDg ptInFr1 = fr1.ToLocal(pt);
- Wed Jul 31, 2024 3:49 am
- Forum: DG Kernel discussions
- Topic: View Blog (restored)
- Replies: 3
- Views: 8261
Programming
More precisely View Volume is defined as a box (three ranges) aligned to a set of axes (frame) called Eye Frame. To access and manipulate Eye Frame use dgk > GetView() > IView_DG > IView_DG.GetEyeFrame() > IFrame_DG. For an example, Calls to IFrame_DG.Translate() on the interface will result in pan....
- Tue Jul 30, 2024 1:09 am
- Forum: DG Kernel discussions
- Topic: Location, Orinetation, Frames blog
- Replies: 4
- Views: 4319
Location, Orinetation, Frames blog
Hello friends This is a restoration of another important thread containing informal discussion of frames. It is likely will be done is several passes. In DGK we use Frame notion to represent and manipulate the very important location and orientation. Other software often use quaternions and/or matri...
- Thu Jul 25, 2024 8:16 pm
- Forum: DG Kernel discussions
- Topic: View Blog (restored)
- Replies: 3
- Views: 8261
View Blog (restored)
In this thread I would like to expand more informally concepts related to interactive view manipulation and its programming. See also Concepts of 3D Graphics The best way to understand it is probably to open any sample (View Point or Zoom are good to see the programmatic manipulation) and play with ...