ProtoFlux:Cross: Difference between revisions

From Resonite Wiki
Filled in the page for the cross product node. (I will fix the "see also" links later)
Added a suggestion note.
 
(One intermediate revision by the same user not shown)
Line 2: Line 2:
{{#Invoke:ProtoFlux|GenerateUI
{{#Invoke:ProtoFlux|GenerateUI
|Name=×<br><p style="font-size:25%;">(cross product)
|Name=×<br><p style="font-size:25%;">(cross product)
|Category=Operators
|Category=Vectors
|Inputs=
|Inputs=
[
[
Line 26: Line 26:
* Texture Mapping, especially for bump mapping or other effects that rely on surface orientation.
* Texture Mapping, especially for bump mapping or other effects that rely on surface orientation.
* Animation and Rigging, which includes calculating bone transformations and constraints.
* Animation and Rigging, which includes calculating bone transformations and constraints.
{{Note|This product is linear, which returns a vector. If you want something that returns a scaler, use the [[ProtoFlux:Dot|Dot]] node instead.|suggestion}}


== Inputs ==
== Inputs ==
Line 55: Line 57:
== See Also ==
== See Also ==
* Wikipedia's definition of [https://en.wikipedia.org/wiki/Cross_product cross product] & [https://en.wikipedia.org/wiki/Triple_product triple product].
* Wikipedia's definition of [https://en.wikipedia.org/wiki/Cross_product cross product] & [https://en.wikipedia.org/wiki/Triple_product triple product].
* Microsoft's documentation on the [https://learn.microsoft.com/en-us/dotnet/api/system.windows.vector.crossproduct?view=windowsdesktop-8.0 Vector.CrossProduct(Vector, Vector) Method] & [https://learn.microsoft.com/en-us/dotnet/api/system.numerics.vector3.cross?view=net-8.0 Vector3.Cross(Vector3, Vector3) Method].


[[Category:ProtoFlux:Operators:Vectors]]
[[Category:ProtoFlux:Operators:Vectors]]

Latest revision as of 20:10, 28 June 2024

×

(cross product)

A
*
B
Vectors

The Cross node (also called a Cross Product) takes in 2 vector values and returns the cross product of the 3rd vector.

A cross product is basically the direction of the 3rd vector by using the other 2 vectors. The math behind it is somewhat complex but it can be used to get a direction of the other needed vector. See Also has more information for specifics and mathematical concepts.

Keep in mind of handedness, or the direction of the 3rd vector, as depending on your use case, it could be the opposite direction than what you might be expecting.

Some applications that this node can be used for:

  • Calculating Normals on a surface.
  • Collision Detection on a surface.
  • Physics Simulations, including Orientation and Rotation.
  • Texture Mapping, especially for bump mapping or other effects that rely on surface orientation.
  • Animation and Rigging, which includes calculating bone transformations and constraints.
This product is linear, which returns a vector. If you want something that returns a scaler, use the Dot node instead.

Inputs

A (Pseudo-Generic)

The first vector value.

B (Pseudo-Generic)

The second vector value.

Outputs

* (Pseudo-Generic)

The returning and resulting vector direction (dependent on handedness).

Further Reading

Videos

See Also