벡터를 정규화한 뒤 유클리드 거리를 계산한다면, 단순한 행렬 곱(matmul)로도 같은 결과를 얻을 수 있음
정규화된 벡터에서는 유클리드 거리가 코사인 거리의 선형 변환이기 때문임
실제 거리값이 아니라 순위(ranking) 만 중요하다면 sqrt 연산을 생략해도 동일한 결과를 얻을 수 있고, 약간 더 빠르게 계산됨
이런 걸 90년대에 게임 엔진 개발할 때 알았더라면 정말 좋았을 것 같음
이런 종류의 글을 정말 좋아함. 겉보기엔 단순해 보여도, 멋지게 만들려면 깊이 있는 탐구가 필요함
Lucas Pope이 Return of The Obra Dinn의 디더링 시스템을 개발하며 쓴 글도 추천함 Lucas Pope의 개발기
“토성 이미지를 ChatGPT로 생성했다”는 문장을 보고 놀람
실제 토성 사진은 공개 도메인에 널려 있는데, 왜 굳이 가짜 이미지를 만들어 인터넷을 오염시키는지 의문임
“토성 이미지를 ChatGPT로 만들었다”는 건 시작에 불과함
언젠가 위키나 웹사이트, 포럼조차 직접 안 쓰게 될지도 모름
“X×Y 크기의 고대비 토성 이미지”를 즉시 생성할 수 있다면, 그건 마법 같은 변화일 것임
계산기나 인터넷이 창의성을 죽이지 않았듯, 인간은 언제나 마찰이 가장 적은 도구를 선택하며 계속 별을 향해 나아갈 것임
예시를 볼 때마다 “좋긴 한데 더 개선할 수 있겠는데?”라고 생각했는데, 저자가 실제로 그걸 해결해줘서 감탄했음
정말 아름다운 글이며, 블로그 전체가 이런 깊이 있는 수준이라 구독할 가치가 있음 alexharri.com/blog
ascii-side-of-the-moon 프로젝트를 만들 때 ASCII 렌더러를 직접 구현해볼까 고민했었음
결국 chafa를 사용했지만, 언젠가 다시 시도해볼 생각임
혹시 이걸 라이브러리로 공개할 계획이 있는지, 아니면 웹사이트 코드를 참고해도 되는지 궁금함
ASCII Moon 도구는 정말 재밌게 써봤음
지금은 라이브러리 계획은 없지만, 필요하면 웹사이트 코드를 자유롭게 가져가도 됨
만약 만든다면 WebGL 2 → WebGL 1 변환으로 호환성을 높이고, 폰트별로 shape vector를 미리 계산하는 도구도 필요할 것 같음
“ASCII 아트에서 shape을 활용한 예는 본 적이 없다”는 말에 대해, 실제로 shape을 사용하는 생성기가 있음 ascii-silhouettify라는 프로젝트로, 색 영역의 외곽선에 맞춰 가장 큰 문자를 선택하는 알고리즘을 사용함
다만 속도는 약 150배 느린 듯함. 샘플링 해상도를 높이면 비슷한 선명도를 얻을 수 있을 것 같음
Acerola가 2024년에 엣지 감지 기반 ASCII 렌더링을 시도했음
밝기 기반 패스 위에 방향성 있는 기호(| / - )를 겹쳐 표현하는 방식이었음 관련 영상 참고
이 영역에도 스타일의 여지가 많을 것 같음
예를 들어 전통 2D 아트처럼 굵은 경계선을 쓰거나, Chiaroscuro처럼 부드러운 명암 대비를 표현하는 식으로 다양하게 시도 가능함
대부분의 ASCII 필터는 글리프의 형태(shape) 를 고려하지 않음
chafa는 각 글리프를 8×8 비트맵으로 처리하는데, 이 접근이 인상적이었음 chafa 소스와 갤러리를 보면 그 정교함을 느낄 수 있음
chafa 갤러리에는 ASCII 텍스트 렌더링 예시는 없던데, 혹시 그런 예시도 있는지 궁금함
나도 대학 시절 8×8 비트맵을 64비트 정수로 변환해 popcnt로 비교하는 방식을 썼었음
방향성 중심 접근이 더 큰 형태를 잘 표현할 수 있을지 궁금함
개인적으로는 IBM Code Page 437 글리프들이 가장 마음에 듦 oldschool PC fonts를 보면 정말 끝없는 토끼굴 같음
여가 시간에 점자 기반 컬러 그래픽을 실험 중임
해상도는 충분하지만 색상 표현의 정밀도가 부족해, 샘플링 후 대비 보정(contrast fixup) 이 필요함
작성자의 샘플링 기법을 색상 대비 강화에 적용해보면 좋을 것 같음
이전에는 Sobel 필터로 대비를 높이려 했지만, 문자 격자와 정렬이 맞지 않아 실패했음
정말 훌륭한 기술적 접근과 깊이 있는 분석이었음
마지막에 Cognition cube array의 개선 버전을 볼 수 있을까 기대했는데 없어서 아쉬웠음
예전에 유튜브에서 서브픽셀 컬러 대비로 더 나은 파비콘을 구현한 디자이너가 떠올랐음 관련 글 (Web Archive)
나도 그 Cognition 로고의 대비 강화 버전을 보고 싶었음
그래도 글 자체는 훌륭했고, 동적 예시들은 정말 인상적이었음
Hacker News 의견들
벡터를 정규화한 뒤 유클리드 거리를 계산한다면, 단순한 행렬 곱(matmul)로도 같은 결과를 얻을 수 있음
정규화된 벡터에서는 유클리드 거리가 코사인 거리의 선형 변환이기 때문임
실제 거리값이 아니라 순위(ranking) 만 중요하다면 sqrt 연산을 생략해도 동일한 결과를 얻을 수 있고, 약간 더 빠르게 계산됨
이런 종류의 글을 정말 좋아함. 겉보기엔 단순해 보여도, 멋지게 만들려면 깊이 있는 탐구가 필요함
Lucas Pope이 Return of The Obra Dinn의 디더링 시스템을 개발하며 쓴 글도 추천함
Lucas Pope의 개발기
“토성 이미지를 ChatGPT로 생성했다”는 문장을 보고 놀람
실제 토성 사진은 공개 도메인에 널려 있는데, 왜 굳이 가짜 이미지를 만들어 인터넷을 오염시키는지 의문임
언젠가 위키나 웹사이트, 포럼조차 직접 안 쓰게 될지도 모름
“X×Y 크기의 고대비 토성 이미지”를 즉시 생성할 수 있다면, 그건 마법 같은 변화일 것임
계산기나 인터넷이 창의성을 죽이지 않았듯, 인간은 언제나 마찰이 가장 적은 도구를 선택하며 계속 별을 향해 나아갈 것임
예시를 볼 때마다 “좋긴 한데 더 개선할 수 있겠는데?”라고 생각했는데, 저자가 실제로 그걸 해결해줘서 감탄했음
정말 아름다운 글이며, 블로그 전체가 이런 깊이 있는 수준이라 구독할 가치가 있음
alexharri.com/blog
ascii-side-of-the-moon 프로젝트를 만들 때 ASCII 렌더러를 직접 구현해볼까 고민했었음
결국 chafa를 사용했지만, 언젠가 다시 시도해볼 생각임
혹시 이걸 라이브러리로 공개할 계획이 있는지, 아니면 웹사이트 코드를 참고해도 되는지 궁금함
지금은 라이브러리 계획은 없지만, 필요하면 웹사이트 코드를 자유롭게 가져가도 됨
만약 만든다면 WebGL 2 → WebGL 1 변환으로 호환성을 높이고, 폰트별로 shape vector를 미리 계산하는 도구도 필요할 것 같음
“ASCII 아트에서 shape을 활용한 예는 본 적이 없다”는 말에 대해, 실제로 shape을 사용하는 생성기가 있음
ascii-silhouettify라는 프로젝트로, 색 영역의 외곽선에 맞춰 가장 큰 문자를 선택하는 알고리즘을 사용함
Acerola가 2024년에 엣지 감지 기반 ASCII 렌더링을 시도했음
밝기 기반 패스 위에 방향성 있는 기호(| / - )를 겹쳐 표현하는 방식이었음
관련 영상 참고
예를 들어 전통 2D 아트처럼 굵은 경계선을 쓰거나, Chiaroscuro처럼 부드러운 명암 대비를 표현하는 식으로 다양하게 시도 가능함
대부분의 ASCII 필터는 글리프의 형태(shape) 를 고려하지 않음
chafa는 각 글리프를 8×8 비트맵으로 처리하는데, 이 접근이 인상적이었음
chafa 소스와 갤러리를 보면 그 정교함을 느낄 수 있음
방향성 중심 접근이 더 큰 형태를 잘 표현할 수 있을지 궁금함
oldschool PC fonts를 보면 정말 끝없는 토끼굴 같음
여가 시간에 점자 기반 컬러 그래픽을 실험 중임
해상도는 충분하지만 색상 표현의 정밀도가 부족해, 샘플링 후 대비 보정(contrast fixup) 이 필요함
작성자의 샘플링 기법을 색상 대비 강화에 적용해보면 좋을 것 같음
이전에는 Sobel 필터로 대비를 높이려 했지만, 문자 격자와 정렬이 맞지 않아 실패했음
정말 훌륭한 기술적 접근과 깊이 있는 분석이었음
마지막에 Cognition cube array의 개선 버전을 볼 수 있을까 기대했는데 없어서 아쉬웠음
예전에 유튜브에서 서브픽셀 컬러 대비로 더 나은 파비콘을 구현한 디자이너가 떠올랐음
관련 글 (Web Archive)
그래도 글 자체는 훌륭했고, 동적 예시들은 정말 인상적이었음