Search found 19 matches

by Nick
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...
by Nick
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...
by Nick
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 ( :? :lol: ).
by Nick
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...
by Nick
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...
by Nick
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 ...
by Nick
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

Code: Select all

PointDg ptGlob = fr0.ToGlobal(pt);
PointDg ptInFr1 = fr1.ToLocal(pt);
The same for all other basic types: vectors, lines and planes.
by Nick
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....
by Nick
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...
by Nick
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 ...