Warning [2] Undefined array key "lockoutexpiry" - Line: 94 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 94 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined array key "lockoutexpiry" - Line: 550 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 550 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined array key "avatartype" - Line: 811 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 811 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined array key "avatartype" - Line: 811 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 811 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined variable $awaitingusers - Line: 26 - File: global.php(872) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/global.php(872) : eval()'d code 26 errorHandler->error
/global.php 872 eval
/showthread.php 28 require_once
Warning [2] Undefined array key 1 - Line: 1449 - File: inc/functions.php PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions.php 1449 errorHandler->error
/inc/functions.php 1414 fetch_forum_permissions
/inc/functions.php 2953 forum_permissions
/showthread.php 657 build_forum_jump
Warning [2] Undefined variable $postsdone - Line: 901 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 901 errorHandler->error
Warning [2] Undefined array key 401 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 402 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 403 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 404 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 405 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 407 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 409 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 410 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 411 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 412 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 413 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 417 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 418 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 421 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 423 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 424 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 428 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 429 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 430 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 431 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 404 - Line: 1630 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 1630 errorHandler->error
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 919 buildtree
Warning [2] Undefined array key 409 - Line: 1630 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 1630 errorHandler->error
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 919 buildtree
Warning [2] Undefined array key 412 - Line: 1630 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 1630 errorHandler->error
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 919 buildtree
Warning [2] Undefined array key 431 - Line: 1630 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 1630 errorHandler->error
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 919 buildtree
Warning [2] Undefined array key "additionalgroups" - Line: 7360 - File: inc/functions.php PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions.php 7360 errorHandler->error
/inc/functions_user.php 813 is_member
/inc/functions_post.php 416 purgespammer_show
/showthread.php 920 build_postbit
Warning [2] Undefined array key "profilefield" - Line: 6 - File: inc/functions_post.php(484) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions_post.php(484) : eval()'d code 6 errorHandler->error
/inc/functions_post.php 484 eval
/showthread.php 920 build_postbit
Warning [2] Undefined array key "canonlyreplyownthreads" - Line: 672 - File: inc/functions_post.php PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions_post.php 672 errorHandler->error
/showthread.php 920 build_postbit
Warning [2] Undefined array key "showimages" - Line: 757 - File: inc/functions_post.php PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions_post.php 757 errorHandler->error
/showthread.php 920 build_postbit
Warning [2] Undefined array key "showvideos" - Line: 762 - File: inc/functions_post.php PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions_post.php 762 errorHandler->error
/showthread.php 920 build_postbit
Warning [2] Undefined variable $threadnotesbox - Line: 33 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 33 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $multipage - Line: 36 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 36 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $ratethread - Line: 41 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 41 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $multipage - Line: 68 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 68 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $addremovesubscription - Line: 82 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 82 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $usersbrowsing - Line: 92 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 92 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $thread_deleted - Line: 107 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 107 errorHandler->error
/showthread.php 1587 eval

Rotating the cube by euler engles, carries the other axes together.
The following warnings occurred:
Warning [2] Undefined array key "lockoutexpiry" - Line: 94 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 94 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined array key "lockoutexpiry" - Line: 550 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 550 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined array key "avatartype" - Line: 811 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 811 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined array key "avatartype" - Line: 811 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 811 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined variable $awaitingusers - Line: 26 - File: global.php(872) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/global.php(872) : eval()'d code 26 errorHandler->error
/global.php 872 eval
/showthread.php 28 require_once
Warning [2] Undefined array key 1 - Line: 1449 - File: inc/functions.php PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions.php 1449 errorHandler->error
/inc/functions.php 1414 fetch_forum_permissions
/inc/functions.php 2953 forum_permissions
/showthread.php 657 build_forum_jump
Warning [2] Undefined variable $postsdone - Line: 901 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 901 errorHandler->error
Warning [2] Undefined array key 401 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 402 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 403 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 404 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 405 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 407 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 409 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 410 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 411 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 412 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 413 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 417 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 418 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 421 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 423 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 424 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 428 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 429 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 430 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 431 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 404 - Line: 1630 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 1630 errorHandler->error
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 919 buildtree
Warning [2] Undefined array key 409 - Line: 1630 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 1630 errorHandler->error
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 919 buildtree
Warning [2] Undefined array key 412 - Line: 1630 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 1630 errorHandler->error
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 919 buildtree
Warning [2] Undefined array key 431 - Line: 1630 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 1630 errorHandler->error
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 919 buildtree
Warning [2] Undefined array key "additionalgroups" - Line: 7360 - File: inc/functions.php PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions.php 7360 errorHandler->error
/inc/functions_user.php 813 is_member
/inc/functions_post.php 416 purgespammer_show
/showthread.php 920 build_postbit
Warning [2] Undefined array key "profilefield" - Line: 6 - File: inc/functions_post.php(484) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions_post.php(484) : eval()'d code 6 errorHandler->error
/inc/functions_post.php 484 eval
/showthread.php 920 build_postbit
Warning [2] Undefined array key "canonlyreplyownthreads" - Line: 672 - File: inc/functions_post.php PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions_post.php 672 errorHandler->error
/showthread.php 920 build_postbit
Warning [2] Undefined array key "showimages" - Line: 757 - File: inc/functions_post.php PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions_post.php 757 errorHandler->error
/showthread.php 920 build_postbit
Warning [2] Undefined array key "showvideos" - Line: 762 - File: inc/functions_post.php PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions_post.php 762 errorHandler->error
/showthread.php 920 build_postbit
Warning [2] Undefined variable $threadnotesbox - Line: 33 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 33 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $multipage - Line: 36 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 36 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $ratethread - Line: 41 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 41 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $multipage - Line: 68 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 68 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $addremovesubscription - Line: 82 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 82 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $usersbrowsing - Line: 92 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 92 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $thread_deleted - Line: 107 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 107 errorHandler->error
/showthread.php 1587 eval






