JMP에서 바깥쪽으로 폴리곤 오프셋을 수행하는 방법안녕하세요 여러분,
JMP에서 폴리곤을 바깥쪽으로 오프셋할 수 있는지 궁금합니다. 가능하다면 방법을 알려주시면 감사하겠습니다.
육각형의 좌표가 있고, 육각형 주위로 거리 =10의 버퍼 영역을 그리려고 합니다. 어떻게 해야 할까요?
정말 고맙습니다
자동화 및 스크립팅Re: JMP에서 바깥쪽으로 폴리곤 오프셋을 수행하는 방법원래 육각형은 어디에서 왔을까?
JMP Graph Box를 사용하여 제작하고 있나요?
더 구체적인 내용을 알려주시면 많은 도움이 될 것입니다.
Re: JMP에서 바깥쪽으로 폴리곤 오프셋을 수행하는 방법안녕하세요 @txnelson ,
다각형은 등고선을 저장하여 등고선 플롯에서 가져옵니다.

등고선을 저장한 후 X와 Y 차트를 그립니다. 다각형 등고선을 따라 오프셋을 어떻게 그릴 수 있을까요? 감사합니다.

Re: JMP에서 바깥쪽으로 폴리곤 오프셋을 수행하는 방법JMP는 '그래픽 스크립트 추가'를 사용하여 모든 그래픽 출력에 그래픽을 추가할 수 있는 기능을 제공합니다. 스크립팅 인덱스는 추가 객체를 추가하는 방법에 대한 설명서와 예제를 제공합니다.
도움말=>스크립팅 인덱스
JSL에서는 완전한 그래픽 기본형 세트를 사용할 수 있습니다.
다음은 이 기능을 설명하는 스크립팅 가이드에서 직접 가져온 간단한 예입니다.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate(
Y( :weight ),
X( :height ),
FitLine
);
rbiv = biv << report;
framebox = rbiv[frame box( 1 )];
framebox <<
Add Graphics Script(
Transparency( 0.5 );
Fill Color( {1.0, 0.5, 0.0} );
Polygon( [60, 72, 57], [75, 120, 120] );
);

Re: JMP에서 바깥쪽으로 폴리곤 오프셋을 수행하는 방법안녕하세요 @txnelson
차트처럼, 다각형을 그리기 위해 그래프에 숫자를 직접 입력했습니다. 스크립트를 사용해서 할 수 있는 방법이 있을까요? 예를 들어,
X와 Y 좌표 목록과 거리를 알고 있습니다. 스크립트를 사용하여 계산을 어떻게 수행할 수 있을까요?
추가로 질문 하나 드리겠습니다. 등고선 그래프를 그리고 등고선을 저장하면 JMP에서 X좌표와 Y좌표가 포함된 표를 생성합니다.
In Polygon(a,b, x 행렬, y 행렬)과 같은 구문을 사용하면 잘못된 결과가 반환되는 문제가 발생했습니다. 일부 점은 다각형 내부에 있는데도 JMP에서는 이 점들을 다각형 외부로 반환합니다.
Polygon을 사용하기 전에 정렬을 수행하거나 데이터를 처리해야 합니까?
감사해요
Re: JMP에서 바깥쪽으로 폴리곤 오프셋을 수행하는 방법원하는 다각형을 그려보았는데 예상한 대로 보입니까?
Re: JMP에서 바깥쪽으로 폴리곤 오프셋을 수행하는 방법"그래프에 숫자를 수동으로 입력한다"는 말씀은 JSL이 특정 다각형에 대해 "하드코딩"되어 있다는 뜻이라고 생각합니다. 네, 맞는 말씀이지만, 그렇다고 해서 하드코딩해야 한다는 뜻은 아닙니다. JSL은 완전한 스크립팅 언어입니다. 생성하려는 다각형을 정의하는 숫자 값은 JSL을 사용하여 계산한 후 Polygon() 함수 내에서 사용하여 표시할 다각형을 그릴 수 있습니다. 표시하려는 점들을 중심으로 10단위 떨어진 다각형을 그리려면 모든 값을 반복하면서 모든 x, y 값의 평균에서 특정 점까지의 거리를 계산하고, 거리 값에 10단위를 더한 다음, 해당 값의 x, y 점을 계산해야 할 것입니다. 이런 식으로요. 하지만 이 모든 것이 JSL 내에서 가능합니다. 아래는 최대 x 및 y 점을 포함하는 다각형을 그리는 간단한 예입니다.
Names Default To Here( 1 );
dt=Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate(
Y( :weight ),
X( :height ),
FitLine
);
rbiv = biv << report;
framebox = rbiv[frame box( 1 )];
framebox <<
Add Graphics Script(
Transparency( 0.5 );
Fill Color( {1.0, 0.5, 0.0} );
// Find the max X point and it's y value
maxX = col max(:height);
maxXyvalue = :weight[(dt << get rows where(:height==maxX))[1]];
minX = col min(:height);
minXyvalue = :weight[(dt << get rows where(:height==minX))[1]];
maxY = col max(:weight);
maxYxvalue = :Height[(dt << get rows where(:weight==maxY))[1]];
minY = col min(:weight);
minYxvalue = :Height[(dt << get rows where(:weight==minY))[1]];
polygon((maxX||minX||minYxvalue||maxYxvalue)`, (maxXyvalue || minXyvalue || minY ||maxY)` );
);
