R&E: research & education
-
Plane sweep algorithmR&E: research & education/Research 2021. 12. 4. 13:00
Plane sweep algorithm은 서로 겹치는 직사각형들이 주어질때, 직사각형이 총 차지하는 면적을 구하는 문제에 주로 사용됩니다. 아래 기술하는 알고리즘이 완벽한 plane sweep algorithm은 아니자만, 특별한 상황이 아닌 이상 plane sweep algorithm을 사용하는데는 지장이 없을 겁니다. 정확한 plane sweep algorithm은 아래 pdf를 참고해주시면 감사하겠습니다.아래 직사각형이 겹쳐졌을때 총 넓이를 구한다 가정해봅시다. 먼저 직사각형의 가로선들을 포함하는, x축에 평행한 직선들을 추출해냅니다. 직사각형의 가로선들로 Y[]배열을 만듭니다.배열을 만들어낸 후에는, 오름차순으로 정렬하고, 중복된 값들을 제거하여 Y[]배열을 완성합니다.Y[0]Y[1]Y[2]Y[3..
-
C언어 NIST a statistical Test Suite for Random and Pseudo random Number Generators for Ctyptographic Applications에 관련된 자료R&E: research & education/Research 2021. 5. 22. 13:00
오늘은 난수에 대한 자료들을 다루어보겠습니다NIST에서 권장하는 난수 생성의 기준이라고 할까요? 그정도 느낌의 자료입니다.영어로 된 자료는 많지만, 한국어로 된 자료는 없어서 내가 볼겸, 정보공유를 할 겸 해서 포스트를 하게 되었습니다일단 pdf를 먼저 올려드리도록 하겠습니다이 pdf는 어떻게 수가 난수인지를 판별하는가에 대한 13가지의 기준을 설명하고 있습니다. 모든 기준을 만족해야 random number라 할 수 있구요, 각종 통계학에서 사용되는 것으로 보이는 함수들을 수식에 다량 사용하고 있습니다. 개인적으로는 뒤로 갈수록 수식이 더 복잡해지는 것 같았습니다. NIST에서는 이 random 판별 방식의 소스또한 공개하고 있습니다.(아래 사이트를 클릭하시면 자료를 가져온 사이트로 가실 수 있습니다)..
-
C언어 math.h에서 파이값 가져오는 방법R&E: research & education/Research 2021. 5. 15. 13:00
이번주에도 간단하게 C언어 파이값을 비롯해, 자연상수, 자연상수 로그값, 자연소그부터 루트 파이와 2 분의 파이 등 다양한 상수값?들을 알아내는 방법을 알아봅시다.이 방법은 개인적으로 알면 별거 아닌데, 모르고있다 알게되면 '아...'하게 되는 내용입니다.참고로 비주얼 스튜디오를 기준으로 설명드리는 겁니다. gcc에서는 높은 확률로 작동이 안될겁니다.+ 2주연속 간단한 내용이라 죄송합니다. 다음주에는 NIST에서 권장하는 난수 판독기로 돌아오겠습니다코드#include #define _USE_MATH_DEFINES#include //이제 여러분은 이 소스에서 math.h에서 지원하는 모든 매크로(define)들을 사용할 수 있습니다.int main(void) { return 0;} 사용가능한 매크로들 (..
-
C언어 array[-1]에 접근할 수 있는 방법R&E: research & education/Research 2021. 5. 8. 13:00
오늘은 거대한, signature 프로젝트 보다는간단하게 신기한 코드를 알아보도록 합시다.이건 제가 알아낸 방법이며, 어디든 퍼가도 좋으니 제발 퍼가신다면 출처에 KMS studio라고 잘보이게 써주세요코드#include int main(void) { int array_s[5] = { 0, 1, 2, 3, 4 }; int* arr = array_s + 4; int i; printf("arr[-3] = %d\n\n", arr[-3]); for (i = -4; i 출력결과원리간단한 원리로 "이게 될까?"했는데 "이게 되네?"가 되서 올립니다.사실 포인터만 배우시면 이정도 프로그램 원리는 알 것이라 생각합니다. printf 부분만 보면 런타임에러가 발생하거나 쓰레기 값이 출력될 것 같은 생긴 코드지만arr[-..