DFY 진행자

우리가 이전에 수업했던 당택생, 리가 쓴, 숫자 미분법 생성 직선, 점별 비교법 보간 호, 각도 DDA 법 생성 호와 같은 일반적인 직선과 호 알고리즘이 있는 책 한 권을 추천합니다.,,,,,,,,,,,,,,,,,,,,,, 。 기본적으로 C 언어에는 소스 프로그램이 있습니다. 이 책을 검색해 볼 수 있는데, 원래 소스 프로그램이 있었는데, 나중에 삭제했어요 ~ ~

남의 것을 붙이다.

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

함수: int ArcXY(double dfx0, double dfy0, double dfrx,

Double dfry, int angle);

설명: X-Y 축으로 형성된 평면에서 현재 위치에서 원형 모션으로 손가락을 통과합니다.

참조점을 표적점으로 설정합니다. 이 함수를 성공적으로 호출하면 모션 명령의 스톡 수가 늘어납니다.

매개변수: dfx0 및 dfy0 참조점의 X-Y 좌표 값입니다.

Dfrx, dfry 중심의 X-Y 좌표 값입니다.

각도 보간 각도

발신자 id: 없음

반환 값: 0 보다 크거나 같음은 이 모션 명령의 인코딩을 제공합니다.

0 보다 작으면 실패합니다. 반환 값의 의미에 대해서는 오류 메시지 코드를 참조하십시오.

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

# include & ltstdio.h & gt

# include & ltmath.h & gt

Int ArcXY(double dfx0, double dfy0, double dfrx, double dfry, intangle);

Int 기호 (이중 숫자);

주 ()

{

Arcxy (0,0,-3,5,360);

Getch ();

}

Int ArcXY(double dfx0, double dfy0, double dfrx, double dfry, int angle)

{

파일 * f1;

Double I, j, dx, dy, DFR, x, y, ang, step, f = 0.01;

Int flag, tempx, tempy, statex, statey, direction =1;

Dfr = sqrt ((dfrx-dfx0) * (dfrx-dfx0)+(dfry-dfy0) * (dfry-dfy0));

If(dfx0 == 0)

{

Dfx0 =1;

Dfrx = dfrx+1;

Statex =1;

}

If(dfy0 == 0)

{

Dfy0 =1;

Dfry = dfry+1;

Statey =1;

}

Dfrx = 2 * dfx 0-dfrx;;

I = dfx 0-dfrx;;

J = dfy0-dfry;

X = dfx0

Y = dfy0

Step = ang =180 * 2 * asin (f/(2 * DFR))/3.14/kloc-0

If ((dfx0 > 0) & & amp (dfy0 & gt0) | | ((dfx0 < 0) & & amp(dfy0 & lt0)))

{

깃발 = 방향

}

If ((dfx0 < 0) & & amp (dfy0 & gt0) | | ((dfx0 > 0) & & amp(dfy0 & lt0)))

{

Flag =- 방향;

}

F 1=fopen("c:\\c.txt ","w+");

If(statex == 1)

{

X = x-1;

}

If (상태 = =1)

{

Y = y-1;

}

Fprintf(f 1, "%f,", x);

Fprintf(f 1, "%f\n", y);

그리고 (ang< 각도)

{

Dx = f * (j+flag * (f * I)/(2 * DFR))/DFR;

Dy = f * (I-flag * (f * j)/(2 * DFR))/DFR;

Tempx = symbol (x);

Tempy = 기호 (y);

X = x+dx; :

Y = y+dy;;

Fprintf(f 1, "%f,", x);

Fprintf(f 1, "%f\n", y);

만약 (tempx! = 기호 (x)) | | (tempy! = 기호 (y)))

{

Flag =-flag;;

}

I = I-dx;;

J = j+dy;;

Ang = ang+step;;

}

0 을 반환합니다

}

Int 기호 (이중 숫자)

{

If (번호 및 gt; 0)

{

1;

}

기타

{

리턴-1;

}

}

Int ArcXY(double dfx0, double dfy0, double dfrx, double dfry, intangle); 이것은 하위 기능입니다. 너는 필요한 곳의 매개변수에 주의를 기울여 자신의 필요에 따라 수정해야 한다. 반환 값을 추가하여 원하는 부분으로 돌아가거나 매개변수를 추가하여 참조를 통해 얻을 수 있습니다. 직선에는 간단한 DDA 알고리즘이 있는데, 필요할 경우 내일 전화할 수 있다. 오늘은 좀 늦었어요.

上篇: 4월 1일 바오딩 초중등학생을 대상으로 한 화재 안전 온라인 공개강좌 다시보기는 어디서 볼 수 있나요? 下篇: 모자를 영어로 발음하는 방법
관련 내용