본문 바로가기

Language87

오픈지엘 이동 회전 크기 복합 변환 void MyDisplay() { glClear(GL_COLOR_BUFFER_BIT); /*기준선*/ glBegin(GL_LINES); glColor3f(1, 0, 0); // X glVertex3f(-1, 0, 0); glVertex3f(1, 0, 0); glColor3f(0, 1, 0); // Y glVertex3f(0, -1, 0); glVertex3f(0, 1, 0); glColor3f(0, 0, 1); // Z glVertex3f(0, 0, -1); glVertex3f(0, 0, 1); glEnd(); glTranslatef(0.7, 0.7, 0); glRotatef(45, 0, 0, 1); glScalef(2, 2, 2); /*P 사각형*/ glBegin(GL_POLYGON); glColor3.. 2020. 5. 23.
오픈지엘 마우스 클릭으로 다수의 선 그리기 마우스 클릭으로 다수의 선 그리기 GLint TopLeftX, TopLeftY, BottomRightX, BottomRightY; void MyDisplay() { glColor3f(255, 0, 0); glLineWidth(2.0); glBegin(GL_LINES); glVertex3f(TopLeftX / 300.0, (300 - TopLeftY) / 300.0, 0.0); glVertex3f(BottomRightX / 300.0, (300 - BottomRightY) / 300.0, 0.0); glEnd(); glFlush(); } void MyMouseClick(GLint Button, GLint State, GLint X, GLint Y) { if (Button == GLUT_LEFT_BUTTON.. 2020. 5. 21.
그래픽스 시작 OpenGL 프로그래밍을 위해서는 gl.h glu.h가 필요합니다. 또한, 콘솔 프로그래밍 등을 위해서는 OpenGL 프로그래밍을 지원해주기 위한 유틸리티 라이브러리인 glut.h 파일가 필요합니다. gl.h와 glu.h 파일은 보통 Visual Studio에 포함되어 있습니다.- Visual Studio 버전에 따라 다르겠지만 다음 그림 참조- 검색을 했는데 gl.h glu.h가 없는 경우 새로운 Visual Studio 설치가 가장 편리함 GLUT 설치는 2 페이지의 GLUT 설치 항목을 참고하기 바랍니다. 간단한 예제 (4, 5 페이지 참고)- 코드 1 또는 코드 2를 입력한 후에 Visual Studio에서 함수에 오류(빨간 밑줄)가 발생하면 안됨- 코드 중에서 gl로 시작하는 함수가 오류가 나는.. 2020. 5. 13.
자바스크립트 참고 라이브러리 / 외부파일 / CSS 디자인 참고 추가 / 반응형 만들기(제플린) 요소값 더하기 input.value = +input.value + 1; 버튼 아이디 알기 javascript — JavaScript - 클릭 된 버튼의 ID를 가져 오는 onClick 일반적으로 코드와 마크 업을 분리하면 정리가 더 쉬워집니다. 모든 요소를 ​​정의한 다음 JavaScript 섹션에서 해당 요소에 대해 수행해야하는 다양한 조치를 정의하십시오. 이벤트 처리기가 호출되면 클릭 한 요소의 컨텍스트 내에서 호출됩니다. 따라서 식별자 this 는 클릭 한 DOM 요소를 나타냅니다. 그런 다음 해당 식별자를 통해 요소의 특성에 액세스 할 수 있습니다. 예 : Button 1 Button 2 Button 3 var reply_cli www.it-swarm.dev 요소의 자식 갯수 알기 var ul =.. 2020. 5. 12.
javafx TableView 테이블뷰 / listView 리스트뷰 main.java public class Main extends Application { @Override public void start(Stage primaryStage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("testTableVIew.fxml")); Scene scene = new Scene(root, 600, 400); scene.getStylesheets().add(getClass().getResource("application.css") .toExternalForm()); primaryStage.setScene(scene); primaryStage.show(); } public static void ma.. 2020. 5. 9.
openGL Retained mode(보류모드) / 디스플레이 리스트 보류모드 (Retained mode)에서는 미리 정의된 물체를 컴파일된 형태로 재사용을 수행함으로서 매번 그림을 그려내는 등의 반복적인 작업을 제거하여 계산 등의 속도 향상을 모색할 수 있다. OpenGL에서는 디스플레이 리스트를 만들어서 사용함으로서 보류모드를 구현할 수 있다. #include #include #include GLuint g_objectID = -1; GLint GenerateCallList() { GLint lid = glGenLists(1); glNewList(lid, GL_COMPILE); glColor3f(1.0f, 0.0f, 0.0f); glBegin(GL_POLYGON); glVertex3f(0.5, 0.5, 0.0); glVertex3f(-0.5, 0.5, 0.0); glV.. 2020. 5. 6.
openGL keyboad, timer / 키보드 콜백과 타이머 타이머를 이용하여 계속 회전 시키기 #include #include #include #include #include int zRotate = 0; unsigned char key = 'z'; void MyDisplay() { glClear(GL_COLOR_BUFFER_BIT); glLoadIdentity(); //이전 상태 초기화 후 변환 glRotatef(zRotate, 0.0, 0.0, 1.0); //z를 중심을 회전 glutWireTeapot(0.5); glFlush(); } void MyKeyboard(unsigned char KeyPressed, int X, int Y) { key = KeyPressed; switch (KeyPressed) { case 'Q':case'q': exit(0); b.. 2020. 5. 3.
javafx 참고 라이브러리 https://aristatait.tistory.com/42 JavaFX 23. TableView 1. Main.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 package application; import javafx.application.Application; import javafx.stage.Stage; import javafx.scene... aristatait.tistory.com https://stackoverflow.com/questions/52984791/fxmlloader-load-works-fine-in-pre-java-9-style-but-fails-in-modules imgvie.. 2020. 5. 3.
openGL 더블 버퍼링 물체들을 프레임 버퍼에 그려내는 과정에서 미완성인 상태의 결과를 디스플레이 컨트롤러가 읽어서 화면에 그대로 출력하게 된다면 화면 상에는 그림이 이상하게 나타난다. 이를 해결하기 위한 방법이 프레임 버퍼를 2개 두고서 그리는 버퍼와 읽어가는 버퍼를 다르게 처리하고 두 버퍼를 교환(Swap)하는 방법을 적용하면 된다. 프론트 버퍼의 내용을 화면에 출력할 때 백 버퍼에 다음 그림을 그려주고 백 버퍼의 내용이 화면에 출력될 때는 프론트 버퍼에 그림을 그려주는 방식 glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE); 사용 #include #include #include #include #include #include using namespace std; void MyDisplay() .. 2020. 5. 2.
외부라이브러리 추가하기, 헤더파일 추가하기 https://blessingdev.wordpress.com/2017/09/26/visual-studio%EC%97%90-%EC%99%B8%EB%B6%80-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC-%EC%B6%94%EA%B0%80%ED%95%98%EA%B8%B0/ Visual Studio에 외부 라이브러리 추가하기 Visual Studio에서 외부 라이브러리를 연결하는 법을 스크린샷으로 하나씩 설명해 놓았습니다. blessingdev.wordpress.com 2020. 4. 28.
자주 쓰이는 자바스크립트 js 출력 document.write("자바스크립트 안녕하세요 "); document.write("반갑습니다. "); num1 = 100; num2 = 5; r1 = num1 m){ document.write("크다.") }else{ document.write("작다.") } 스위치 jumsu = prompt("점수 입력") switch(parseInt(jumsu/10)) { case 9: alert("A"); break; case 8: alert("B"); break; case 7: alert("C"); break; default: alert("F"); break; } parseInt(jumsu/10) 정수로 변환하는 함수를 통해 해결 반복문 // 반복문 for(i=1; i max){ min = temp m.. 2020. 4. 28.
OpenGL 키보드 콜백 회전 회오리 #include #include #include #include #include #include using namespace std; int zRotate = 0; void MyDisplay() { glClear(GL_COLOR_BUFFER_BIT); glLoadIdentity(); //이전 상태 초기화 후 변환 glRotatef(zRotate, 0.0, 0.0, 1.0); //z를 중심을 회전 glutSolidTeapot(0.5); glFlush(); } void MyKeyboard(unsigned char KeyPressed, int X, int Y) { switch (KeyPressed) { case 'Q':case'q': exit(0); break; case 'Z': zRotate += 10; b.. 2020. 4. 25.