VS:AngBVec: Difference between revisions

From Vectorworks Developer
Jump to navigation Jump to search
m (1 revision)
 
(fix example)
Line 45: Line 45:
This is precisely what Vec2Ang does, except that Vec2Ang uses the X axis as the other vector.
This is precisely what Vec2Ang does, except that Vec2Ang uses the X axis as the other vector.


([[User:Orso.b.schmid|Orso]], 2010 Dec. 22) See vector diagrams on Vectorlab: [http://www.vectorlab.info/index.php?title=Category:Subroutines_-_Math what '''AngBVec''' represents].
([[User:CBM-c-| _c_]], 2010 Dec. 22) See vector diagrams on [[User:CBM-c-/VS-Math| VS Math]].
</remark>
</remark>


Line 54: Line 54:
PROCEDURE Example;
PROCEDURE Example;
VAR
VAR
pt1, pt2, pt3, pt4 :VECTOR;
    pt1, pt2, pt3, pt4 :VECTOR;
BEGIN
BEGIN
GetPt(pt1.x, pt1.y);
    GetPt(pt1.x, pt1.y);
GetPtL(pt1.x, pt1.y, pt2.x, pt2.y);
    GetPtL(pt1.x, pt1.y, pt2.x, pt2.y);
GetPtL(pt2.x, pt2.y, pt3.x, pt3.y);
    GetPtL(pt2.x, pt2.y, pt3.x, pt3.y);
MoveTo(pt1.x, pt1.y);
    MoveTo(pt1.x, pt1.y);
LineTo(pt2.x, pt2.y);
    LineTo(pt2.x, pt2.y);
LineTo(pt3.x, pt3.y);
    LineTo(pt3.x, pt3.y);
pt4 := (pt1 + pt3) / 2;
    pt4 := (pt1 + pt3) / 2;
TextOrigin(pt4.x, pt4.y);
    TextOrigin(pt4.x, pt4.y);
CreateText(Concat(AngBVec(pt1 - pt2, pt3 - pt2)));
    CreateText(Concat(AngBVec(pt1 - pt2, pt3 - pt2)));
END;
END;
RUN(Example);</code>
RUN(Example);</code>

Revision as of 03:49, 18 January 2022

.VectorScript|VectorScript ..VS:Function Reference|Function Reference ..VS:Function_Reference_Appendix|Appendix

Description

Returns the positive angle between the two specified vectors, in the range of 0~180 degrees.

When used with 3D vectors, the angle returned will be in a plane defined by the two vectors.

FUNCTION AngBVec(
v1 :VECTOR;
v2 :VECTOR) : REAL;
def vs.AngBVec(v1, v2):
    return REAL

Parameters

v1 VECTOR First vector to be compared.
v2 VECTOR Second vector to be compared.

Return Value

Returns a REAL value which is the angle (in degrees) between the two vectors.

Remarks

This is precisely what Vec2Ang does, except that Vec2Ang uses the X axis as the other vector.

( _c_, 2010 Dec. 22) See vector diagrams on VS Math.

Example

VectorScript

PROCEDURE Example;
VAR
    pt1, pt2, pt3, pt4 :VECTOR;
BEGIN
    GetPt(pt1.x, pt1.y);
    GetPtL(pt1.x, pt1.y, pt2.x, pt2.y);
    GetPtL(pt2.x, pt2.y, pt3.x, pt3.y);
    MoveTo(pt1.x, pt1.y);
    LineTo(pt2.x, pt2.y);
    LineTo(pt3.x, pt3.y);
    pt4 := (pt1 + pt3) / 2;
    TextOrigin(pt4.x, pt4.y);
    CreateText(Concat(AngBVec(pt1 - pt2, pt3 - pt2)));
END;
RUN(Example);

Python


Version

Availability: from All Versions