ACTIONSCRIPT™ 3.0 프로그래밍

Size: px
Start display at page:

Download "ACTIONSCRIPT™ 3.0 프로그래밍"

Transcription

1 제 14 장 드로잉 API 사용 14 가져온이미지및아트웍도중요하지만드로잉 API 기능을사용하면 ActionScript 에서선과도형을그릴수있으므로컴퓨터에서빈캔바스처럼응용프로그램을시작하여원하는이미지를만들수있습니다. 그래픽을직접작성할수있는기능은응용프로그램의무한한가능성을열어줍니다. 이장에서다루는기술을통해드로잉프로그램을생성하거나움직이는대화형아트를만들고사용자인터페이스요소를프로그래밍방식으로작성할수있습니다. 목차 드로잉 API 사용의기초 Graphics 클래스이해 선및곡선그리기 내장메서드를사용하여모양그리기 그래디언트선및채우기만들기 드로잉메서드와 Math 클래스사용 드로잉 API를사용한애니메이션 예제 : Algorithmic Visual Generator

2 드로잉 API 사용의기초 드로잉 API 사용소개 드로잉 API는 ActionScript를사용하여벡터그래픽 ( 선, 곡선, 모양, 채우기, 그래디언트 ) 을만들고화면에이를표시하는 ActionScript 내장기능의이름입니다. flash.display.graphics 클래스가이기능을제공합니다. 이러한각클래스에정의된 graphics 속성을사용하여 Shape, Sprite 또는 MovieClip 인스턴스에서 ActionScript로그림을그릴수있습니다. 이러한각클래스의 graphics 속성은실제로 Graphics 클래스의인스턴스입니다. 코드를사용한드로잉에이제막입문한사용자를위해 Graphics 클래스에는원, 타원, 사각형, 모서리가둥근사각형과같은일반도형을쉽게그릴수있는몇가지메서드가포함되어있습니다. 이러한도형은빈선또는채워진모양으로그릴수있습니다. 고급기능을필요로하는사용자를위해 Graphics 클래스에는선과이차베지어곡선을그릴수있는메서드도포함되어있습니다. 이러한메서드는 Math 클래스의삼각함수와함께사용하여필요한도형을만들수있습니다. 일반적인드로잉 API 작업 다음은 ActionScript에서드로잉 API를사용하여수행할수있는작업들로, 이장에서설명하는내용이기도합니다. 모양그리기를위한선스타일및채우기스타일정의 직선및곡선그리기 원, 타원, 사각형등의모양을그리기위한메서드사용 그래디언트선및채우기를사용하여그리기 그래디언트생성을위한행렬정의 드로잉 API에서삼각함수사용 드로잉 API를애니메이션으로통합 중요한개념및용어 다음참조목록에는이장에사용된중요한용어가포함되어있습니다. 앵커포인트 : 이차베지어곡선두끝점중하나입니다. 제어포인트 : 이차베지어곡선의방향및굴곡정도를정의하는포인트입니다. 곡선이제어포인트에닿지는않지만제어포인트를향하는곡선이그려집니다. 좌표공간 : 표시객체에포함된좌표의그래프이며해당객체의자식요소가배치됩니다. 채우기 : 색상선으로그린모양에서단색의내부또는외곽선이없는모양전체를말합니다. 422 드로잉 API 사용

3 그래디언트 : 한가지색상에서하나이상의다른색상으로점진적으로변하는색상입니다 ( 단색의반대 ). 점 : 좌표공간에서의한위치를나타냅니다. ActionScript에사용되는 2차원좌표계에서는 x축과 y축 ( 점의좌표 ) 위의해당위치로점이정의됩니다. 이차베지어곡선 : 특정수학공식으로정의된곡선유형입니다. 이유형의곡선에서곡선의모양은앵커포인트의위치 ( 곡선의두끝점 ) 와곡선의방향및굴곡정도를정의하는제어포인트를기준으로계산됩니다. 배율 : 객체의원래크기에비례한크기를나타냅니다. 동사로 크기조정 이라고도하는데, 이경우에는객체를늘리거나줄여크기를조절한다는의미를갖습니다. 획 : 색상선으로그린모양에서외곽선부분또는채워지지않은모양의선입니다. 평행이동 : 한좌표공간에서다른좌표공간으로점의좌표를변경합니다. X 축 : ActionScript 에서사용하는 2D 좌표계의수평축입니다. Y 축 : ActionScript 에서사용하는 2D 좌표계의수직축입니다. 이장의예제를사용하여작업 장의내용을따라작업하면서예제코드샘플을직접테스트할수있습니다. 이장은시각적내용그리기를다루므로, 코드샘플을테스트하려면코드를실행한후생성된 SWF의결과를확인해야합니다. 코드샘플을테스트하려면 : 1. 빈 Flash 문서를만듭니다. 2. 타임라인에서키프레임을선택합니다. 3. [ 액션 ] 패널을열고 [ 스크립트 ] 창에코드샘플을복사합니다. 4. [ 컨트롤 ] > [ 무비테스트 ] 를사용하여프로그램을실행합니다. 생성된 SWF 파일에서코드샘플의결과를확인합니다. Graphics 클래스이해 각 Shape, Sprite 및 MovieClip 객체에는 Graphics 클래스의인스턴스인 graphics 속성이있습니다. Graphics 클래스에는선, 채우기및모양을그리기위한메서드와속성이포함됩니다. 내용을그리기위한캔바스로만표시객체를사용하려는경우에는 Shape 인스턴스를사용할수있습니다. Shape 인스턴스는 Sprite 및 MovieClip 클래스의추가기능에대한오버헤드가없으므로다른그리기용표시객체보다성능이뛰어납니다. 그래픽내용을그릴수있는표시객체가필요하고이표시객체가다른표시객체를포함하도록하려는경우에는 Sprite 인스턴스를사용할수있습니다. 다양한작업에사용할표시객체를결정하는자세한방법은 370 페이지의 DisplayObject 하위클래스선택 을참조하십시오. Graphics 클래스이해 423

4 선및곡선그리기 Graphics 인스턴스를사용하여수행되는모든드로잉은선및곡선이있는기본드로잉을기반으로합니다. 따라서모든 ActionScript 드로잉은다음의동일한단계들을통해수행되어야합니다. 선및채우기스타일정의 초기드로잉위치설정 선, 곡선및모양그리기 ( 선택적으로드로잉포인트이동 ) 채우기생성완료 ( 필요한경우 ) 선및채우기스타일정의 Shape, Sprite 또는 MovieClip 인스턴스의 graphics 속성을사용하여그리려면드로잉에사용할스타일 ( 선크기및색상, 채우기색상 ) 을먼저정의해야합니다. Adobe Flash CS3 Professional 또는다른드로잉응용프로그램의드로잉도구를사용할때와마찬가지로, ActionScript를사용하여그릴때는획이나채우기색상을사용할수도있고사용하지않을수도있습니다. 획모양은 linestyle() 또는 linegradientstyle() 메서드를사용하여지정하고, 실선을만들려면 linestyle() 메서드를사용합니다. 이메서드를호출할때가장일반적으로지정하는값은처음 3개의매개변수인선두께, 색상및알파입니다. 예를들어, 다음코드행은 myshape라는 Shape가 2픽셀두께, 빨강 (0x990000) 및불투명도 75% 의선을그리도록지시합니다. myshape.graphics.linestyle(2, 0x990000,.75); 알파매개변수의기본값은 1.0(100%) 이며, 완전히불투명한선을원하는경우이매개변수를해제할수있습니다. linestyle() 메서드는또한픽셀힌트및크기조절모드를위한두개의추가매개변수를사용합니다. 이러한매개변수사용에대한자세한내용은 ActionScript 3.0 언어및구성요소참조설명서에서 Graphics.lineStyle() 메서드에대한설명을참조하십시오. 그래디언트선을만들려면 linegradientstyle() 메서드를사용합니다. 이방법에대해서는 428페이지의 그래디언트선및채우기만들기 에설명되어있습니다. 채워진모양을만들려면드로잉을시작하기전에 beginfill(), begingradientfill() 또는 beginbitmapfill() 메서드를호출하십시오. 그중에서가장기본적인 beginfill() 메서드는채우기색상과채우기색상에대한알파값 ( 옵션 ) 이라는두개의매개변수를사용합니다. 예를들어, 녹색으로채워진모양을그리는경우다음과같은코드를사용할수있습니다 (myshape라는객체에서그린다고가정 ). myshape.graphics.beginfill(0x00ff00); 424 드로잉 API 사용

