GetPrincipalAxis
Overloads
| Name | Description |
|---|---|
| GetPrincipalAxis(List<int> index) | 지정한 개체의 주축(Principal Axis) 분석 결과 반환. Facet 정점의 주성분 분석(PCA)으로 주축 3개를 구하고, Facet 면적 가중 법선으로 지배적인 면 법선(DominantNormal)을 구함. 판(Plate) 형상의 법선 방향, 길이 방향 산출 등에 사용. |
| GetPrincipalAxis(List<Vertex3D> vertices) | 지정한 정점 목록의 주축(Principal Axis) 분석 결과 반환 (주성분 분석, PCA). |
GetPrincipalAxis(List<int> index)
public PrincipalAxisItem GetPrincipalAxis(List<int> index)
지정한 개체의 주축(Principal Axis) 분석 결과 반환.
Facet 정점의 주성분 분석(PCA)으로 주축 3개를 구하고, Facet 면적 가중 법선으로 지배적인 면 법선(DominantNormal)을 구함.
판(Plate) 형상의 법선 방향, 길이 방향 산출 등에 사용.
Parameters
| Name | Type | Description |
|---|---|---|
| index | List<int> | 개체 인덱스 목록 (BODY / ASSEMBLY 는 PART 로 변환하여 조회) |
Returns
| Type | Description |
|---|---|
| PrincipalAxisItem | 주축 분석 결과. Facet 이 없으면 Edge 정점으로 분석하며, 정점이 3개 미만이면 IsValid = false |
Examples
private void Example()
{
List<int> index = new List<int>() { 8 };
VIZCore3D.NET.Data.PrincipalAxisItem axis = vizcore3d.GeometryUtility.GetPrincipalAxis(index);
if (axis.IsValid == false) return;
VIZCore3D.NET.Data.Vector3D plateNormal = axis.DominantNormal;
VIZCore3D.NET.Data.Vector3D lengthDir = axis.MajorAxis;
}
GetPrincipalAxis(List<Vertex3D> vertices)
public PrincipalAxisItem GetPrincipalAxis(List<Vertex3D> vertices)
지정한 정점 목록의 주축(Principal Axis) 분석 결과 반환 (주성분 분석, PCA).
Parameters
| Name | Type | Description |
|---|---|---|
| vertices | List<Vertex3D> | 정점 목록 |
Returns
| Type | Description |
|---|---|
| PrincipalAxisItem | 주축 분석 결과. 정점이 3개 미만이면 IsValid = false. DominantNormal 은 MinorAxis 와 같은 방향 |