전체 글
-
c++ 백준 1676번 팩토리얼의 0의 개수Programming 기초/C++ 2024. 8. 20. 11:16
팩토리얼은 오버플로우가 생기기 쉽다. n이 500 까지이므로 팩토리얼을 계산한 후에 10으로 나누어 0의 개수를 세는 방법은 적절치 않다.대체 방법으로 모든 수를 소인수 분해해서 5의 거듭제곱이 각각 몇 개 있는지 파악하는 방식이 있다.#include using namespace std;int countZeros(int n){ int count = 0; for (int i = 5; n / i > 0; i *= 5) { count += n / i; } return count;}int main(int argc, char **argv){ int N; cin >> N; int cnt = countZeros(N); cout 10!을 생각해보자.10*..
-
3D Gaussian splatting - SuGaR , dockerfile 작성Machine Learning 2024. 8. 18. 20:39
깃허브 과정을 따라가면 쉽게 설치가능하다.조금 더 쉽게 하기 위해 도커파일을 작성했다. # Use the base image with PyTorch and CUDA supportFROM nvidia/cuda:11.8.0-devel-ubuntu22.04ENV DEBIAN_FRONTEND=noninteractiveSHELL ["/bin/bash", "--login", "-c"]COPY --from=continuumio/miniconda3:23.10.0-1 /opt/conda /opt/condaENV PATH=/opt/conda/bin:$PATHENV TORCH_CUDA_ARCH_LIST="3.5;5.0;6.0;6.1;7.0;7.5;8.0;8.6+PTX"# Update and install tzdata se..
-
3D computer graphics historyFramework 2024. 8. 16. 23:28
컴퓨터 그래픽스는 그림을 생성하는 기술이고, 영상처리(digital image processing)는 기존의 그림을 개선하거나 인식하는 분야다. 래스터 그래픽 장치와 벡터 그래픽 장치에 대해 알아보자. 1. 래스터(raster) 그래픽 장치래스터(raster)는 화소(pixel)를 의미하고, 래스터 그래픽 장치는 화면을 화소 단위로 표현하는 장치다. 1970년대에 개발되었다. 진공관 모니터에서 이미지 영상을 띄우는 과정을 통해 래스터 그래픽 장치를 설명하겠다.진공관 모니터(음극선관, CRT)는 브라운관이라고 불리는 뚱뚱한 옛날 모니터이다. 진공관 컬러 모니터는 RGB 색을 띤 인점(Phosphor Dot)로 구성되어 있다. 진공관 모니터는 필라멘트를 가열해서 전자빔을 쏴주는 일종의 전자총을 갖고 있..
-
jetson orin nano에 azure kinect dk SDK + ROS2 humble 설치하기SLAM 2024. 8. 14. 01:31
jetson orin nano에 jetpack6를 설치한 후에 azure kinect dk를 사용하고자 했다. 설치과정이 꽤나 까다로워서 도커파일을 작성했다. 우선 host pc에도 도커파일 내용과 비슷한 방법으로 libk4a1.4, k4a-tools 패키지를 설치해뒀다. 그리고 , sudo 명령어를 사용하지 않고 k4aviewer를 사용하기 위해 아래와 같이 rules 파일을 복사하는 과정을 수행했다.https://github.com/microsoft/Azure-Kinect-Sensor-SDK/blob/develop/docs/usage.md#linux-device-setup 그 뒤에 아래 도커파일을 빌드하여 도커 개발환경을 구성한 것이기 때문에 위의 과정이 있었음을 참고하길 바란다. docker im..
-
STL 컨테이너Programming 기초/C++ 2024. 8. 11. 15:41
* 컨테이너컨테이너는 같은 타입을 저장, 관리할 목적으로 만들어진 클래스(총 7가지 컨테이너 제공) - 표준 시퀀스 컨테이너(standard sequence container): 컨테이너 원소가 자신만의 삽입 위치(순서)를 가지는 컨테이너vector, deque, list: 선형적 - 표준 연관 컨테이너(standard associative container): 저장 원소가 삽입 순서와 다르게 특정 정렬 기준에 의해 자동 정렬되는 컨테이너set, multiset, map, multimap: 비선형적 * 데이터를 하나의 연속한 메모리 단위로 저장하느냐에 따라 컨테이너를 분류 - 배열 기반 컨테이너(arrray-based container): 데이터 여러 개가 하나의 메모리 단위에 저장vector, deq..
-
벡터의 내적은 왜 성분 곱의 합으로 표현되는가Mathematics 2024. 8. 7. 02:13
A = B = 이라고 해보자.$(A \cdot B)=|A||B|cos\theta = a \cdot x + b \cdot y $ 이다. 이 벡터의 내적이 왜 요소 곱의 합으로 표현될까.제 2 코사인 법칙으로 요소의 곱의 합으로 표현되는 것을 유도할 수 있다. 간단하게 표현된 ax+by에 어떤 수학적 동기가 숨어있는지 궁금했다. 찾아봤지만 뭔가 시원하게 해명되지 않았다. 아래 글을 보고 어느정도 ax+by의 의미를 받아드릴 수 있었다.https://angeloyeo.github.io/2020/09/09/row_vector_and_inner_product.html#google_vignette 벡터의 내적의 결과물은 스칼라이다. ax + by 는 어떤 상수 c가 된다는 것이다. 두 벡터의 내적의 결과..
-
jetson orin nano ubuntu 22.04 설치 (JetPack 6)SLAM 2024. 8. 5. 19:04
jetson에 ubuntu를 설치하기 위해선 ubuntu가 설치된 host pc가 필요했던 것 같으나 이젠 sd 카드만으로 설치가능하다고 한다.jetson 공식문서를 보면서 설치한 과정을 한글로 기록하고 다른 분들에게도 도움이 되었으면 한다. https://developer.nvidia.com/embedded/learn/get-started-jetson-orin-nano-devkit JetPack6.0은 ubuntu 22.04, TensorRT 8.6.2, DLA 3.14, cuDNN 8.9.4, CUDA 12.2.1 등을 포함하고 있다. 목표: jetpack6 설치사전 준비물 : usb 키보드, usb마우스, DP케이블과 모니터, SD카드, SD카드 어댑터(PC에 연결하기 위해 필요) 0. SD 카드..
-
[wsl] ubuntu 설치et al 2024. 7. 30. 18:24
0. powershell을 관리자 권한으로 실행한다. 1. wsl 설치 목록 확인wsl -l -v 2. 설치 가능한 배포판 목록 확인wsl -l -o 3. ubuntu설치 후 user name 및 비밀번호 설정wsl --install -d ubuntu-18.04Enter new UNIX username: Enter new UNIX password:Retype new UNIX password: 4. 설치 목록 다시 확인exit로 ubuntu 환경에서 나온 뒤에 아래 명령어를 입력하면 ubuntu 18.04가 잘 설치 된 것을 볼 수 있다.wsl -l -v 5. 삭제만약 우분투를 삭제하고 싶으면 아래 명령어로 삭제할 수 있다.wslconfig /u Ubuntu-18.04 참고https://datanav..