5 채우기메서드를호출하면이전의모든채우기가암시적으로종료된후새메서드가시작됩니다. 획스타일을지정하는메서드를호출하면이전획이대체되지만, 이전에지정한채우기는바뀌지않으며그반대의경우도마찬가지입니다. 선스타일및채우기속성을지정했으면다음단계는드로잉시작점을지정하는것입니다. Graphics 인스턴스에는종이위의펜촉과같은드로잉포인트가있습니다. 드로잉포인트가있는위치가다음드로잉액션이시작되는지점이됩니다. 처음에 Graphics 객체는드로잉포인트 0에서시작하는데,0은드로잉이수행되는객체의좌표공간에서의시작점입니다. 다른포인트에서그리기를시작하려면 moveto() 메서드를먼저호출한다음드로잉메서드중하나를호출하십시오. 이과정은종이에서펜을들어다른위치로옮기는것에견줄수있습니다. 드로잉포인트를지정했으면드로잉메서드인 lineto()( 직선그리기용 ) 및 curveto()( 곡선그리기용 ) 를연속적으로호출하여그리기를수행하십시오. 참고 그리는동안언제든지 moveto() 메서드를호출하여드로잉포인트를다른새로운위치로이동할수있습니다. 그리기단계에서채움색상을지정한경우, endfill() 메서드를호출하여해당채우기를종료하도록 Adobe Flash Player 에지시할수있습니다. 닫힌모양그리기가아닌경우 ( 즉 endfill() 을호출했을때드로잉포인트가모양의시작점에있지않은경우 ), endfill() 메서드를호출하면 Flash Player 가현재드로잉포인트에서가장최근의 moveto() 호출에지정된위치까지직선을그려모양을자동으로닫습니다. 채우기를시작했는데 endfill() 을호출하지않은경우, beginfill()( 또는다른채우기메서드중하나 ) 을호출하면현재채우기가종료되고새로운채우기가시작됩니다. 직선그리기 lineto() 메서드를호출하면 Graphics 객체는현재드로잉포인트에서메서드호출에서두개의매개변수로지정한좌표까지지정한선스타일을사용하여직선을그립니다. 예를들어, 다음코드행은드로잉포인트를 100, 100 좌표에두고 200, 200 좌표까지선을그립니다. myshape.graphics.moveto(100, 100); myshape.graphics.lineto(200, 200); 다음예제에서는높이가 100픽셀인빨강과녹색삼각형을그립니다. var triangleheight:uint = 100; var triangle:shape = new Shape(); // 0, 0 좌표에서시작하는빨강삼각형 triangle.graphics.beginfill(0xff0000); triangle.graphics.moveto(triangleheight/2, 0); triangle.graphics.lineto(triangleheight, triangleheight); triangle.graphics.lineto(0, triangleheight); triangle.graphics.lineto(triangleheight/2, 0); 선및곡선그리기 425

6 // 200, 0 좌표에서시작하는녹색삼각형 triangle.graphics.beginfill(0x00ff00); triangle.graphics.moveto(200 + triangleheight/2, 0); triangle.graphics.lineto(200 + triangleheight, triangleheight); triangle.graphics.lineto(200, triangleheight); triangle.graphics.lineto(200 + triangleheight/2, 0); this.addchild(triangle); 곡선그리기 curveto() 메서드는이차베지어곡선을그립니다. 이곡선은두개의포인트 ( 앵커포인트 ) 를연결하는호를그리며이호는세번째포인트 ( 제어포인트 ) 방향으로구부러집니다. Graphics 객체는현재드로잉위치를첫번째앵커포인트로사용합니다. curveto() 메서드를호출하면 4개의매개변수 ( 제어포인트의 x, y 좌표와두번째앵커포인트의 x, y 좌표 ) 가전달됩니다. 예를들어, 다음코드는 100, 100 포인트에서시작하여 200, 200 포인트에서끝나는곡선을그립니다. 제어포인트가 175, 125이므로오른쪽으로이동하여아래로향하는곡선이만들어집니다. myshape.graphics.moveto(100, 100); myshape.graphics.curveto(175, 125, 200, 200); 다음예제에서는폭및높이가 100픽셀인빨강과녹색원형객체를그립니다. 이차베지어수식의특성상완벽한원이되지는않습니다. var size:uint = 100; var roundobject:shape = new Shape(); // 빨강원모양 roundobject.graphics.beginfill(0xff0000); roundobject.graphics.moveto(size / 2, 0); roundobject.graphics.curveto(size, 0, size, size / 2); roundobject.graphics.curveto(size, size, size / 2, size); roundobject.graphics.curveto(0, size, 0, size / 2); roundobject.graphics.curveto(0, 0, size / 2, 0); // 녹색원모양 roundobject.graphics.beginfill(0x00ff00); roundobject.graphics.moveto(200 + size / 2, 0); roundobject.graphics.curveto(200 + size, 0, size, size / 2); roundobject.graphics.curveto(200 + size, size, size / 2, size); roundobject.graphics.curveto(200, size, 200, size / 2); roundobject.graphics.curveto(200, 0, size / 2, 0); this.addchild(roundobject); 426 드로잉 API 사용

7 내장메서드를사용하여모양그리기 ActionScript 3.0에는원, 타원, 사각형, 모서리가둥근사각형등의일반모양을쉽게그릴수있는몇가지메서드가포함되어있습니다. Graphics 클래스의 drawcircle(), drawellipse(), drawrect(), drawroundrect() 및 drawroundrectcomplex() 메서드가이에해당합니다. 이러한메서드는 lineto() 및 curveto() 메서드대신사용할수있습니다. 하지만이러한메서드를호출하기전에선및채우기스타일도지정해야합니다. 다음예제에서는폭과너비가 100픽셀인빨강, 녹색및파랑사각형을그리는예제를다시구성한것입니다. 다음코드는 drawrect() 메서드를사용하고채우기색상의알파를 50%(0.5) 로지정합니다. var squaresize:uint = 100; var square:shape = new Shape(); square.graphics.beginfill(0xff0000, 0.5); square.graphics.drawrect(0, 0, squaresize, squaresize); square.graphics.beginfill(0x00ff00, 0.5); square.graphics.drawrect(200, 0, squaresize, squaresize); square.graphics.beginfill(0x0000ff, 0.5); square.graphics.drawrect(400, 0, squaresize, squaresize); square.graphics.endfill(); this.addchild(square); Sprite 또는 MovieClip 객체에서 graphics 속성으로만든드로잉내용은항상해당객체에포함된모든자식표시객체의뒤에나타납니다. 또한 graphics 속성내용은별도의표시객체가아니므로 Sprite 또는 MovieClip 객체의자식목록에나타나지않습니다. 예를들어다음 Sprite 객체는 graphics 속성을사용하여그린원으로, 해당자식표시객체목록에 TextField 객체가있습니다. var mysprite:sprite = new Sprite(); mysprite.graphics.beginfill(0xffcc00); mysprite.graphics.drawcircle(30, 30, 30); var label:textfield = new TextField(); label.width = 200; label.text = "They call me mellow yellow..."; label.x = 20; label.y = 20; mysprite.addchild(label); this.addchild(mysprite); TextField 는 graphics 객체로그린원형의위쪽에표시됩니다. 내장메서드를사용하여모양그리기 427

