C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[59259] 코드해석좀 부탁해요^^
서경우 [tjzard] 1168 읽음    2009-11-29 00:43
단진자 프로그램인데요 실행하면 단진자가 왓다갔다 하는건데 함수 와 그 안에 라인 각부분 모두 주석좀 달아 주실수있나요??
일부 달려 있는데 이해하기 턱없이 부족해서... 다음주까지 월요일까지 공부를 해야되는데..
간단하게 라도 달아주시면 고맙겠습니다..
아 참고로 플래시 액션이예요 -_-;;
근데 복잡해서 프로그램 잘하시는 분들 잘해석할수 있을 꺼라 생각해서 올렸어요..^^




dampingSlider.label.text = "mg";
function setStatic()
{
    time = 0;
    gtime = 0;
    angle = 0;
    ball.w = 0;
    positionBall();
    calcAllAndMove();
    isRunning = false;
    stop();///초기상태(스탑버튼릴리즈) 일때 스탑
   
    pivot1._x = xc;
    pivot1._y = yc;
} // End of the function
function positionLine(tag, x1, y1, x2, y2)
{
    var lent = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
    var dir = Math.atan2(y1 - y2, x1 - x2);
    setProperty("line" + tag, _xscale, lent);
    setProperty("line" + tag, _rotation, 180 * dir / 3.141593E+000);
    setProperty("line" + tag, _x, (x1 + x2) / 2);
    setProperty("line" + tag, _y, (y1 + y2) / 2);
} // End of the function
function positionBall()
{
    ball._x = xc + len / dl * Math.sin(angle);
    ball._y = yc + len / dl * Math.cos(angle);
} // End of the function

function calcAllAndMove()
{
    damping = dampingSlider.level;
    gravity = mass * g;
    tension = gravity * Math.cos(angle);
    registforce = -damping * len * ball.w;
    force = registforce - gravity * Math.sin(angle);
    if (ball.drag == 0)
    {
        ball.w = ball.w + force / len / mass * dt;
        angle = angle + ball.w * dt;
    } // end if
    positionBall();
    positionLine(1, xc, yc, ball._x, ball._y);
    if (isDrawForce)
    {
        positionArrow(1, ball._x + sArrow * force * Math.cos(angle), ball._y - sArrow * force * Math.sin(angle), ball._x, ball._y);
        positionArrow(2, ball._x - sArrow * tension * Math.sin(angle), ball._y - sArrow * tension * Math.cos(angle), ball._x, ball._y);
        positionArrow(3, ball._x, ball._y + sArrow * gravity, ball._x, ball._y);
        positionArrow(4, ball._x + sArrow * registforce * Math.cos(angle), ball._y - sArrow * registforce * Math.sin(angle), ball._x, ball._y);
       
    } // end if
    timevalue.value = "시간 = " + Math.floor(gtime * dt * 100) / 100 + " sec";
    anglevalue.value = "각도 = " + Math.floor(angle * 180 / 3.141593E+000 * 10) / 10 + " 도";
    lenvalue.value = "길이 = " + len/3 + " m";
   
 
} // End of the function
function eraseAllArrow()
{
    for (i = 1; i <= 4; i++)
    {
        positionArrow(i, -200, -200, -200, -300, 100);
    } // end of for
} // End of the function
damping = 0;
sArrow = 12;
mass = 0.5;  //힘표시 길이
g = 9.800000E+000;
dt = 1.000000E-001;
dl = 1.000000E-002;
xc = 215;
yc = 15;
len = 3; // 줄길이
//isDrawForce = true;


isRunning = true;
duplicateMovieClip(_root.myBall, "ball", 2000);
duplicateMovieClip(_root.myLine, "line1", 100);
duplicateMovieClip(_root.pivot, "pivot1", 101);
/*markerIndex = 0;
for (i = 0; i < 30; i++)
{
    duplicateMovieClip(_root.marker, "marker" + i, 1 + i);
} // end of for*/
setStatic();
ball.w = 2;

+ -

관련 글 리스트
59259 코드해석좀 부탁해요^^ 서경우 1168 2009/11/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.