|
이원 님이 쓰신 글 :
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
: TLineSeries* compSeries = new TLineSeries(this);
: compSeries->ParentChart = Chart1; // ParentChart 이부분 정확히 무슨의미???????
그냥 그대로 해석하면 되겟죠
Form에 컴포넌트(TEdit) 한 올려놓으면 그 컴포넌트의 상위는 Form이 되겠죠?
그러니까 위에서 라인시리즈를 생성했으면 그것의 부모가 Chart1이라는 것을 알려주는 것입니다.
:
: double i, j;
: float pi;
: for(i=0;i<361;i++)
: pi = 3.14159265;
: j=i*pi/180;
:
: compSeries->Add(sin(j), "", clRed);
:
: 이렇게 했는데 실행해보니 sin곡선이 안되네요 ㅠㅠ
:
: 한가지 더 그래프를 오른쪽으로 움직일려면 어떻게 하는지 조언점 부탁드립니다.
sin() 곳선을 만들려면 우선 sin에 대해서 알야야 겠죠?
sin()은 math.h 에 정의되 있고요 당연히
#include <math.h> // <-- 해야 되겠죠?
//그리고 Y = A * sin(BX + C) // A,B,C 는 상수 ,,,, 변수 : X
double X,Y;
double A = 1, B = 2, C= 3;
for (int i = 0 ; i < 360 ; i++){
X = (float)i; // 형을 맞추기 위해서...
Y = A * sin( B * ( X * M_PI / 180) + C); // A(진폭), B(주기관련), C(위치변환)
// 위에서 했듯이 <도> 단위를 <라디안>으로 바꾸기 위해서....
// M_PI -> math.h 에 정의 3.14159265.....아마 atan(1) 이던가.. 잘 기억이 안나네요;;;;
Series1->AddXY(X,Y,"",(TColor)clTeeColor); // TColor은 경고를 피하기 위함...
}
위와 같이 해보시고요
sin함수 한번 찾아보세요. 쉽게 설명 나온곳 많을 겁니다...^^
그래프를 오른쪽으로 움직이려고 한다면... 당연히 위 함수에서 C에 관련이 있겠죠....
C 값을 변형시켜 보세요...^^
|