8 그래디언트선및채우기만들기 graphics 객체는또한단색보다그래디언트를사용하여획및채우기를그릴수있습니다. 그래디언트획은 linegradientstyle() 메서드를사용하여만들고, 그래디언트채우기는 begingradientfill() 메서드를사용하여만듭니다. 두메서드모두동일한매개변수를사용합니다. 처음 4개의매개변수인유형, 색상, 알파, 비율은필수항목입니다. 나머지 4개의매개변수는선택사항이지만고급사용자정의시유용합니다. 첫번째매개변수는만들려는그래디언트유형을지정하며사용할수있는값은 GradientFill.LINEAR 또는 GradientFill.RADIAL입니다. 두번째매개변수는사용할색상값의배열을지정합니다. 선형그래디언트에서는색상이왼쪽에서오른쪽으로배열되고방사형그래디언트에서는안쪽에서바깥쪽으로배열됩니다. 배열색상의순서는그래디언트에서색상이그려지는순서를나타냅니다. 세번째매개변수는이전매개변수의해당색상에대한알파투명도값을지정합니다. 네번째매개변수는비율, 즉각색상이그래디언트에서가지는강도를지정합니다. 사용할수있는값은 0에서 255까지입니다. 이러한값은폭이나높이를나타내는것이아니라그래디언트에서의위치를나타냅니다. 즉, 0은그래디언트의처음을나타내고 255 는그래디언트의끝을나타냅니다. 비율의배열은순차적으로증가해야하며두번째및세번째매개변수에지정된색상및알파배열과동일한항목수를가져야합니다. 다섯번째매개변수인변형행렬은선택사항이지만간단한방법으로그래디언트의모양을효율적으로제어할수있으므로흔히사용됩니다. 이매개변수는 Matrix 인스턴스를사용합니다. 그래디언트에대한 Matrix 객체를만드는가장쉬운방법은 Matrix 클래스의 creategradientbox() 메서드를사용하는것입니다. 그래디언트에사용할 Matrix 객체정의 flash.display.graphics 클래스의 begingradientfill() 및 linegradientstyle() 메서드를사용하면모양에사용할그래디언트를정의할수있습니다. 그래디언트를정의하는경우행렬을이러한메서드의매개변수중하나로제공합니다. 행렬을정의하는가장쉬운방법은 Matrix 클래스의 creategradientbox() 메서드를사용하여그래디언트정의에사용되는행렬을만드는것입니다. creategradientbox() 메서드에전달되는매개변수를사용하여그래디언트의크기, 회전및위치를정의합니다. creategradientbox() 메서드는다음과같은매개변수를사용합니다. 그래디언트상자폭 : 그래디언트가펼쳐지는폭 ( 단위 : 픽셀 ) 그래디언트상자높이 : 그래디언트가펼쳐지는높이 ( 단위 : 픽셀 ) 그래디언트상자회전 : 그래디언트에적용될회전 ( 단위 : 라디안 ) 수평이동 : 그래디언트가수평으로이동되는정도 ( 단위 : 픽셀 ) 428 드로잉 API 사용

9 수직이동 : 그래디언트가수직으로이동되는정도 ( 단위 : 픽셀 ) 예를들어다음과같은특성을갖는그래디언트를검토하십시오. GradientType.LINEAR ratios 배열이 [0, 255] 로설정된녹색과파랑의두색상 SpreadMethod.PAD InterpolationMethod.LINEAR_RGB 다음예제에서는 creategradientbox() 메서드의 rotation 매개변수만다르고다른모든설정은동일한그래디언트를보여줍니다. width = 100; height = 100; rotation = 0; tx = 0; ty = 0; width = 100; height = 100; rotation = Math.PI/4; // 45 tx = 0; ty = 0; width = 100; height = 100; rotation = Math.PI/2; // 90 tx = 0; ty = 0; 그래디언트선및채우기만들기 429

10 다음예제에서는녹색에서파란색으로바뀌는선형그래디언트효과를보여줍니다. 이때 creategradientbox() 메서드의 rotation, tx 및 ty 매개변수만다르고다른모든설정은동일합니다. width = 50; height = 100; rotation = 0; tx = 0; ty = 0; width = 50; height = 100; rotation = 0 tx = 50; ty = 0; width = 100; height = 50; rotation = Math.PI/2; // 90 tx = 0; ty = 0; width = 100; height = 50; rotation = Math.PI/2; // 90 tx = 0; ty = 50; 다음예제와같이 creategradientbox() 메서드의 width, height, tx 및 ty 매개변수는방사형그래디언트채우기의크기와위치에도영향을줍니다. width = 50; height = 100; rotation = 0; tx = 25; ty = 0; 430 드로잉 API 사용

11 다음코드는마지막에보여준방사형그래디언트를만듭니다. import flash.display.shape; import flash.display.gradienttype; import flash.geom.matrix; var type:string = GradientType.RADIAL; var colors:array = [0x00FF00, 0x000088]; var alphas:array = [1, 1]; var ratios:array = [0, 255]; var spreadmethod:string = SpreadMethod.PAD; var interp:string = InterpolationMethod.LINEAR_RGB; var focalptratio:number = 0; var matrix:matrix = new Matrix(); var boxwidth:number = 50; var boxheight:number = 100; var boxrotation:number = Math.PI/2; // 90 var tx:number = 25; var ty:number = 0; matrix.creategradientbox(boxwidth, boxheight, boxrotation, tx, ty); var square:shape = new Shape; square.graphics.begingradientfill(type, colors, alphas, ratios, matrix, spreadmethod, interp, focalptratio); square.graphics.drawrect(0, 0, 100, 100); addchild(square); 그래디언트채우기의폭과높이는 Graphics 객체로그린폭이나높이가아닌그래디언트행렬의폭과높이에따라결정됩니다. Graphics 객체를사용하여그리면그래디언트행렬의해당좌표에존재하는객체가그려집니다. Graphics 객체의 shape 메서드중하나 ( 예 : drawrect()) 를사용하더라도그려지는모양의크기까지그래디언트를확장할수는없습니다. 그래디언트의크기는그래디언트행렬자체에지정해야합니다. 다음을통해그래디언트행렬의차원과드로잉자체의차원간에존재하는시각적차이를확인할수있습니다. var myshape:shape = new Shape(); var gradientboxmatrix:matrix = new Matrix(); gradientboxmatrix.creategradientbox(100, 40, 0, 0, 0); myshape.graphics.begingradientfill(gradienttype.linear, [0xFF0000, 0x00FF00, 0x0000FF], [1, 1, 1], [0, 128, 255], gradientboxmatrix); myshape.graphics.drawrect(0, 0, 50, 40); myshape.graphics.drawrect(0, 50, 100, 40); 그래디언트선및채우기만들기 431

12 myshape.graphics.drawrect(0, 100, 150, 40); myshape.graphics.endfill(); this.addchild(myshape); 이코드는빨강, 녹색, 파랑이똑같이배분된동일한채우기스타일을사용하여세가지그래디언트를그립니다. 그래디언트는픽셀폭이각각 50, 100, 150 인 drawrect() 메서드를사용하여그려집니다. begingradientfill() 메서드에지정된그래디언트행렬은 100 픽셀의폭을사용하여만들어집니다. 즉, 첫번째그래디언트에는그래디언트스펙트럼의반만포함되고, 두번째그래디언트에는스펙트럼전체가포함되며, 세번째그래디언트에는스펙트럼전체를포함하면서추가적으로 50 픽셀의파랑이오른쪽으로확장됩니다. linegradientstyle() 메서드는그래디언트를정의하는것외에는 begingradientfill() 과유사하게동작하지만그리기전에 linestyle() 메서드를사용하여획두께를지정해야합니다. 다음코드는빨강, 녹색및파랑그래디언트획을가진상자를그립니다. var myshape:shape = new Shape(); var gradientboxmatrix:matrix = new Matrix(); gradientboxmatrix.creategradientbox(200, 40, 0, 0, 0); myshape.graphics.linestyle(5, 0); myshape.graphics.linegradientstyle(gradienttype.linear, [0xFF0000, 0x00FF00, 0x0000FF], [1, 1, 1], [0, 128, 255], gradientboxmatrix); myshape.graphics.drawrect(0, 0, 200, 40); this.addchild(myshape); Matrix 클래스에대한자세한내용은 414 페이지의 Matrix 객체사용 을참조하십시오. 드로잉메서드와 Math 클래스사용 Graphics 객체는원과사각형을그리지만특히드로잉메서드를 Math 클래스의속성및메서드와함께사용할경우보다복잡한형태를그릴수도있습니다. Math 클래스에는일반적인수학적비율을나타내는상수가포함되어있습니다. 예를들어, 원주율에대한상수인 Math.PI ( 약 ) 가이에해당합니다. 또한 Math.sin(), Math.cos() 및 Math.tan() 등의삼각함수에대한메서드도포함합니다. 이러한메서드및상수를사용하여모양을그리면특히반복또는재귀와함께사용할경우더욱동적인시각효과를만들수있습니다. Math 클래스의많은메서드는원치수를각도단위가아닌라디안단위로예상하므로, Math 클래스의일반적인용도는이두유형의단위를상호변환하는것입니다. var degrees = 121; var radians = degrees * Math.PI / 180; trace(radians) // 다음예제에서는사인파와코사인파를만들어특정한값에대한 Math.sin() 메서드와 Math.cos() 메서드의차이점을강조표시합니다. var sinwaveposition = 100; var coswaveposition = 200; var sinwavecolor:uint = 0xFF0000; 432 드로잉 API 사용

