분류 전체보기 536

프로그래밍을 위한 수학 - 벡터 기초

벡터 벡터는 “크기와 방향을 모두 가지는 어떤 양”으로 정의된다. 각 프레임마다 객체는 특정 수 픽셀만큼 가로 및 세로로 움직이도록 프로그래밍하게된다. 객체의 새로운 위치는 현 위치에 속도를 적용한 값이 된다. 위 그림을 코드로 옮기면 아래와 같다. // location = (this.x, this.y) this.x += this.vx // horizontal steps this.y += this.vy // vertical steps // new_location = (this.x, this.y) 벡터의 덧셈 두 벡터 u = (5, 2), v = (3, 4)가 있다고하면 u + v = (8, 6)이다. 두 벡터를 더한다는 것은 단순히 벡터의 성분 x와 y 값을 더하는 것이다. 코드상에서 중력을 표현할때도 ..

프로그래밍을 위한 수학 - X축과 직선이 이루는 사이각 구하기

마우스로 찍은 점을 기준으로 야구공이 회전하는 기능을 만들 것이라고 가정 해보자. 그림은...벡터로 되어있지만 어쨌든 검은색 화살표 끝이 가리키는 방향이 유저가 찍은 좌표 x, y라고 하겠다. 야구공은 얼마만큼 회전해야할까? 위에서 본 그림을 우리에게 익숙한 직각 삼각형으로 나타내면 사이각 θ에대해 이렇게 정리할 수 있다. 우리는 V에대해 모르기때문에, 탄젠트 식으로 θ값을 구할 것이다. 양변에 역탄젠트(Arctangent)를 취해주면 식은 θ에 대하여 정리된다. 구글에 Math.atan2를 쳐서 가장 위에나온 javascript atan2 메소드의 설명을 가져와 보았다. The Math. atan2() method returns a numeric value between -π and π represen..

[안드로이드] View를 터치 입력에 따라 회전하기 (핸들 구현)

이번에 만들어볼 것은 사용자의 터치 입력에따라 회전하는 핸들뷰다. 다양하게 활용할 수 있는데, 회사에서 뽑기 기계를 만들어보자는 아이디어에서 삼각함수로 뽀리면 되겠는데?! 라는 생각에서 만들어서 검증해보았다. xml은 터치 입력을 받을 view_touch와 ImageView인 handle 단 두개로 이루어져있다. center에는 touch view의 가운데 지점을 저장하고, handle 이미지 뷰를 정 중앙으로 옮긴다. val viewTouch = findViewById(R.id.view_touch) val handle = findViewById(R.id.handle) val center = PointF() viewTouch.viewTreeObserver.addOnGlobalLayoutListener(o..

애플 실리콘 칩(M1, M2) Python 환경설정 한번에 끝내기

1. PackageManager인 Homebrew 설치 echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile eval "$(opt/homebrew/bin/brew shellenv)" 2. Rosetta (인텔 CPU 호환용) 설치 softwareupdate --install-rosetta 3. python 설치 brew install python 이 글은 파이썬 3.7을 기준으로 하고 있다. 3. ~/.zshrc를 만들어서shell 설정 파일을 추가한다. vi ~/.zshrc export LDFLAGS="-L/opt/homebrew-x86_64/opt/mysql-client/lib" export CPPFLAGS="-I/opt/homebrew-x..

[안드로이드] 실시간 네크워크 상태 callbackFlow를 이용해 만들어보자! (Youtube 인터넷 연결처럼 구현)

Youtube를 보다가 네트워크가 끊겨버렸을때 앱은 이를 알아차리고 "네트워크 연결이 불안정합니다" 같은 텍스트가 보여진다. 그러다 네트워크가 연결이되면 별 액션을 취하지 않아도 영상 목록이 뜨게된다. 계속 polling을 하는건가? 싶었지만 찾아보니 그렇게 하지 않아도 되었다. 바로 NetworkCallback을 이용하면 쉽게 구현할 수 있는데, 이 글에서는 Kotlin CallbackFlow를 이용하여 Flow로 만들어서 사용해보려고 한다. NetworkStatusTracker 우리가 만들 NetworkStatusTracker는 다음과 같은 기능을 가진다. 네트워크가 연결되면 이벤트를 방출한다. 네트워크가 끊어지면 이벤트를 방출한다. 먼저, 네트워크 연결 상태를 정의해준다. sealed class N..

[Android] 멋진 오픈소스 프로젝트 모음 - Awesome Android Kotlin Apps

https://github.com/androiddevnotes/awesome-android-kotlin-apps GitHub - androiddevnotes/awesome-android-kotlin-apps: 👓 A curated list of awesome android kotlin apps by open-source contribu 👓 A curated list of awesome android kotlin apps by open-source contributors. - GitHub - androiddevnotes/awesome-android-kotlin-apps: 👓 A curated list of awesome android kotlin apps by open-source c... github.c..

[서울대] 앤미 - 일본 가정식

서울대입구역에서 멀지않은 곳에 위치해있는 앤미. 예전엔 일본 가정식 집이 많았던거 같은데 요즘은 사라져서 검색해서 찾아갔다. 여기에서 쇼가야키 정식과 부타가쿠니 정식을 먹어봤는데, 개인적으로는 부타가쿠니가 더 맛있었다. 반찬은 다 똑같이 나오는 듯한데 평소에 먹어볼 수 없는걸로 구성이 되서 신선함을 느낄 수 있다. 고추같은 간단한 반찬은 더 주시기도! 물도 보리차라서 식사나오기 전에 살짝먹어두면 입맛이 돈다. 모든 반찬이 맛있지만 김치역할을 해주는게 고추 장아찌이고, 전체적으로 간장베이스인 와중에 유자두부를 살짝 먹어주면 상쾌함이 가득 느껴진다!! 유자두부는 혁신이야...이거 더달라고 하고싶었지만 맨날참는다. 3mm로 잘라서 아껴먹어야함 ㅋㅋㅋ 식사를 끝내면 산딸기 2개를 먹고 일어나면 완벽~! 다음에 ..

[중앙대] 장독대 - 파전

중앙대 앞에 위치한 장독대라는 막걸리집이다. 대학가의 일반적인 막걸리집이 가지고 있는 평범한 메뉴들로 구성되어있다. 파전, 두부김치제육, 묵 등... 하지만 파전의 클라스가 여태까지 먹었던 것과 사뭇다르다. 파전안에 들어간것도...지금 뒤늦게쓰려니 기억이안나는데 뭔가 감자로 파전을 만든 것처럼 바삭바삭하면서도 목마르지 않다. 분위기가 좀 시끌시끌한 편인데, 매너있게 딩동벨이 있어서 나같은 내향인들도 자신있게 메뉴를 시킬수있다...ㅎㅎ 파전외에도 기본적으로 요리 실력이 좋으신건지 밑반찬까지도 다 맛있었다.