Class: Geom::Vector3d
Relationships | |
Inherits: | Object |
Overview
The Vector3d class is used to represent vectors in a 3 dimensional space. Vectors in SketchUp have a direction and a length, but not a starting point.
There are numerous tutorials on 3D vectors available on the internet.
Class Method Summary
-
.linear_combination(weight1, vector1, weight2, vector2) ⇒ Geom::Vector3d
The .linear_combination method is used to create a new vector as a linear combination of other vectors.
-
.new ⇒ Geom::Vector3d
constructor
The new method is used to create a new vector.
Instance Attribute Summary
-
#length ⇒ Length
rw
The length method is used to retrieve the length of the vector.
-
#length=(length) ⇒ Numeric
rw
The length= method is used to set the length of the vector.
-
#unitvector? ⇒ Boolean
readonly
The unitvector? method is used to see if the vector is a unit vector.
-
#valid? ⇒ Boolean
readonly
The valid? method is used to verify if a vector is valid.
-
#x ⇒ Length
rw
The x method is used to retrieve the x coordinate of the vector.
-
#x=(x) ⇒ Numeric
rw
The x= method is used to set the x coordinate of the vector.
-
#y ⇒ Length
rw
The y method is used to retrieve the y coordinate of the vector.
-
#y=(y) ⇒ Numeric
rw
Set the y coordinate of the vector.
-
#z ⇒ Length
rw
Get the z coordinate of the vector.
-
#z=(z) ⇒ Numeric
rw
Set the z coordinate of the vector.
Instance Method Summary
-
#%(vector) ⇒ Float
The #% method is used to compute the dot product between two vectors.
-
#*(vector) ⇒ Geom::Vector3d
The #* method is used to compute the cross product between two vectors.
-
#+(vector2) ⇒ Geom::Vector3d
The - method is used to add a vector to this one.
-
#-(vector2) ⇒ Geom::Vector3d
The - method is used to subtract a vector from this one.
-
#<(vector2) ⇒ Boolean
The < method is used to determine if a vector’s x, y or z value is less than another vector’s x, y or z value.
-
#==(vector2) ⇒ Boolean
The == method is used to determine if two vectors are equal to within tolerance.
-
#[](i) ⇒ Length
The [] method is used to access the coordinates of a vector as if it was an
::Array
. -
#[]=(index, value) ⇒ Numeric
The []= method is used to set the coordinates of a vector as if it was an
::Array
. -
#angle_between(vector2) ⇒ Float
The angle_between method is used to compute the angle (in radians) between this vector and another vector.
-
#axes ⇒ Array(Geom::Vector3d, Geom::Vector3d, Geom::Vector3d)
The axes method is used to compute an arbitrary set of axes with the given vector as the z-axis direction.
-
#clone ⇒ Geom::Vector3d
The clone method is used to make a copy of a vector.
-
#cross(vector) ⇒ Geom::Vector3d
The #cross method is used to compute the cross product between two vectors.
-
#dot(vector) ⇒ Float
The #dot method is used to compute the dot product between two vectors.
-
#inspect ⇒ Geom::Vector3d
The inspect method is used to inspect the contents of a vector as a friendly string.
-
#normalize ⇒ Geom::Vector3d
The normalize method is used to return a vector that is a unit vector of another.
-
#normalize! ⇒ Geom::Vector3d
The normalize! method is used to convert a vector into a unit vector, in place.
-
#parallel?(vector2) ⇒ Boolean
The parallel method is used to determine if this vector is parallel to another vector to within tolerance.
-
#perpendicular?(vector2) ⇒ Boolean
The perpendicular? method is used to determine if this vector is perpendicular to another vector to within tolerance.
-
#reverse ⇒ Geom::Vector3d
The reverse method is used to return a new vector that is the reverse of this vector, while leaving the original unchanged.
-
#reverse! ⇒ Geom::Vector3d
The reverse! method is used to reverse the vector in place.
-
#samedirection?(vector2) ⇒ Boolean
The samedirection? method is used to determine if this vector is parallel to and in the same direction as another vector to within tolerance.
-
#set!(array3d) ⇒ Geom::Vector3d
The set! method is used to set the coordinates of the vector.
-
#to_a ⇒ Array(Length, Length, Length)
The to_a method retrieves the coordinates of the vector in an
::Array
[x, y, z]. -
#to_s ⇒ String
The to_s method is used to format the vector as a
::String
. -
#transform(transform) ⇒ Geom::Vector3d
Apply a
Transformation
to a vector, returning a new vector. -
#transform!(transform) ⇒ Geom::Vector3d
Apply a
Transformation
to a vector.
Constructor Details
.new ⇒ Vector3d
.new(x, y, z) ⇒ Vector3d
.new(array3d) ⇒ Vector3d
.new(array2d) ⇒ Vector3d
.new(vector) ⇒ Vector3d
Vector3d
.new(x, y, z) ⇒ Vector3d
.new(array3d) ⇒ Vector3d
.new(array2d) ⇒ Vector3d
.new(vector) ⇒ Vector3d
The new method is used to create a new vector.
Class Method Details
.linear_combination(weight1, vector1, weight2, vector2) ⇒ Vector3d
.linear_combination(x, xaxis, y, yaxis, z, zaxis) ⇒ Vector3d
Vector3d
.linear_combination(x, xaxis, y, yaxis, z, zaxis) ⇒ Vector3d
The .linear_combination
method is used to create a new vector as a linear combination of other vectors. This method is generally used to get a vector at some percentage between two vectors.
A linear combination is a standard term for vector math. It is defined as vector = weight1 * vector1 + weight2 * vector2.
Instance Attribute Details
#length ⇒ Length (rw)
The length method is used to retrieve the length of the vector.
#length=(length) ⇒ Numeric (rw)
The length= method is used to set the length of the vector. The length must be greater than 0.
#unitvector? ⇒ Boolean
(readonly)
The unitvector? method is used to see if the vector is a unit vector.
This is equivalent to vec.length == 1.0
#valid? ⇒ Boolean
(readonly)
The valid? method is used to verify if a vector is valid. A vector is valid if its length is not zero.
#x ⇒ Length (rw)
The x method is used to retrieve the x coordinate of the vector.
#x=(x) ⇒ Numeric (rw)
The x= method is used to set the x coordinate of the vector.
#y ⇒ Length (rw)
The y method is used to retrieve the y coordinate of the vector.
#y=(y) ⇒ Numeric (rw)
Set the y coordinate of the vector.
#z ⇒ Length (rw)
Get the z coordinate of the vector.
#z=(z) ⇒ Numeric (rw)
Set the z coordinate of the vector.
Instance Method Details
#%(vector) ⇒ Float
The #%
method is used to compute the dot product between two vectors.
This is an alias of the #dot method.
#*(vector) ⇒ Vector3d
The #*
method is used to compute the cross product between two vectors.
The cross product, also called the vector product, is an operation on two vectors. The cross product of two vectors produces a third vector which is perpendicular to the plane in which the first two lie.
This is an alias of the #cross method.
#+(vector2) ⇒ Vector3d
The - method is used to add a vector to this one.
#-(vector2) ⇒ Vector3d
The - method is used to subtract a vector from this one.
#<(vector2) ⇒ Boolean
The < method is used to determine if a vector’s x, y or z value is less than another vector’s x, y or z value.
#==(vector2) ⇒ Boolean
The == method is used to determine if two vectors are equal to within tolerance.
#[](i) ⇒ Length
The [] method is used to access the coordinates of a vector as if it was an ::Array
. The index must be 0, 1 or 2.
The following are equivalent:
#[]=(index, value) ⇒ Numeric
The []= method is used to set the coordinates of a vector as if it was an ::Array
. The value of i must be 0, 1 or 2.
#angle_between(vector2) ⇒ Float
The angle_between method is used to compute the angle (in radians) between this vector and another vector.
#axes ⇒ Array(Vector3d
, Vector3d
, Vector3d
)
The axes method is used to compute an arbitrary set of axes with the given vector as the z-axis direction.
Returns an ::Array
of three vectors [xaxis, yaxis, zaxis]
Vector3d
objects
#clone ⇒ Vector3d
The clone method is used to make a copy of a vector.
This method is equivalent to vec2 = Vector3d
.new(vec)
#cross(vector) ⇒ Vector3d
The #cross
method is used to compute the cross product between two vectors.
The cross product, also called the vector product, is an operation on two vectors. The cross product of two vectors produces a third vector which is perpendicular to the plane in which the first two lie.
#dot(vector) ⇒ Float
The #dot
method is used to compute the dot product between two vectors.
#inspect ⇒ Vector3d
The inspect method is used to inspect the contents of a vector as a friendly string.
#normalize ⇒ Vector3d
The normalize method is used to return a vector that is a unit vector of another.
#normalize! ⇒ Vector3d
The normalize! method is used to convert a vector into a unit vector, in place.
Another way to do this is vec.length = 1
#parallel?(vector2) ⇒ Boolean
The parallel method is used to determine if this vector is parallel to another vector to within tolerance.
#perpendicular?(vector2) ⇒ Boolean
The perpendicular? method is used to determine if this vector is perpendicular to another vector to within tolerance.
#reverse ⇒ Vector3d
The reverse method is used to return a new vector that is the reverse of this vector, while leaving the original unchanged.
#reverse! ⇒ Vector3d
The reverse! method is used to reverse the vector in place.
#samedirection?(vector2) ⇒ Boolean
The samedirection? method is used to determine if this vector is parallel to and in the same direction as another vector to within tolerance.
#set!(array3d) ⇒ Vector3d
#set!(vector) ⇒ Vector3d
#set!(x, y, z) ⇒ Vector3d
Vector3d
#set!(vector) ⇒ Vector3d
#set!(x, y, z) ⇒ Vector3d
The set! method is used to set the coordinates of the vector.
#to_a ⇒ Array(Length, Length, Length)
The to_a method retrieves the coordinates of the vector in an ::Array
[x, y, z].
#to_s ⇒ String
The to_s method is used to format the vector as a ::String
.
#transform(transform) ⇒ Vector3d
Apply a Transformation
to a vector, returning a new vector. The original vector is unchanged by this method.
#transform!(transform) ⇒ Vector3d
Apply a Transformation
to a vector. The vector itself is modified.