Click or drag to resize

GeometryUtilityManagerGetMatrixToMoveTo2PointParallelTo2Point Method

대상 2점과 기준선 2 점을 오프셋 만큼 떨어진 평행한 대상 2점이 될 수 있도록 이동/회전 Matrix 계산

Namespace:  VIZCore3D.NET.Manager
Assembly:  VIZCore3D.NET (in VIZCore3D.NET.dll) Version: 2.8.24.1104 (2.8.24.1104)
Syntax
C#
public Matrix3D GetMatrixToMoveTo2PointParallelTo2Point(
	Vertex3D iv1,
	Vertex3D iv2,
	Vertex3D iv3,
	Vertex3D iv4,
	float offset
)

Parameters

iv1
Type: VIZCore3D.NET.DataVertex3D
이동점 1
iv2
Type: VIZCore3D.NET.DataVertex3D
이동점 2
iv3
Type: VIZCore3D.NET.DataVertex3D
고정점 1
iv4
Type: VIZCore3D.NET.DataVertex3D
고정점 2
offset
Type: SystemSingle
오프셋

Return Value

Type: Matrix3D
이동/회전 Matrix
Examples
C#
// VIZCore3D.NET Control
private VIZCore3D.NET.VIZCore3DControl vizcore3d;

private void Example()
{
    // 이동되어야 할 라인
    VIZCore3D.NET.Data.Vertex3D v1 
        = new VIZCore3D.NET.Data.Vertex3D(-24.85, 254.20, 500);
    VIZCore3D.NET.Data.Vertex3D v2 
        = new VIZCore3D.NET.Data.Vertex3D(-450, -650, 500);

    // 고정 라인
    VIZCore3D.NET.Data.Vertex3D v3 
        = new VIZCore3D.NET.Data.Vertex3D(500, 500, 500);
    VIZCore3D.NET.Data.Vertex3D v4 
        = new VIZCore3D.NET.Data.Vertex3D(500, -500, 500);

    // 이동&회전 매트릭스 계산
    VIZCore3D.NET.Data.Matrix3D matrix 
        = vizcore3d.GeometryUtility.GetMatrixToMoveTo2PointParallelTo2Point(
            v1          /* 이동될 라인 시작점 */
            , v2        /* 이동될 라인 끝점 */
            , v3        /* 기준선 라인 시작점 */
            , v4        /* 기준선 라인 끝점 */
            , 1000.0f   /* 오프셋 */
            );

    // 이동될 라인을 포함한 부재 검색
    List<VIZCore3D.NET.Data.Node> nodes = vizcore3d.Object3D.Find.QuickSearch("BOX2", true);
    if (nodes.Count == 0) return;

    // 부재 이동 및 회전
    nodes[0].TrasformByRawMatrix(matrix);
}
See Also