Rotating the cube by euler engles, carries the other axes together.
#12
Apost 
I will try to give you a short summary about how the concept of transformation matrices is working. If you understand this concept, the answer to your question should be clear.

In computer graphics vertices are usually represented as a vector and transformations of vertices as matrices. In 3D a 3-vector and a 3x3-matrix can be used to transform a vector by a linear transformation.

   

Using this concept you can perform linear transformations like rotation or scale.

The problem is that you cannot perform an affine transformation like a translation with this concept. To be able to also represent affine transformations with a general matrix*vector operation, homogenous coordinates are used. This means representing a 3-vector (x, y, z) as a 4-vector (x, y, z, 1) instead.

   

Using homogenous coordinates, we can represent linear and affine transformations by simple 4x4 transformation matrices.

   

We can combine transformations by simply multiplying these transformation matrixes.

   

The order of transformations (order of matrix multiplications) is important! You cannot switch the order of the transformations and expect to end up with the same result. Use for example one Matrix T1 that translates in x direction and one matrix T2 that rotates around the z-axis.

With T'=T2*T1 you will get a completely different result as with T'=T1*T2

   

In the Murl Engine the Transform interface represents a transformation matrix with methods to directly set the rotation and translation components.

You can compose a combined transformation from individual transformations by nesting separate Transform nodes:
<Transform id="t2" …>
   <Transform id="t1" …>
       <PlaneGeometry ../>
   </Transform> 
</Transform>


In this example the PlaneGeometry will first apply its own Transform then Transform t1 and then Transform t2.

You can also compose a transformation by calculating the transformation matrix in code:
Graph::Matrix T1(Matrix::IDENTITY);
T1.SetTranslationComponentX(200);
Graph::Matrix T2(Matrix::IDENTITY);
T2.SetRotationComponentZ(45*Math::DEG_TO_RAD);
   
Graph::Matrix& m = mCubeTransform->GetTransform();
m = T2*T1;


If you directly set the rotation and translation components in one transformation matrix, you must be aware of the following restrictions:
  • Rotation is applied before translation is applied.
  • SetRotationComponentX or SetRotationX
    SetRotationComponentY or SetRotationY
    SetRotationComponentZ or SetRotationZ
    overwrites the upper 3x3 matrix. Therefore you get a rotation around the specified axis. Existing values will be overwritten. Calling SetRotationComponentX first and SetRotationComponentY second has the same effect as if you would call SetRotationComponentY only.
  • SetRotationComponent(angleX,angleY,angleZ) or SetRotation(angleX,angleY,angleZ)
    overwrites the upper 3x3 matrix with the given rotations in a fixed rotation order. Currently only one rotation order is implemented: ROTATION_ORDER_ZYX. Unfortunately the name is badly chosen, because it reflects the nesting order of the hypothetical Transform nodes and not the actual order of the rotations. The actual order of rotations is rotate X first, then rotate Y, then rotate Z.
  • The SetTranslationComponent/SetPosition methods overwrite the respective translation component value(s) in the transformation matrix and can be used independently.

What does this all mean for your example:
static Double angleX = 0;
static Double angleY = Math::HALF_PI;
static Double spinSpeed = 0.007;
angleX += spinSpeed;
angleX = Math::Fmod(angleX, Math::TWO_PI);
angleY = Math::Fmod(angleY, Math::TWO_PI);
mCubeTransform->SetRotation(angleX, angleY, 0);


In your example you rotate the cube around X first and then rotate the cube around Y by HALF_PI. The result is a spinning cube which is spinning around the axis-Z. That is the expected behaviour.

If you want to rotate the cube first around Y and then around X, a second transformation matrix needs to be used. E.g.

Graph::Matrix T1(Matrix::IDENTITY);
T1.SetRotationComponentY(Math::TWO_PI);

Matrix& m = mCubeTransform->GetTransform();
m.SetRotationComponentX(angleX);
m = m*T1;


I hope that helps to better understand transformation matrices.

Best regards, Ketschak
Reply


Messages In This Thread
RE: Rotating the cube axis and not changing the cube angle - by Ketschak - 25 Nov 2015, 15:34

Forum Jump:


Copyright © 2011-2024 Spraylight GmbH.