質問: Vec2(floor(vec.x / 32),floor(-vec.y / 32)); ```
回答: これでどうでしょう。 【クォータビューの作り方 | 2dgames.jp】 http://2dgames.jp/2012/05/22/クォータビューの作り方/ > > 右回りに45度回転させる数式を以下に書いていきます。 > > w = チップの幅 > > h = チップの高さ > > x = マップチップ座標(X) > > y = マップチップ座標(Y) > > X = クォータービュー座標(X) > > Y = クォータービュー座標(Y) > > とします。 > > > ■マップチップ座標からクォータービュー座標に変換する > > マップチップ座標からクォータービュー座標に変換する場合は、 > > `X = w * ( x + y )` > > `Y = h * ( x - y )` > > となります。 > > > ■クォータービュー座標からマップチップ座標に変換する > > クォータービュー座標からマップチップ座標に変換する場合は、 > > `x = X / 2w + Y / 2h` > > `y = X / 2w - Y / 2h` > > となります。 > > > **追記:** いっそのこと「**射影変換**」してしまえばたとえ遠近法で歪んだスクエアでも点の位置を取得できます。そのため奥行きを考慮しなくても、マップの表示上の四隅の座標と正方形マップとして扱ったときの四隅の座標から、目的の座標を出せます。 【射影変換(ホモグラフィ)について理解してみる - デジタル・デザイン・ラボラトリーな日々】 【Saqoosha :: スーパー高速に射影変換するには】 【射影変換 (Homography) - jsdo.it - Share JavaScript, HTML5 and CSS】 【Homography « HIDIHO!】 【Processingで射影変換(ホモグラフィ) | 慶應義塾大学 中西泰人研究室】 上記リンクから考え方とスクリプトの組み方がなんとなく掴めると思います。