13 var coswavecolor:uint = 0x00FF00; var wavemultiplier:number = 10; var wavestretcher:number = 5; var i:uint; for(i = 1; i < stage.stagewidth; i++) { var sinposy:number = Math.sin(i / wavestretcher) * wavemultiplier; var cosposy:number = Math.cos(i / wavestretcher) * wavemultiplier; } graphics.beginfill(sinwavecolor); graphics.drawrect(i, sinwaveposition + sinposy, 2, 2); graphics.beginfill(coswavecolor); graphics.drawrect(i, coswaveposition + cosposy, 2, 2); 드로잉 API 를사용한애니메이션 드로잉 API를사용하여내용을만들면내용을한번만배치하도록제한되지않는다는장점이있습니다. 그릴때사용하는변수를유지하거나수정하여드로잉내용을수정할수있습니다. 특정프레임기간동안또는타이머를사용하여변수를변경하거나다시그림으로써애니메이션을전달할수있습니다. 예를들어, 다음코드는 Event.ENTER_FRAME 이벤트수신을통해각전달프레임으로표시를변경하고현재각도를증가시켜 graphics 객체를지우고업데이트된위치에서다시그리도록지시합니다. stage.framerate = 31; var currentdegrees:number = 0; var radius:number = 40; var satelliteradius:number = 6; var container:sprite = new Sprite(); container.x = stage.stagewidth / 2; container.y = stage.stageheight / 2; addchild(container); var satellite:shape = new Shape(); container.addchild(satellite); addeventlistener(event.enter_frame, doeveryframe); function doeveryframe(event:event):void { currentdegrees += 4; var radians:number = getradians(currentdegrees); var posx:number = Math.sin(radians) * radius; var posy:number = Math.cos(radians) * radius; 드로잉 API 를사용한애니메이션 433

14 satellite.graphics.clear(); satellite.graphics.beginfill(0); satellite.graphics.drawcircle(posx, posy, satelliteradius); } function getradians(degrees:number):number { return degrees * Math.PI / 180; } 현저히다른결과를얻기위한실험으로 currentdegrees, radius, satelliteradius 및해당코드의시작부분에있는초기난수변수를수정해볼수있습니다. 예를들어, radius 변수를감소시키거나 totalsatellites 변수를증가시켜봅니다. 다음은드로잉 API 를시각적으로표시하는방법을보여주는예제로서, 시각적으로는복잡하지만생성원리는단순합니다. 예제 : Algorithmic Visual Generator Algorithmic Visual Generator 예제에서는원궤도를따라움직이는여러가지 위성 또는원형을스테이지에동적으로그립니다. 살펴본기능은다음과같습니다. 드로잉 API 를사용하여동적모양을가진기본모양그리기 드로잉에사용된속성과사용자상호작용연결 각프레임에서스테이지를지우고다시그려서애니메이션전달이전하위섹션의예제에서는 Event.ENTER_FRAME 이벤트를사용하여단일 위성 또는애니메이션을적용했습니다. 이예제에서는이를바탕으로여러위성의시각적표시를즉시업데이트하는각종슬라이더의제어판을만듭니다. 이예제는코드를외부클래스로정형화하고위성생성코드를루프내에포함시켜각위성에대한참조를 satellites 배열에저장합니다. 이샘플에대한응용프로그램파일을구하려면 learn_programmingas3samples_flash_kr을방문하십시오. 응용프로그램파일은 Samples/ AlgorithmicVisualGenerator 폴더에있습니다. 이폴더에는다음과같은파일이있습니다. 파일 AlgorithmicVisualGenerator.fla com/example/programmingas3/ algorithmic/ AlgorithmicVisualGenerator.as 설명 Flash(FLA) 또는 Flex(MXML) 형식의기본응용프로그램파일입니다. 스테이지에대한위성을드로잉하고제어판의이벤트에응답하여위성드로잉에영향을미치는변수를업데이트하는등의기본응용프로그램기능을제공하는클래스입니다. 434 드로잉 API 사용

15 파일 com/example/programmingas3/ algorithmic/controlpanel.as com/example/programmingas3/ algorithmic/satellite.as 설명 몇개의슬라이더로사용자상호작용을관리하고상호작업발생시이벤트를전달하는클래스입니다. 중앙포인트주위를궤도로회전하는표시객체를나타내고현재드로잉상태와관련된속성을포함하는클래스입니다. 리스너설정 응용프로그램은먼저세개의리스너를만듭니다. 첫번째리스너는제어판에서전달이벤트를수신하며위성재구성이필요합니다. 두번째리스너는 SWF 파일의스테이지크기변경사항을수신합니다. 세번째리스너는 SWF 파일의각전달프레임을수신하고 doeveryframe() 함수를사용하여그리기를다시수행합니다. 위성만들기 이러한리스너가설정되면 build() 함수가호출됩니다. 이함수는먼저 clear() 함수를호출하여 satellites 배열을비우고스테이지에대한이전드로잉을모두지웁니다. 제어판이이와같은이벤트를보낼때마다 ( 예를들어색상설정이변경될때마다 ) build() 함수를다시호출할수있으므로이과정이필요합니다. 이경우위성을제거하고다시만들어야합니다. 그런다음함수는생성에필요한초기속성 ( 예 : 궤도의임의위치에서시작하는 position 변수, 이예제에서위성이생성되면변경되지않는 color 변수 ) 을설정하여위성을생성합니다. 각위성이생성되었으면해당참조가 satellites 배열에추가됩니다. doeveryframe() 함수가호출되면해당함수가이배열의모든위성에대해업데이트됩니다. 위성위치업데이트 doeveryframe() 함수는응용프로그램의애니메이션프로세스의핵심요소로서, SWF 파일의프레임속도와동일한속도로각프레임마다호출됩니다. 그리기변수는약간씩달라지므로이함수는애니메이션모양을전달합니다. 함수는먼저이전드로잉을모두지우고배경을다시그립니다. 그런다음각위성컨테이너를반복하여각위성의 position 속성을증가시키고제어판의사용자상호작용으로인해변경되었을수있는 radius 및 orbitradius 속성을업데이트합니다. 마지막으로위성은 Satellite 클래스의 draw() 메서드를호출하여새로운위치로업데이트됩니다. 카운터 i는 visiblesatellites 변수까지만증가됩니다. 제어판을통해표시되는위성의수를사용자가제한한경우루프의나머지위성은다시그려지지않고숨겨져야하기때문입니다. 이러한경우는그리기를담당하는루프바로다음의루프에서발생합니다. doeveryframe() 함수가완료되면 visiblesatellites 수가화면위치에서업데이트됩니다. 예제 : Algorithmic Visual Generator 435

16 사용자상호작용에대한응답 사용자상호작용은제어판을통해발생하며 ControlPanel 클래스에서관리합니다. 이클래스는각슬라이더의개별적인최소값, 최대값및기본값과함께리스너를설정합니다. 사용자가이러한슬라이더를이동하면 changesetting() 함수가호출되며이함수는제어판의속성을업데이트합니다. 변경사항으로인해표시를재구성해야하는경우이벤트가전달되어기본응용프로그램파일에서처리됩니다. 제어판설정이변경되면 doeveryframe() 함수는업데이트된변수를사용하여각위성을그립니다. 구체적인사용자정의 이예제는드로잉 API를사용하여시각적표시생성방법을보여주는간단한예제로서, 비교적간단한코드행을사용하여꽤복잡해보이는대화형환경을만듭니다. 하지만이예제를약간수정하여기능을추가할수있습니다. 몇가지아이디어는다음과같습니다. doeveryframe() 함수는위성의색상값을증가시킬수있습니다. doeveryframe() 함수는시간경과에따라위성반경을축소하거나확장할수있습니다. 위성반경은원형일필요가없습니다. 예를들어, Math 클래스를사용하여사인파에따라이동할수있습니다. 위성은다른위성과의히트감지를사용할수있습니다. 드로잉 API를사용하여 Flash 제작환경에서시각효과를생성함으로써런타임에기본모양을그릴수도있습니다. 하지만손으로제작할수없는다양하고넓은범위의시각효과를생성하는데도사용될수있습니다. ActionScript 제작자는드로잉 API와약간의수학기능을사용하여여러가지다양한작품에생동감을불어넣을수있습니다. 436 드로잉 API 사용

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 CHAPTER 11. 자바스크립트와캔버스로게임 만들기 캔버스 캔버스는 요소로생성 캔버스는 HTML 페이지상에서사각형태의영역 실제그림은자바스크립트를통하여코드로그려야한다. 컨텍스트객체 컨텍스트 (context) 객체 : 자바스크립트에서물감과붓의역할을한다. var canvas = document.getelementbyid("mycanvas"); var

More information

View Licenses and Services (customer)

