-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
:newcoords+:rotateを繰り返し使うとずれていく #448
Comments
|
jmanual.pdfの p.128 座標系を変更するメソッドに書いてありますが、 それと、#2f((...)) はリードマクロなので、以下の問題と同じで、 そういう観点でデバッグしてみてください。 |
@YoheiKakiuchi なるほどありがとうございます。
そもそも関数内でリードマクロを使うと、その関数を呼び出すたびに同じインスタンスが呼び出されるみたいなので、今回の問題はその時に値が定義されている値にならずにどんどんズレてしまうのが問題なのでしょうか。
https://gist.github.com/Kanazawanaoaki/2ae3645f4d9f2f391bb1f9d560ab912e#file-address-test-l
|
根本的な解決には無いっていないのかもしれませんが、
これが解決策なのかなと思います。 |
ちなみにですが,こういった金沢君のように新しいcoordinateに物体を移動したい場合は,どうやるのがいいのでしょうか? |
第一に気を付けることには、defunの中にリードマクロを入れないようにするがあります。 coordinatesクラスを作る時は、
また、jmanual.pdfの p.128 座標系を変更するメソッドを書いた経緯としては、 値が直接使われるものを知っておきたいという意図もありました。 |
:newcoords
をした後に:rotate
をする関数を繰り返し使うと、どんどん座標がずれていってしまいます。https://gist.github.com/Kanazawanaoaki/2ae3645f4d9f2f391bb1f9d560ab912e#file-arrow-bag-test-l
のように
newcoords
をした後にそれぞれ45度、90度回転させる関数(set1)
、(set2)
を定義すると同じ関数繰り返すとずれていき、
2つの関数を連続して使うと一回ずつならばうまく行きます。
2つの関数を繰り返し使うとそれぞれでずれていきます。
解決策としては、回転させる角度が決まっている場合は事前に
:rotate
をした後の座標を:newcoords
に渡せば良いのかなと思いますが、何が問題で何が起きているのでしょうか?The text was updated successfully, but these errors were encountered: