You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
I'm not 100% sure if I like the existence of this attribute, but I took a stab at making it conceptually unique. While there are many 3D rotations between two vectors, there is only one 2D rotation (and also, it is the easiest to compute -- most algorithms for "rotation between two vectors" will give you this). Such a rotation will basically keep the perpendicular to direction and -z unchanged.
I've added text specifying that the matrix must be of this type, as well as a partial algorithm for computation (I don't elaborate on how the axis-angle rotation matrix is to be obtained)
The <dfn attribute for="XRRay">matrix</dfn> attribute is a [=matrix=] which represents the transform from a ray originating at <code>[0, 0, 0]</code> and extending down the negative Z axis to the ray described by the {{XRRay}}'s {{XRRay/origin}} and {{XRRay/direction}}.
The <dfn attribute for="XRRay">matrix</dfn> attribute is a [=matrix=] which represents the transform from a ray originating at <code>[0, 0, 0]</code> and extending down the negative Z axis to the ray described by the {{XRRay}}'s {{XRRay/origin}} and {{XRRay/direction}}. Such a matrix MUST be one that has a rotation component which leaves any vector perpendicular to {{XRRay/direction}} and the <code>Z</code> axis unchanged. This attribute MUST be computed by [=XRRay/obtain the matrix|obtaining the matrix=] for the {{XRRay}}. This attribute SHOULD be lazily evaluated.
The reason will be displayed to describe this comment to others. Learn more.
Such a matrix MUST be one that has a rotation component which leaves any vector perpendicular to {{XRRay/direction}} and the Z axis unchanged.
I'm pretty sure I get what you're trying to say here, but this was a bit confusing to me. Perhaps just because 3D math isn't my bread-and-butter. Would it be simpler to refer to the cross product?
The reason will be displayed to describe this comment to others. Learn more.
The cross product has no direction when the vectors are parallel, so I'd have to have an extra bit of text saying that the rotation is zero in such a case. This phrasing conveniently avoids this problem since when dir and Z are parallel, there are infinite perpendicular vectors, and keeping them all unchanged implies rotation=0.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I'm not 100% sure if I like the existence of this attribute, but I took a stab at making it conceptually unique. While there are many 3D rotations between two vectors, there is only one 2D rotation (and also, it is the easiest to compute -- most algorithms for "rotation between two vectors" will give you this). Such a rotation will basically keep the perpendicular to
direction
and-z
unchanged.I've added text specifying that the matrix must be of this type, as well as a partial algorithm for computation (I don't elaborate on how the axis-angle rotation matrix is to be obtained)
r? @NellWaliczek
fixes #582
cc @thetuvix @bialpio