본문 바로가기

전체 카테고리326

그래픽스 정리 그래픽스 캐드/캠, 프레젠테이션, 가상현실, 미술, 애니메이션/게임, 교육 훈련, 자연과학 가시화, GUI 그래픽 구성 요소 : 모델링 , 렌더링 레스터 그래픽 장비 : 그래픽 디스플레이, 프레임 버퍼 벡터 그래픽 장비 : 프레임 버퍼 X 가산모델 RGB 보색 CMY 감산모델 CMY HSV : 색상, 채도, 명도 하프토우닝 : 점의 크기를 다양하게 함으로써 여러 가지 회색 레벨을 만들어내는 기법 디지털 하프토우닝 : 점의 개수로 조절 감마보정 : 비선형 전달 함수를 사용하여 빛의 강도 신호를 비선형적으로 변형 지엘 파이프라인 : 변환 – 절단 – 투상 - 래스터 프로세서 좌표계 지엘 실행모드 - 직접모드 : 화면 렌더링과 동시에 물체 정보 모두 파기, 다시 그리려면 전체 다시 실행 - 보류모드 : 이미 .. 2020. 6. 30.
ATmega328 프로그래밍 LCD 출력 성공! 기초지식 1 가변저항 2. LCD 회로 보면서 연결 LCD ASCII 코드 정의문자를 기본으로 Vss 그라운드 Vdd 5V 동작 전원 Vo 가변저항을 통해 0~5V RS 핀 LCD 제어, 레지스터 선택 E 핀으로 하강 엣지에서 LCD 드라이버 처리 -최대 80문자 저장이 가능하며 그 중 일부인 32문자만 표시됨 -1행으로 표시하는 경우(N=0) 0x00 ~ 0x4F로 연속적으로 정해짐 -2행으로 표시하는 경우(N=1) 0x00 ~ 0x27, 0x40 ~ 0x67로 정해짐 2020. 6. 25.
오픈지엘 행렬스택 glPushMatrix/glPopMatrix, 시점변환gluLookAt, 평행|원근 투상 glOrtho/gluPerspective 오픈지엘 행렬스택 지엘 초기 실행시 WCS = MCS 이다. 이동변환을 하면 WCS와 MCS가 분리된다. 변환행렬을 통해 WCS와 MCS를 일치하게 된다. 함수 순서는 glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt 물체생성함수{ //계층구조 모델링 glPushMatrix(); glColor3f(0, 0, 0); glTranslatef(1.5, -0.25, 0); glutSolidSphere(0.25, 18, 18); glPopMatrix(); } 모델변환에서 복합변환을 할때 행렬은 후위 곱셈을 하기 때문에 p' = I * S * R * P 물체 변환은 P R S 물체의 좌표는 물체의 중심이다. WCS가 MCS와 일치되며 따라가게 된다. 새로 물체를 생.. 2020. 6. 11.
ATmega328 조도센서, 온도센서, 초음파센서 조도센서 void ADC_INIT(unsigned char channel) { ADMUX |= 0x40; // 01000000 AVCC 를 기준 전압으로 ADCSRA |= 0x07; // 00000111 분주비 (8비트) ADCSRA |= (1 2020. 6. 11.
오버플로 / 비교일치 인터럽트 8비트 타이머/카운터 2개 |0 ~ 255 16비트 타이머/카운터 1개 |0 ~ 65535 분주비 = 클록을 나누는 값 - 오버플로 인터럽트 : TCNTn 레지스터에 오버플로가 발생 - 비교일치 인터럽트 : TCNTn 레지스터의 값이 미리 설정된 값과 동일 오버플로 인터럽트 #define F_CPU 16000000L #include #include #include #include #include "UART.h" int count = 0; int state = 0; ISR(TIMER0_OVF_vect) //오버플로 인터럽트 벡터 { count++; if(count == 32){ //오버플로 32 회 발생 count = 0; state = !state; if(state) PORTB = 0xFF; else P.. 2020. 6. 9.
ATmega328 가변저항 / 난수 생성 가변 저항 A0 ~ A5 VCC / A0 / GND 10K 저항 #define F_CPU 16000000L #include #include #include #include #include "UART.h" void ADC_INIT(unsigned char channel) { ADMUX |= 0x40 ; 0100 0000 // AVCC를 기준전압으로 선택 ADCSRA |= 0x07 ; 0111 // 분주비 설정 ADCSRA |= (1 2020. 6. 8.
오픈지엘 gluLookAt 시점 변환 모델 잘림 해결, 뷰포트 1. void gluLookAt(GLdouble eyex, GLdouble eyey, GLdouble eyez, GLdouble atx, GLdouble aty, GLdouble atz, GLdouble upx, GLdouble upy, GLdouble upz); 2. Arguments A. 카메라 위치 : (eyex, eyey, eyez) B. 카메라가 바라보는 점 (초점의 위치) : (atx, aty, atz) C. 카메라 기울임(Orientation) : (upx, upy, upz) void MyDisplay() { glClear(GL_COLOR_BUFFER_BIT); gluLookAt(1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); glColor3f(0.0f, 1.. 2020. 6. 5.
JDBC , DB , try-with-resources (Java 1.7이상) 자원해제 https://blog.naver.com/pgram16/221821654060 try-with-resource : 자원 해제하기 jdk7부터 try-with-resource로 기존에 사용하던 try-catch-finally 문을 이용해 자원을 해제하던 것을 더 ... blog.naver.com https://blog.naver.com/nature128/221430455866 try-with-resources (Java 1.7이상) //Java 7 부터는 Try문 안에 리소스를 선언하면 자동으로 리소스 관리// ★ Connection이나 PreparedS... blog.naver.com try { Class.forName(driver); } catch (ClassNotFoundException e2) { .. 2020. 6. 1.
Could not publish server configuration for Tomcat v9.0 Server at localhost. Multiple Contexts have a path of "/". https://bumcrush.tistory.com/132 [톰캣]Multiple Contexts have a path of "/spring". 에러 해결! [톰캣] Multiple Contexts have a path of "/spring". 에러 해결! - 스프링 공부를 하던 중 스프링 프로젝트를 복, 붙하며 공부를 하니깐 아래와 같은 에러가 떳다. Could not publish server configuration for.. bumcrush.tistory.com 2020. 5. 31.
인터럽트 인터럽트 처리 인터럽트 발생 -> 벡터 테이블의 해당 프로그램 주소로 이동 -> 프로그램 주소에 기록된 ISR 주소 찾기 -> ISR로 이동 및 처리 -> 인터럽트 발생이전으로 되돌아가 실행 ISR 호출 조건 * '전역적 인터럽트 활성화' 비트가 세트 * 인터럽트 별로 '개별 인터럽트 활성화' 비트 세트 * 인터럽트에 해당하는 이벤트 발생 전역 인터럽트 활성화 sei() 전역 인터럽트 비활성화 cli() 주의 중첩 인터럽트 금지 : ISR 내 인터럽트 발생 허용 x 최적화 방지 : 최적화 과정 생략하도록 volatile 키워드 사용 volatile int .. 단일 동작 보장 : 실행중인터럽트 발생 일시 금지 : ATOMIC_BLOCK 외부 인터럽트 –INT0 : PD2 또는 디지털 2번 핀 –INT1 .. 2020. 5. 30.
LED & button 1. LED 출력 #define F_CPU 16000000L #include #include int main(void) { DDRB = 0x0F; //0000 1111 출력할 곳 초기화 DDRD = 0xF0; //1111 0000 /* Replace with your application code */ while (1) { char p1; char p2; for(int i = 0; i =4){ p1 = 0x01 > (i-4); }else{ p1 = 0x08 >> i; p2 = 0x10 D7 void INIT_PORT(void) { DDRB = 0x00; // 버튼 입력 PORTB = 0x0F; // (D11~ D8) 입력전 1인상태로 설정 0000 1111 DDRD = 0xF0; // LED 출력 초기화.. 2020. 5. 24.
[웹] 데이터 공유와 쿠키 범위, 생명주기 page < request < sessing < application 세션 범위 : 브라우저 당 생성되는 객체 ex) 하나의 차에서 로그인 하면 다른 탭을 열어도 여전히 로그인 상태 유지 세션 기술 - 세션 관련 정보를 웹 서버에 저장 쿠키 기술 - 세션 관련 정보를 클라이언트에 저장 데이터 공유 쿠키 예) // ... /scope?m=c&id=kim& ... @WebServlet("/scope") public class Controller extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {.. 2020. 5. 24.