For 루프를 사용하여 사각형 그리드 생성하기안녕하세요,
새 창에서 24x2 사각형의 배열을 만들려고합니다. 나는 수동으로 그래프 상자에 대한 JSL 명령을 사용하여 이러한 만들 수 있지만 훨씬 빨리 될 것입니다 for 루프를 사용하여 수행 할 수 있음을 알고 있습니다. 이제는 직사각형이 2 차원 만 있으면되고, 구현하려고 시도한 다음 코드는 다음과 같습니다.
y1 = 5;
y2 = 10;
win = New Window("Spine",
gb = Graph Box(
Frame Size(1000,1000),
)
);
For(i = 0, i<24, i++,
Rect(5,y1,10,y2);
y1 = y2+1;
y2 = y1+5;
gb<<reshow;
);그러나 그것은 작동하지도 않고 어떤 오류도 던지지 않는 것처럼 보입니다. 어떤 도움을 주셔서 감사합니다.
제목 : Re : For 루프를 사용하여 사각형 그리드 만들기필자의 예에서는 점의 수를 항상 같게하려고했지만 부동 소수점 반올림 오류로 인해이 코드가 작성되었습니다.
for(y=y0,y<=y1,y+=(y1-y0)/16
때로는 16 대 17 단계를 생성합니다. 이를 작성하는 더 좋은 방법은 다음과 같습니다.
nsteps = 16;
for( iy = 0, iy <= nsteps, iy += 1,
y = y0 + iy * (y1 - y0) / nsteps;
당신은 쉽게 루프를 수정하여 모서리 점을 복사하지 않고 (triplicating?) ... for (iy = 1, iy 제목 : Re : For 루프를 사용하여 사각형 그리드 만들기
시원한
제목 : Re : For 루프를 사용하여 사각형 그리드 만들기OpenGL을 배우지 않고 3D 큐브를 만드는 방법은 너무 많지 않아도됩니다. 포인트가있는 윤곽선을 실제로 플롯하기 때문에 점의 수는 꽤 빨리 빠져 나와 너무 느려질 수 있습니다. 이 예제는 12K 포인트를 사용하지만 여전히 잘 수행됩니다.
큐브의 3D 매트릭스
// make cube outlines using scatter plot points
dt = New Table( "cubes", New Column( "xx" ), New Column( "yy" ), New Column( "zz" ) );
make cube = function({dt,x0,x1,y0,y1,z0,z1},{x,y,z},
if(x1<X0></X0>제목 : Re : For 루프를 사용하여 사각형 그리드 만들기나는 JMP에 대한 OpenGL 액세스에 익숙하지 않아서 그래픽 환경이 얼마나 많은지에 대한 질문에 대답 할 수 없다.
다른 문제와 관련하여 JMP와 함께 배포되는 샘플 스크립트를 소개합니다.이 샘플 스크립트는 3D 장면을 사용하여 전 세계 3D 기능을 사용하는 방법을 보여줍니다. 특히 MatrixRotation 및 PatchEditor 스크립트를 살펴 보도록하겠습니다.이 스크립트에서는 무엇을 그렸는지 탐지하고 해당 객체를 조작 할 수 있도록 피드백 루프가 있습니다.
샘플에 액세스하려면 다음으로 이동하십시오.
도움말 ==> 샘플 데이터
그런 다음 열리는 창에서 "샘플 스크립트 디렉토리 열기"를 선택하십시오.
제목 : Re : For 루프를 사용하여 사각형 그리드 만들기감사! 완벽하게 작동합니다. 매트릭스로 사각형을 만드는 데 사용 된 점을 검색 할 수있는 방법이 있습니까? JSL의 OpenGL 구현을 사용하여이 아이디어를 3 차원으로 확장하는 간단한 방법이 있습니까?
제목 : Re : For 루프를 사용하여 사각형 그리드 만들기그래프 상자 ()는 동적이며 코드와 결합 될 때마다 화면을 새로 고침 할 때마다 y 값의 크기가 커집니다. 문제 해결을위한 아래의 코드를 참조하십시오.
Names Default To Here( 1 );
win = New Window( "Spine",
gb = Graph Box(
Frame Size( 1000, 1000 ),
Y Scale( 0, 500 ),
X Scale( 0, 500 ),
For( i = 1, i < 25, i++,
If( i == 1,
y1 = 5;
y2 = 0;
);
Rect( 45, y1, 50, y2 );
Rect( 50, y1, 55, y2 );
y2 = y1 + 1;
y1 = y1 + 6;
)
)
);제목 : Re : For 루프를 사용하여 사각형 그리드 만들기감사! 지금까지는 다소 효과가 있지만 y = 5 및 y = 0 대신 y ~ 125 위치에 직사각형을 배치했습니다. 왜 이런 생각일지도 모릅니다.
Names Default to Here(1);
y1 = 5;
y2 = 0;
win = New Window("Spine",
gb = Graph Box(
Frame Size(1000,1000),
Y Scale(0,500),
X Scale(0,500),
For(i=1,i<25,i++,
Rect(45,y1,50,y2);
Rect(50,y1,55,y2);
y2 = y1+1;
y1 = y1+6;
);
)
);제목 : Re : For 루프를 사용하여 사각형 그리드 만들기몇 가지 문제가 있습니다.
1. 코드의 "rect"는 그래프 상자 () 외부에 있으므로 사각형을 적용 할 위치를 알지 못합니다.
2. X 및 Y 축 사양이 그래프 상자 ()의 범위를 벗어납니다.
시작에 도움이되는 시작 코드가 있습니다.
Names Default To Here( 1 );
y1 = 5;
y2 = 10;
win = New Window( "Spine",
gb = Graph Box(
Frame Size( 1000, 1000 ),
For( i = 0, i < 5, i++,
Rect( 5,y1, 10,y2);
y1 = y2 + 1;
y2 = y1 + 5;
);
)
);