View Licenses and Services (customer) 빠른 빠른 시작: 시작: 라이선스, 라이선스, 서비스 서비스 및 주문 주문 이력 이력 보기 보기 고객 가이드 Microsoft 비즈니스 센터의 라이선스, 서비스 및 혜택 섹션을 통해 라이선스, 온라인 서비스, 구매 기록 (주문 기록)을 볼 수 있습니다. 시작하려면, 비즈니스 센터에 로그인하여 상단 메뉴에서 재고를 선택한 후 내 재고 관리를 선택하십시오. 목차

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

슬라이드 1

슬라이드 1 프로세싱 광운대학교로봇학부박광현 프로세싱실행 2 C:\processing-3.2.1 폴더 창나타내기 실행 정지 3 폭 높이 600 400 도형그리기 배경칠하기 5 background(255, 255, 255); R G B background(255, 0, 0); background(255, 122, 0); 선그리기 6 background(255, 122, 0);

More information

ACTIONSCRIPT™ 3.0 프로그래밍

ACTIONSCRIPT™ 3.0 프로그래밍 제 16 장 무비클립을사용한작업 16 MovieClip 클래스는 Adobe Flash CS3 Professional 에서생성한애니메이션및무비클립심볼의기본클래스입니다. MovieClip 클래스는표시객체의모든비헤이비어및기능은물론무비클립의타임라인을제어하기위한추가속성및메서드까지가지고있습니다. 이장에서는 ActionScript 를사용하여무비클립재생을제어하고동적으로무비클립을만드는방법에대해설명합니다.

More information

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상 Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는

More information

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법

More information

