Yasiu Math 1
Collection of mathematic functions that help create game mechanics and procedural tools
Loading...
Searching...
No Matches
UYasiuMathFL_Trigonometry Class Reference

BP Function library used with trigonometry. More...

#include <BPFunLib_Trigonometry.h>

Inheritance diagram for UYasiuMathFL_Trigonometry:
UYasiuMathFunctionLibrary

Public Member Functions

double FindMinimalRadiusForIntersectingTangentsOnArc (double alfa, double beta, double symmetricWidth)
 Find radius of circle for both tangent lines that intersect.
FVector2D FindMinimalRadiusForIntersectingTangentsOnArcAsymmetric (double alfa, double beta, double widthA, double widthB)
 Find radius of circle for both tangent line that intersect.

Static Public Member Functions

static void SpreadPointsOnTangentByXY (TArray< FVector2D > &out, const double X, const double Y, const double spreadDistance)
 Spread points on tangent line to arc located by XY offset from arc center point 0,0.
static void SpreadPointsOnTangentByAngleRadius (TArray< FVector2D > &out, double angle, double radius, double spreadDistance)
 Spread points on tangent line to arc located by angle and radius of given arc.

Detailed Description

BP Function library used with trigonometry.

Member Function Documentation

◆ FindMinimalRadiusForIntersectingTangentsOnArc()

double UYasiuMathFL_Trigonometry::FindMinimalRadiusForIntersectingTangentsOnArc ( double alfa,
double beta,
double symmetricWidth )

Find radius of circle for both tangent lines that intersect.

Tangents on circle are defined by angle Alfa and Beta. Tangent line distance to meeting point from circle intersection is symmetricWidth. Angle is in radians.

\[ R=\frac{\sin(\alpha)*A-\sin(\beta)*B}{\cos(\beta)-\cos(\alpha)} \]

Parameters
alfaTangent point location defined by angle
betaTangent point location defined by angle
symmetricWidthWidth from tangent point to intersect

◆ FindMinimalRadiusForIntersectingTangentsOnArcAsymmetric()

FVector2D UYasiuMathFL_Trigonometry::FindMinimalRadiusForIntersectingTangentsOnArcAsymmetric ( double alfa,
double beta,
double widthA,
double widthB )

Find radius of circle for both tangent line that intersect.

Asymmetry comes from 2 different widths. Tangents on circle are defined by angle Alfa and Beta. Tangent line distance to meeting point from circle intersection is symmetricWidth. Angle is in radians. First radius is bigger.

\[ R=\frac{\sin(\alpha)*A-\sin(\beta)*B}{\cos(\beta)-\cos(\alpha)} \]

Parameters
alfaTangent point location defined by angle
betaTangent point location defined by angle
widthADistance from intersection for point A
widthBDistance from intersection for point B
Returns
Pair of radius for each circle.

◆ SpreadPointsOnTangentByAngleRadius()

void UYasiuMathFL_Trigonometry::SpreadPointsOnTangentByAngleRadius ( TArray< FVector2D > & out,
double angle,
double radius,
double spreadDistance )
static

Spread points on tangent line to arc located by angle and radius of given arc.

Points are moved away from tangent point by spreadDistance in perpendicular direction

Parameters
outReturned collection of points
angleTangent location defined by angle
radiusRadius of arc
spreadDistanceDistance to spread in one direction from tangent point

◆ SpreadPointsOnTangentByXY()

void UYasiuMathFL_Trigonometry::SpreadPointsOnTangentByXY ( TArray< FVector2D > & out,
const double X,
const double Y,
const double spreadDistance )
static

Spread points on tangent line to arc located by XY offset from arc center point 0,0.

Points are moved away from tangent point by spreadDistance

Parameters
outReturned collection of points
XPosition X
YPosition Y
spreadDistanceDistance to spread in one direction from tangent point

The documentation for this class was generated from the following file: