|
다른 홈페이지에 질문을 올렸었는데 답장이 없어 여기에 다시 올렸는데 다른 곳에서 보신분에게는 정말 죄송합니다.
안녕하세요 빌더 동호인 여러분!!! 다음의 내용에 대해서 고수님들의 답변을 부탁드립니다.
- 다 음 -
for loop를 일정시간(t) 까지 돌리면 3종류의 변수값(아래 예에서 x, y, z)이 계속 update되는 프로그램입니다.
canvas에서 그래프 3개를 그리고자 하는데 가로축은 t로 하고 세로축은 x, y,z값을 각 그래프에 따로 그리고자 합니다. 그런데 다음과 같이 했더니....
// 그래프 박스 생성
Canvas->Rectangle(xo1,yo1,xo1+xlength,yo1+ylength);/*cyl.1 */
xwin1=xo1;
ywin1=yo1+ylength;
Canvas->MoveTo(xwin1,ywin1);
Canvas->Rectangle(xo3,yo3,xo3+xlength,yo3+ylength); /*cyl.2*/
xwin3=xo3;
ywin3=yo3+ylength;
Canvas->MoveTo(xwin3,ywin3);
Canvas->Rectangle(xo5,yo5,xo5+xlength,yo5+ylength); /*pressure*/
xwin5=xo5;
ywin1=yo5+ylength;
Canvas->MoveTo(xwin5,ywin5);
for(t=0; ; )
{ // Code for graph
/*******1. graph 1(x값) ***************/
t=tzeit*xlength/60; //300pixcel=60sec
Canvas->Pen->Color=clRed;
Canvas->Pen->Style=psSolid;
xwin1=xo1+int(x);
ywin1=yo1+ylength-int( (VDisplA1-starta1)
*LspanA/LVspaA*200./100. );//100mm=200pixcel
Canvas->LineTo(xwin1,ywin1);
/*******2. graph 2(y값) ***************/
t=tzeit*xlength/60; //300pixcel=60sec
Canvas->Pen->Color=clBlue;
Canvas->Pen->Style=psSolid;
xwin3=xo3+int(x);
ywin3=yo3+ylength-int( (VDisplA2-starta2)
*LspanA/LVspaA*200./100. );
Canvas->LineTo(xwin3,ywin3);
/*******3. graph 3(z값) ***************/
t=tzeit*xlength/60; //300pixcel=60sec
Canvas->Pen->Color=clBlue;
Canvas->Pen->Style=psSolid;
xwin5=xo5+int(x);
ywin5=yo5+ylength-int( PspanH/PAspaH*(VDruck-startp)
*200./2000. );
Canvas->LineTo(xwin5,ywin5);
}
그래프 3개를 그리는게 아니라 데이타가 섞여서 나오는 것 같습니다.(위 코드의 논리를 보면 당연히 그렇게 되는 것 같군요).
따라서 크드를 위와 같이 나열할 것이 아니라 3개의 데이타(x, y,z)가 분리되어 그래프로 나타내야 될 것 같은데 잘 모르겠습니다.
조언 좀 부탁드립니다. 감사합니다
|