예제 <!DOCTYPE html><html><head> <script type="text/javascript"> function arcto() { var canvas = document.getelementbyid('canvas'); context = canvas.get

예제 <!DOCTYPE html><html><head> <script type=text/javascript> function arcto() { var canvas = document.getelementbyid('canvas'); context = canvas.get 1. 원그리기 1.1 원 / 원호그리기 - arc() 메서드 Ÿ arc() 메서드에서는시작좌표 (x, y), 반지름 (radius), 시작각도 (startangle), 종료각도 (endangle), 그리는방향 (anticlockwise) 을지정해야한다. Ÿ 시작각도와종료각도는브라우저에서원주를따라그려지는호에대한각도로라디안을사용한다. 따라서각도에 Math.PI/180을곱해서사용한다.

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 03 모델변환과시점변환 01 기하변환 02 계층구조 Modeling 03 Camera 시점변환 기하변환 (Geometric Transformation) 1. 이동 (Translation) 2. 회전 (Rotation) 3. 크기조절 (Scale) 4. 전단 (Shear) 5. 복합변환 6. 반사변환 7. 구조변형변환 2 기하변환 (Geometric Transformation)

More information

IRISCard Anywhere 5

IRISCard Anywhere 5 이 빠른 사용자 가이드는 IRISCard Anywhere 5 및 IRISCard Corporate 5 스캐너의 설치와 시작을 도와 드립니다. 이 스캐너와 함께 제공되는 소프트웨어는: - Cardiris Pro 5 및 Cardiris Corporate 5 for CRM (Windows 용) - Cardiris Pro 4 (Mac OS 용) Cardiris 의

More information

ACTIONSCRIPT™ 3.0 프로그래밍

ACTIONSCRIPT™ 3.0 프로그래밍 제 24 장 인쇄 24 Adobe Flash Player 9는운영체제의인쇄인터페이스와통신할수있으므로페이지를인쇄스풀러로전달할수있습니다. Flash Player에서스풀러에전송하는각페이지에는데이터베이스값및동적텍스트등사용자에게보이거나, 동적이거나, 스크린밖에표시되는내용이포함될수있습니다. 또한 Flash Player는사용자의프린터설정에따라 flash.printing.printjob

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

이장에서다룰내용 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2

이장에서다룰내용 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2 03 장. 테두리여백지정하는속성 이번장에서는테이블, 레이어, 폼양식등의더예쁘게꾸미기위해서 CSS 를이용하여 HTML 요소의테두리속성을바꾸어보자. 이장에서다룰내용 1 2 3 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2 01. 테두리를제어하는스타일시트 속성값설명 border-width border-left-width

More information

Ÿ 캔버스의크기와드로잉표면의크기 <canvas> 요소의 width/height 속성사용하여변경하면캔버스크기를드로잉표면의크기로자동변경한다. CSS를사용해서캔버스크기를지정하는경우는드로잉표면의크기는변경할수없기때문에캔버스와드로잉표면의불일치로인하여예기치않은결과를발생시킬수있음에주

Ÿ 캔버스의크기와드로잉표면의크기 <canvas> 요소의 width/height 속성사용하여변경하면캔버스크기를드로잉표면의크기로자동변경한다. CSS를사용해서캔버스크기를지정하는경우는드로잉표면의크기는변경할수없기때문에캔버스와드로잉표면의불일치로인하여예기치않은결과를발생시킬수있음에주 1. 기본내용 1.1 캔버스 Ÿ canvas 요소는웹페이지에서자바스크립트를통해즉시그림을그리는데사용되며단순한그림표현을넘어여러효과와함께텍스트및애니메이션표현이가능하다. Ÿ 그림을그리기위해서는 를사용해서그림영역을지정하고, 자바스크립트를사용해서실제그림을그린다. 1.2 캔버스좌표시스템 Ÿ 캔버스의좌표시스템은 2D 컨텍스트로, 왼쪽상단모서리에있는평면직교표면을

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을

사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을 IDIS Mobile ios 사용설명서 Powered by 사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다.

More information

<4D F736F F F696E74202D20C1A63233C0E520B1D7B7A1C7C820C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63233C0E520B1D7B7A1C7C820C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 23 장그래픽프로그래밍 이번장에서학습할내용 자바에서의그래픽 기초사항 기초도형그리기 색상 폰트 Java 2D Java 2D를이용한그리기 Java 2D 를이용한채우기 도형회전과평행이동 자바를이용하여서화면에그림을그려봅시다. 자바그래픽데모 자바그래픽의두가지방법 자바그래픽 AWT Java 2D AWT를사용하면기본적인도형들을쉽게그릴수있다. 어디서나잘실행된다.

More information

1 1 장. 함수와극한 1.1 함수를표현하는네가지방법 1.2 수학적모형 : 필수함수의목록 1.3 기존함수로부터새로운함수구하기 1.4 접선문제와속도문제 1.5 함수의극한 1.6 극한법칙을이용한극한계산 1.7 극한의엄밀한정의 1.8 연속

1 1 장. 함수와극한 1.1 함수를표현하는네가지방법 1.2 수학적모형 : 필수함수의목록 1.3 기존함수로부터새로운함수구하기 1.4 접선문제와속도문제 1.5 함수의극한 1.6 극한법칙을이용한극한계산 1.7 극한의엄밀한정의 1.8 연속 1 1 장. 함수와극한 1.1 함수를표현하는네가지방법 1.2 수학적모형 : 필수함수의목록 1.3 기존함수로부터새로운함수구하기 1.4 접선문제와속도문제 1.5 함수의극한 1.6 극한법칙을이용한극한계산 1.7 극한의엄밀한정의 1.8 연속 2 1.1 함수를표현하는네가지방법 함수 f : D E 는집합 D 의각원소 x 에집합 E 에속하는단하나의원소 f(x) 를 대응시키는규칙이다.

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

1

1 1 2 3 4 5 6 b b t P A S M T U s 7 m P P 8 t P A S M T U s 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Chapter 1 29 1 2 3 4 18 17 16 15 5 6 7 8 9 14 13 12 11 10 1 2 3 4 5 9 10 11 12 13 14 15

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

Microsoft PowerPoint - 05geometry.ppt

Microsoft PowerPoint - 05geometry.ppt Graphic Applications 3ds MAX 의기초도형들 Geometry 3 rd Week, 2007 3 차원의세계 축 (Axis) X, Y, Z 축 중심점 (Origin) 축들이모이는점 전역축 (World Coordinate Axis) 절대좌표 지역축 (Local Coordinate Axis) 오브젝트마다가지고있는축 Y Z X X 다양한축을축을사용한작업작업가능

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES ActiveX 컴포넌트가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES ActiveX 컴포넌트가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES 2012.02.18 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone 02-2108-8030 Fax 02-2108-8031 www.softbase.co.kr Copyright 2010 SOFTBase Inc. All rights reserved 목차 1 장 : ActiveX

More information

MF Driver Installation Guide

MF Driver Installation Guide Korean MF 드라이버 설치설명서 사용자 소프트웨어 CD-ROM... 드라이버 및 소프트웨어 정보...1 지원되는 운영 체제...1 MF 드라이버 및 MF Toolbox 설치... [쉬운 설치]를 사용한 설치...2 [사용자 정의 설치]를 사용한 설치...10 USB 케이블 연결(USB를 이용해 연결하는 경우만)...20 설치 결과 확인...21 온라인

More information

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 11 장상속 1. 상속의개념을이해한다. 2. 상속을이용하여자식클래스를작성할수있다. 3. 상속과접근지정자와의관계를이해한다. 4. 상속시생성자와소멸자가호출되는순서를이해한다. 이번장에서만들어볼프로그램 class Circle { int x, y; int radius;... class Rect { int x, y; int width, height;... 중복 상속의개요

More information

- 1 - - 2 - - 3 - - 4 - - 5 - - 6 - 주행방향 900 Φ100 재귀반사체 지주 주행방향 1100 120 40 200 740 900 120 45 원형재귀반사체 Φ100 검정색바탕도색 흰색합성수지지주 - 7 - 옹벽 900mm 900mm 노면 옹벽 900mm 900mm 노면 - 8 - - 9 - - 10 - - 11 - - 12 - 0.9

More information

제8장 자바 GUI 프로그래밍 II

제8장 자바 GUI 프로그래밍 II 제8장 MVC Model 8.1 MVC 모델 (1/7) MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델 View : 자료를시각적으로 (GUI 방식으로

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 CHAPTER 13. HTML5 위치정보와드래그앤드롭 SVG SVG(Scalable Vector Graphics) 는 XML- 기반의벡터이미지포맷 웹에서벡터 - 기반의그래픽을정의하는데사용 1999 년부터 W3C 에의하여표준 SVG 의장점 SVG 그래픽은확대되거나크기가변경되어도품질이손상되지않는다. SVG 파일에서모든요소와속성은애니메이션이가능하다. SVG 이미지는어떤텍스트에디터로도생성하고편집할수있다.

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

Microsoft PowerPoint - logo_2-미해답.ppt [호환 모드]

Microsoft PowerPoint - logo_2-미해답.ppt [호환 모드] Chap.2 Logo 프로그래밍기초 - 터틀그래픽명령어 ( 기본, 고급 ) 학습목표 터틀의이동과선그리기에대해살펴본다. 터틀의회전에대해살펴본다. 터틀펜과화면제어에대해살펴본다. 2012. 5. 박남제 namjepark@jejunu.ac.kr < 이동하기 > - 앞으로이동하기 forward 100 터틀이 100 픽셀만큼앞으로이동 2 < 이동하기 > forward(fd)

More information

Microsoft Word - Armjtag_문서1.doc

Microsoft Word - Armjtag_문서1.doc ARM JTAG (wiggler 호환 ) 사용방법 ( IAR EWARM 에서 ARM-JTAG 로 Debugging 하기 ) Test Board : AT91SAM7S256 IAR EWARM : Kickstart for ARM ARM-JTAG : ver 1.0 ( 씨링크테크 ) 1. IAR EWARM (Kickstart for ARM) 설치 2. Macraigor

More information

e-비즈니스 전략 수립

e-비즈니스 전략 수립 CSS3 속성 HTML5 웹프로그래밍입문 ( 개정판 ) Contents 학습목표 CSS3가지원하는스타일속성과스타일값을활용할수있습니다. CSS3를사용해레이아웃을잡을수있습니다. 내용 CSS3 단위 박스속성 display 속성 배경속성 글자속성 위치속성 float 속성 그림자속성 그레이디언트 2/85 1. CSS3 단위 키워드단위 W3C에서미리정의한단어 키워드를입력하면키워드에해당하는스타일이자동으로적용

More information

2_안드로이드UI

2_안드로이드UI 03 Layouts 레이아웃 (Layout) u ViewGroup의파생클래스로서, 포함된 View를정렬하는기능 u 종류 LinearLayout 컨테이너에포함된뷰들을수평또는수직으로일렬배치하는레이아웃 RelativeLayout 뷰를서로간의위치관계나컨테이너와의위치관계를지정하여배치하는레이아웃 TableLayout 표형식으로차일드를배치하는레이아웃 FrameLayout

More information

사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사

사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사 IDIS Mobile Android 사용설명서 Powered by 사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사양 및 버전에 따라 일부

More information

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해

More information

Data Structure

Data Structure Function & Pointer C- 언어의활용을위한주요기법 (3) Dong Kyue Kim Hanyang University dqkim@hanyang.ac.kr 함수의인자전달 함수의인자전달 함수의인자전달방식 인자전달의기본방식은복사다. 함수호출시전달되는값을매개변수를통해서전달받는데, 이때에값의복사가일어난다. int main(void) int val = 10;

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

Vector Differential: 벡터 미분 Yonghee Lee October 17, 벡터미분의 표기 스칼라미분 벡터미분(Vector diffrential) 또는 행렬미분(Matrix differential)은 벡터와 행렬의 미분식에 대 한 표

Vector Differential: 벡터 미분 Yonghee Lee October 17, 벡터미분의 표기 스칼라미분 벡터미분(Vector diffrential) 또는 행렬미분(Matrix differential)은 벡터와 행렬의 미분식에 대 한 표 Vector Differential: 벡터 미분 Yonhee Lee October 7, 08 벡터미분의 표기 스칼라미분 벡터미분(Vector diffrential) 또는 행렬미분(Matrix differential)은 벡터와 행렬의 미분식에 대 한 표기법을 정의하는 방법이다 보통 스칼라(scalar)에 대한 미분은 일분수 함수 f : < < 또는 다변수 함수(function

More information

<B4EBC7D0BCF6C7D02DBBEFB0A2C7D4BCF62E687770>

<B4EBC7D0BCF6C7D02DBBEFB0A2C7D4BCF62E687770> 삼각함수. 삼각함수의덧셈정리 삼각함수의덧셈정리 삼각함수 sin (α + β ), cos (α + β ), tan (α + β ) 등을 α 또는 β 의삼각함수로나 타낼수있다. 각 α 와각 β 에대하여 α >0, β >0이고 0 α - β < β 를만족한다고가정하 자. 다른경우에도같은방법으로증명할수있다. 각 α 와각 β 에대하여 θ = α - β 라고놓자. 위의그림에서원점에서거리가

More information

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다 이장에서사용되는 MATLAB 명령어들은비교적복잡하므로 MATLAB 창에서명령어를직접입력하지않고확장자가 m 인 text 파일을작성하여실행을한다. 즉, test.m 과같은 text 파일을만들어서 MATLAB 프로그램을작성한후실행을한다. 이와같이하면길고복잡한 MATLAB 프로그램을작성하여실행할수있고, 오류가발생하거나수정이필요한경우손쉽게수정하여실행할수있는장점이있으며,

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 05 장 CSS3 선택자 1. 선택자개요 2. 기본선택자 3. 속성선택자 4. 후손선택자와자손선택자 5. 반응 / 상태 / 구조선택자 CSS 블록을생성할수있다. 선택자를이해하고적절한선택자를활용할수있다. 1 선택자개요 CSS3 선택자 특정한 HTML 태그를선택할때사용하는기능 선택한태그에원하는스타일이나스크립트적용가능 그림 5-1 CSS 블록 CSS 블록 style

More information

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,

More information

Frama-C/JESSIS 사용법 소개

Frama-C/JESSIS 사용법 소개 Frama-C 프로그램검증시스템소개 박종현 @ POSTECH PL Frama-C? C 프로그램대상정적분석도구 플러그인구조 JESSIE Wp Aorai Frama-C 커널 2 ROSAEC 2011 동계워크샵 @ 통영 JESSIE? Frama-C 연역검증플러그인 프로그램분석 검증조건추출 증명 Hoare 논리에기초한프로그램검증도구 사용법 $ frama-c jessie

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

Open GL

Open GL Graphics Basic Windows & OpenGL Programming 컴퓨터그래픽스연구실 OpenGL 관련참고사이트 OpenGL 공식사이트 http://www.opengl.org/ Khronos Group http://www.khronos.org/ Nehe Productions http://nehe.gamedev.net/ OpenGL 파일설정 압축을푼후다음경로로파일을복사

More information

2 노드

2 노드 2019/05/03 17:01 1/5 2 노드 2 노드 소개 노드를사용하여계층적분산모니터링을구축할수있습니다. 각노드는Zabbix 서버자체이며, 각각이놓인위치모니터링을담당합니다 Zabbix는. 분산설정은최대 1000 개의노드를지원합니다. 노드의설정을사용하는장점은다음과같습니다. 일부지역에걸친대규모네트워크에서여러수준의모니터링계층을구축합니다. 계층에서하노드는마스터노드에전송합니다.

More information

Microsoft Word - SecuLetter_ExploitAnalysis_CVE _Ver0.1

Microsoft Word - SecuLetter_ExploitAnalysis_CVE _Ver0.1 Use-After-Free in Adobe Flash Player CVE-2018-4878 2018. 04. 09 시큐레터주식회사 01 개요 지난 2018 년 1월 31일 KrCERT/CC 는 Adobe 플래시플레이어의제로데이취약점을악용한악성코드유포와관련하여보안공지를발표했습니다. 해당취약점은플래시플레이어 28.0.0.161 버전과이전버전에발생하는 Use- After-Free

More information

Microsoft Word - CSWP_sample(KOR).docx

Microsoft Word - CSWP_sample(KOR).docx SOLIDWORKS CSWP 예제 Certified SOLIDWORKS Professional: Solid Modeling Specialist (CSWP-CORE) 공인솔리드웍스프로페셔널 : 솔리드모델링전문가 (CSWP-코어) CSWP는 SOLIDWORKS 고급기술시험을통과한프로페셔널을의미합니다. CSWP는 SOLIDWORKS의다양한복합적인피처를사용하여변수지정과파트및구동어셈블리를설계하고분석하는능력을보유하고있다는것을증명하는자격입니다.

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요 . 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요소로써안드로이드시스템에서는 Activities, Services, Content Providers,

More information

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont 12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다. 12.1 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont( in LPDIRECT3DDEVICE9 pdevice, in INT Height, in UINT

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 객체지향프로그래밍 (OOP: object-oriented programming) 은우리가살고있는실제세계가객체 (object) 들로구성되어있는것과비슷하게, 소프트웨어도객체로구성하는방법이다. 객체는상태와동작을가지고있다. 객체의상태 (state) 는객체의속성이다. 객체의동작 (behavior) 은객체가취할수있는동작 ( 기능 ) 이다. 객체에대한설계도를클래스 (class)

More information

Windows Server 2012

Windows Server  2012 Windows Server 2012 Shared Nothing Live Migration Shared Nothing Live Migration 은 SMB Live Migration 방식과다른점은 VM 데이터파일의위치입니다. Shared Nothing Live Migration 방식은 Hyper-V 호스트의로컬디스크에 VM 데이터파일이위치합니다. 반면에, SMB

More information

Python과 함께 배우는 신호 해석 제 5 강. 복소수 연산 및 Python을 이용한 복소수 연산 (제 2 장. 복소수 기초)

Python과 함께 배우는 신호 해석 제 5 강. 복소수 연산 및 Python을 이용한 복소수 연산      (제 2 장. 복소수 기초) 제 5 강. 복소수연산및 을이용한복소수연산 ( 제 2 장. 복소수기초 ) 한림대학교전자공학과 한림대학교 제 5 강. 복소수연산및 을이용한복소수연산 1 배울내용 복소수의기본개념복소수의표현오일러 (Euler) 공식복소수의대수연산 1의 N 승근 한림대학교 제 5 강. 복소수연산및 을이용한복소수연산 2 복소수의 4 칙연산 복소수의덧셈과뺄셈에는직각좌표계표현을사용하고,

More information

쓰리 핸드(삼침) 요일 및 2405 요일 시간, 및 요일 설정 1. 용두를 2의 위치로 당기고 반시계방향으로 돌려 전날로 를 설정합니다. 2. 용두를 시계방향으로 돌려 전날로 요일을 설정합니다. 3. 용두를 3의 위치로 당기고 오늘 와 요일이 표시될 때까지 시계방향으로

쓰리 핸드(삼침) 요일 및 2405 요일 시간, 및 요일 설정 1. 용두를 2의 위치로 당기고 반시계방향으로 돌려 전날로 를 설정합니다. 2. 용두를 시계방향으로 돌려 전날로 요일을 설정합니다. 3. 용두를 3의 위치로 당기고 오늘 와 요일이 표시될 때까지 시계방향으로 한국어 표준 설정안내 서브 초침 시간 및 설정 1. 용두를 2의 위치로 뽑아냅니다. 2. 용두를 시계방향 또는 반시계방향으로 돌려(모델에 따라 다름) 를 전날로 설정합니다. 3. 용두를 3의 위치로 당기고 현재 가 표시될 때까지 시계방향으로 돌립니다. 4. 용두를 계속 돌려 정확한 오전/오후 시간을 설정합니다. 5. 용두를 1의 위치로 되돌립니다. 169 쓰리

More information

정부3.0 국민디자인단 운영을 통해 국민과의 소통과 참여로 정책을 함께 만들 수 있었고 그 결과 국민 눈높이에 맞는 다양한 정책 개선안을 도출하며 정책의 완성도를 제고할 수 있었습니다. 또한 서비스디자인 방법론을 각 기관별 정부3.0 과제에 적용하여 국민 관점의 서비스 설계, 정책고객 확대 등 공직사회에 큰 반향을 유도하여 공무원의 일하는 방식을 변화시키고

More information

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a 6 장복사생성자 객체의생성과대입객체의값에의한전달복사생성자디폴트복사생성자복사생성자의재정의객체의값에의한반환임시객체 C++ 프로그래밍입문 1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y;

More information

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD> 2006 년 2 학기윈도우게임프로그래밍 제 8 강프레임속도의조절 이대현 한국산업기술대학교 오늘의학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용한다. FPS(Frame Per Sec)

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 9 강. 클래스의활용목차 멤버함수의외부정의 this 포인터 friend 선언 static 멤버 임시객체 1 /17 9 강. 클래스의활용멤버함수의외부정의 멤버함수정의구현방법 내부정의 : 클래스선언내에함수정의구현 외부정의 클래스선언 : 함수프로토타입 멤버함수정의 : 클래스선언외부에구현

More information

제 53 회서울특별시과학전람회 예선대회작품설명서 본선대회작품설명서 쓰나미의피해를최소화시키는건물과 건물배치에대한탐구 출품번호 S-504 출품분야학생부출품부문지구과학 학교명학년 ( 직위 ) 성명

제 53 회서울특별시과학전람회 예선대회작품설명서 본선대회작품설명서 쓰나미의피해를최소화시키는건물과 건물배치에대한탐구 출품번호 S-504 출품분야학생부출품부문지구과학 학교명학년 ( 직위 ) 성명 제 53 회서울특별시과학전람회 예선대회작품설명서 본선대회작품설명서 쓰나미의피해를최소화시키는건물과 건물배치에대한탐구 출품번호 S-504 출품분야학생부출품부문지구과학 2012. 5. 14. 학교명학년 ( 직위 ) 성명 - 1 - 그림 1 쓰나미의발생과정 그림 2 실제쓰나미의사진 ρ - 2 - 그림 3 땅을파는모습그림 4 완성된수조의모습 - 3 - 그림 5 삼각기둥그림

More information

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -

More information

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에대하여 AB=BA 1 가성립한다 2 3 (4) 이면 1 곱셈공식및변형공식성립 ± ± ( 복호동순 ), 2 지수법칙성립 (은자연수 ) < 거짓인명제 >

More information

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집 Modern Modern www.office.com ( ) 892 5 : 1577-9700 : http://www.microsoft.com/korea Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와

More information

마지막 변경일 2018년 5월 7일 ** 이항분포와 정규분포의 관계 ** Geogebra와 수학의 시각화 책의 3.2소절 내용임. 가장 최근 파일은 링크를 누르면 받아 보실 수 있습니다.

마지막 변경일 2018년 5월 7일 ** 이항분포와 정규분포의 관계 ** Geogebra와 수학의 시각화 책의 3.2소절 내용임.   가장 최근 파일은 링크를 누르면 받아 보실 수 있습니다. 마지막 변경일 2018년 5월 7일 ** 이항분포와 정규분포의 관계 ** Geogebra와 수학의 시각화 책의 3.2소절 내용임. http://min7014.iptime.org/math/2017063002.htm 가장 최근 파일은 링크를 누르면 받아 보실 수 있습니다. https://goo.gl/edxsm7 http://min7014.iptime.org/math/2018010602.pdf

More information

슬라이드 1

슬라이드 1 2007 년 2 학기윈도우게임프로그래밍 제 7 강프레임속도의조절 이대현 핚국산업기술대학교 학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용핚다. FPS(Frame Per Sec)

More information

Studuino소프트웨어 설치

Studuino소프트웨어 설치 Studuino 프로그래밍환경 Studuino 소프트웨어설치 본자료는 Studuino 프로그래밍환경설치안내서입니다. Studuino 프로그래밍 환경의갱신에따라추가 / 수정될수있습니다. 목차 1. 소개... 1 2. Windows... 2 2.1. 프로그래밍환경설치... 2 2.1.1. 웹설치버전설치방법... 2 2.2. Studuino 프로그래밍환경실행...

More information

WebGL 레슨 3 - 회전 운동

WebGL 레슨 3 - 회전 운동 Created by Firejune at 2011/04/20, Last modified 2016/09/11 WebGL 레슨 3 - 회전 운동 세 번째 WebGL 레슨에 오신 것을 환영합니다. 레슨 2에 이어 이번 레슨에서는 객체가 회전 운동을 할 수 있도록 합니다. 이번 학습은 NeHe OpenGL의 네 번째 튜토리얼을 바탕으로 합니다. 다음 동영상은 이번

More information

슬라이드 1

슬라이드 1 모바일소프트웨어프로젝트 지도 API 1 조 20070216 김성수 20070383 김혜준 20070965 이윤상 20071335 최진 1 매시업? 공개 API? 2 매시업 웹으로제공하고있는정보와서비스를융합하여새로운소프트웨어나서비스, 데이터베이스등을만드는것 < 최초의매시업 > 3 공개 API 누구나사용할수있도록공개된 API 지도, 검색등다양한서비스들에서제공 대표적인예

More information

Install stm32cubemx and st-link utility

Install stm32cubemx and st-link utility STM32CubeMX and ST-LINK Utility for STM32 Development 본문서는 ST Microelectronics 의 ARM Cortex-M 시리즈 Microcontroller 개발을위해제공되는 STM32CubeMX 와 STM32 ST-LINK Utility 프로그램의설치과정을설명합니다. 본문서는 Microsoft Windows 7

More information

소개 SketchBook Pro for Android 스케칭... 6 갤럭시 노트용 SketchBook Pro 사용자에 대한 안내... 6 S Pen 사용자를 위한 S Menu... 7 Easy Clip (이지 클립)... 7 클러치... 7 도구 모음... 8 정보

소개 SketchBook Pro for Android 스케칭... 6 갤럭시 노트용 SketchBook Pro 사용자에 대한 안내... 6 S Pen 사용자를 위한 S Menu... 7 Easy Clip (이지 클립)... 7 클러치... 7 도구 모음... 8 정보 Autodesk SketchBook Pro 소개 SketchBook Pro for Android 스케칭... 6 갤럭시 노트용 SketchBook Pro 사용자에 대한 안내... 6 S Pen 사용자를 위한 S Menu... 7 Easy Clip (이지 클립)... 7 클러치... 7 도구 모음... 8 정보 도구 모음... 9 제스처... 9 캔버스 확대

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 06 Texture Mapping 01 Texture Mapping 의종류 02 Texture Mapping 이가능한객체생성 03 고급 Texture Mapping 01 Texture Mapping 의종류 1. 수동 Texture Mapping 2. 자동 Texture Mapping 2 01 Texture Mapping 의종류 좌표변환 Pipeline 에서

More information

RHEV 2.2 인증서 만료 확인 및 갱신

RHEV 2.2 인증서 만료 확인 및 갱신 2018/09/28 03:56 1/2 목차... 1 인증서 확인... 1 인증서 종류와 확인... 4 RHEVM CA... 5 FQDN 개인 인증서... 5 레드햇 인증서 - 코드 서명 인증서... 6 호스트 인증... 7 참고사항... 8 관련링크... 8 AllThatLinux! - http://allthatlinux.com/dokuwiki/ rhev_2.2_

More information

KNK_C_05_Pointers_Arrays_structures_summary_v02

KNK_C_05_Pointers_Arrays_structures_summary_v02 Pointers and Arrays Structures adopted from KNK C Programming : A Modern Approach 요약 2 Pointers and Arrays 3 배열의주소 #include int main(){ int c[] = {1, 2, 3, 4}; printf("c\t%p\n", c); printf("&c\t%p\n",

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 7 장클래스와객체 이번장에서학습할내용 객체지향이란? 객체 메시지 클래스 객체지향의장점 String 클래스 객체지향개념을완벽하게이해해야만객체지향설계의이점을활용할수있다. 실제세계는객체로이루어진다. 객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법 절차지향과객체지향 절차지향프로그래밍 (procedural programming): 문제를해결하는절차를중요하게생각하는방법

More information

; struct point p[10] = {{1, 2, {5, -3, {-3, 5, {-6, -2, {2, 2, {-3, -3, {-9, 2, {7, 8, {-6, 4, {8, -5; for (i = 0; i < 10; i++){ if (p[i].x > 0 && p[i

; struct point p[10] = {{1, 2, {5, -3, {-3, 5, {-6, -2, {2, 2, {-3, -3, {-9, 2, {7, 8, {-6, 4, {8, -5; for (i = 0; i < 10; i++){ if (p[i].x > 0 && p[i ; struct point p; printf("0이아닌점의좌표를입력하시오 : "); scanf("%d %d", &p.x, &p.y); if (p.x > 0 && p.y > 0) printf("1사분면에있다.\n"); if (p.x < 0 && p.y > 0) printf("2사분면에있다.\n"); if (p.x < 0 && p.y < 0) printf("3사분면에있다.\n");

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

PowerPoint Presentation

PowerPoint Presentation 자바프로그래밍 1 배열 손시운 ssw5176@kangwon.ac.kr 배열이필요한이유 예를들어서학생이 10 명이있고성적의평균을계산한다고가정하자. 학생 이 10 명이므로 10 개의변수가필요하다. int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; 하지만만약학생이 100 명이라면어떻게해야하는가? int s0, s1, s2, s3, s4,

More information

슬라이드 1

슬라이드 1 Recursion SANGJI University KO Kwangman () 1. 개요 재귀 (recursion) 의정의, 순환 정의하고있는개념자체에대한정의내부에자기자신이포함되어있는경우를의미 알고리즘이나함수가수행도중에자기자신을다시호출하여문제를해결하는기법 정의자체가순환적으로되어있는경우에적합한방법 예제 ) 팩토리얼값구하기 피보나치수열 이항계수 하노이의탑 이진탐색

More information

(Microsoft PowerPoint - 11\300\345.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - 11\300\345.ppt [\310\243\310\257 \270\360\265\345]) 입출력 C++ 의효율적인입출력방법을배워보자. 이장에서다룰내용 1 cin 과 cout 을이용한입출력 2 입출력연산자중복 3 조작자생성 4 파일입출력 01_cin 과 cout 을이용한입출력 포맷입출력 C++ 의표준입출력은 cin, cout 을사용한다. C 의 printf 는함수이므로매번여러인자를입력해줘야하지만, cin/cout 에서는형식을한번만정의하면계속사용할수있다.

More information

Microsoft PowerPoint PythonGUI-sprite

Microsoft PowerPoint PythonGUI-sprite (Sprite) 순천향대학교컴퓨터공학과 이상정 순천향대학교컴퓨터공학과 1 학습내용 소개 클래스 그룹클래스 충돌 블록수집게임예 게임레벨증가및점수표시 이동 순천향대학교컴퓨터공학과 2 소개 (sprite) 큰그래픽장면의부분으로사용되는단일 2차원이미지 => 쪽화면 게임의장면에서서로상호작용 ( 충돌등 ) 하는물체 => 캐릭터, 아바타 파이게임에서는일반적으로클래스로구현된객체

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

KMC.xlsm

KMC.xlsm 제 7 장. /S 에필요한내용 1] IGBT 취급시주의사항 ) IGBT 취급시주의 1) 운반도중에는 Carbon Cross로 G-E를단락시킵니다. 2) 정전기가발생할수있으므로손으로 G-E 및주단자를만지지마십시요. 3) G-E 단자를개방시킨상태에서직류전원을인가하지마십시요. (IGBT 파손됨 ) 4) IGBT 조립시에는사용기기나인체를접지시키십시요. G2 E2 E1

More information

2 단계 : 추상화 class 오리 { class 청둥오리 extends 오리 { class 물오리 extends 오리 { 청둥오리 mallardduck = new 청둥오리 (); 물오리 redheadduck = new 물오리 (); mallardduck.swim();

2 단계 : 추상화 class 오리 { class 청둥오리 extends 오리 { class 물오리 extends 오리 { 청둥오리 mallardduck = new 청둥오리 (); 물오리 redheadduck = new 물오리 (); mallardduck.swim(); 인터페이스적용 오리객체설계하기 ) 청둥오리, 물오리를설계하세요. 1 단계 : 필요한객체설계 class 청둥오리 { class 물오리 { 청둥오리 mallardduck = new 청둥오리 (); 물오리 redheadduck = new 물오리 (); mallardduck.swim(); mallardduck.fly(); mallardduck.quack(); redheadduck.swim();

More information