다음에 나오는 코드들은 무엇이 다를까요?(T는 어떤 클래스 형식을 의미합니다)? T t; T t(); T t(u); T t = u; 5분안에 답하지 못한다면, 모르는 것이므로... 정리를 시작할까 한다. 해당 코드는 T 클래스의 1. 기본 생성자로 인한 초기화(기본 초기화) 2. 인자가 있는 생성자로 인한 초기화(직접 초기화) 3. 복사 생성자로 인한 초기화(복사 초기화) 의 차이를 말하고 있다. 1. T t; 해당 코드는, 기본 생성자로 인한 초기화를 뜻하며, 그 어떠한 생성자가 없거나, T::T() 가 있다면, T::T() 로 초기화를 하는 코드이다. 2. T t(); 나도 이 코드는 T::T() 의 호출이다. 라고 단정 지었다.(이렇게 사용한적이 없어서..) 하지만 이 코드는 .. T 타입을 반환하..
책 정리 검색 결과
퐁의 반영 반사광은 반사벡터를 구해야 한다는 조건이 따르게 된다. 하지만 특정 컴퓨터에서 반사벡터를 구하는게 무리일 수가 있어, 퐁 같은 효과를 내면서 연산을 줄일수 있을까? 생각을 하게 된다. 그렇게 나온것은 블린-퐁 반영 반사광이다. 사람들은 유심히 퐁 반영 반사광을 보다가 한가지 규칙을 찾았다. L 은 빛 벡터 E 는 눈 벡터 H 는 L와 E의 중간 각도 벡터 N 는 법선 벡터 여기서 한가지 숨겨진 규칙을 찾자면, L 의 반사벡터가 R 이 있다고 친다면 L 과 R의 중간 각도의 벡터는 당연히 N 벡터가 될 것이다. 즉 L 벡터와 반사벡터의 중간 벡터는 H 벡터이며, H 벡터와 N 벡터는 같은 벡터 일 것이다.. 잠깐 뒤로 생각해 본자, 퐁 반영 반사광에서 반사 벡터와 눈 벡터가 0도 즉, 같은 방향..
낱말 부터 풀이하는게 좋을듯 싶다. 퐁은 사람 이름이다. 반영(反影)은 빛이 반사되어 비침을 뜻한다. 반사광이란, ... 반사된 빛이다. 즉, 퐁이 제안한 빛이 반사되어진 부분의 물채 색(반사된 빛이 .. 물채 색을 뜻 한다)이다 자동차를 예로 들어 보자, 자동차가 도로에 지나다닐때 반짝 반짝 거리는 것을 볼수있다. 이 반짝 반짝 거리는 부분이 바로 반영 반사광이다. 그렇다면 퐁이 계산했던 반영반사광 원리 를 알아보자. vLight 는 빛의 입사 벡터 이다. vRLight 는 빛의 입사된 벡터의 반사 벡터이다. vEye 는 입사 눈 벡터이다. vNorMal 은 물체의 법선 벡터를 말한다. 퐁은 vRLight 와 vEye 가 가까워 질때, 반영 반사광이 쌔진다는 정리를 하였다. 식으로 정리하자면, vRL ..
환경광도 빛이긴 한데, 왜 이런 이름이 붙여 졌을까? 빛의 상태나 빛의 생성 과정, 빛의 색 등에 따라 사람들은 그 빛에 이름을 붙였다. ( 어떻게 보면, 이런 이름을 붙임으로써 널리 사람들에게 쉽게 전파가 되어 지지 않을까 한다. ) 환경광은 빛a가 물체 A에 부딪혀, 반사되어진 빛a가 물체 B에 다시 부딛혔을 때, 빛a는 물체B에 대하여 환경광(Ambient Light)라고 할 수 있다. 이런 빛을 다른 말로 간접광이라고도 하는데, 물체B에게 빛a는 간접적인 빛이기 때문이다. 이런 특성으로 인하여, 한 물체에 환경광은 복잡하게 부딛치게 되며, 여러 방향에서 발견되어 진다. 어찌보면 물체의 전반적인 부위에 평균적인 환경광량 만큼 물체에 부딛치게 되는 것이다. 백과사전에서 찾은 환경광의 정의이다. 표시해..
빛 이란, 과학적으로 설명된것을 인용하자면 즉, 일정한 에너지를 갖도록 셀 수있게 되어 있다에 초점을 둘 수 있다. 이런 빛 입자가 물체에 부딪치면, 흡수되어 지거나, 반사되어 진다. 각 물체의 재질에 따라 흡수 또는 반사 되어지는 빛 입자 종류가 다르며, 이런 차이로 서로 다르다는 것을 분별할수 있게 된다. 그런 분별력으로 각 차이의 명칭을 정했다. 이것은 색이라 불리며, 빨강색, 녹색, 파랑색 등의 세부 명칭을 둘수 있다. 빛의 흡수와 반사는 물체와 빛의 위치에 따른 입사각에 의해서 달라 질수 있다. 원리는 입사각이 0도 ~ 180도에서 90도가 원래 빛의 량을 받는다 했을 때, 90도가 전후로 그 빛의 량이 넒은 면적으로 흩어져 단위면적당 빛의 량이 줄어든다. 그림을 예로 들자면 이런 식을때, 빛의..
본 내용은 "Exceptional C++ : C++ 프로그래머를 자극하는 47개의 재미있는 퍼즐·문제" 책에서 문제만 발취한것임을 미리 밝힙니다. 문제 1. char_traits에서 ci_char_traits를 상속 받는 방식이 안전한가? 2. 왜 다음과 같은 코드가 컴파일에 실패했나? // 이 코드는 항목 2의 해결책으로 나온 코드 기반의 코드이다. ci_string s = "abc"; std::cout
최근댓글