3次元回転を扱う、ロドリゲスの回転公式とクォータニオンの中間の方法
3次元回転を扱う際、以下のような方法がよく知られています。 オイラー角 回転行列 ロドリゲスの回転公式(軸角表現) クォータニオン これらに比べて言及されることが少ないですが、「オイラー–ロドリ...
115 search resultsShowing 1~20 results
You need to log-in
3次元回転を扱う際、以下のような方法がよく知られています。 オイラー角 回転行列 ロドリゲスの回転公式(軸角表現) クォータニオン これらに比べて言及されることが少ないですが、「オイラー–ロドリ...
任意方向の軸を中心にした三次元回転を計算する際、四元数(クォータニオン、quaternion)を用いる方法がよく使われる。 \displaylines{ p' = q p \bar{q} \\ ...
コードの1行が長くなってしまった際など、可読性のために改行を入れて次の行に折り返すことがある。 Ruby では改行を入れる場所によって、 次の行に続いている と判断される場合と、 文の区切りであ...
したいこと 長さ N の2つの数列 A = (A0, …, AN-1), B = (B0, …, BN-1) から、同じく長さ N の数列 C = (C0, …, CN-1) を以下のように計算...
多次元配列NArrayの機能を利用すれば、ワーシャル–フロイド法の3重ループのうち内側2つを書かなくてよくなる。Rubyレベルの記述が減ることで計算速度も向上する。 (AtCoderのコンテスト...
(確認した Ruby バージョン: 3.2.2, 3.3.7) 節目の AtCoder Beginner Contest 400 に Ruby で参加したら、C問題で謎のWAになって苦しんだ。 ...
Ruby でブロック付きメソッド呼び出しを省略する際、最後の引数に &obj という形で #to_proc を持つオブジェクトを指定する。 経験的にはメソッド名の Symbol を指定す...
仕事でとある処理を実装する際、下図のような階層構造をしたデータを扱うことになった。 最上位のどこを起点にしても配下は木構造(有向木)になっているので、例えば各ディレクトリに属するファイルを数えた...
上の問題の解き方を考えていたら、昨年学習したことを利用して解けたのでメモ。 ABC285 C問題:ゼロを使わないN進法についてのメモ - Qiita 解答 K を "bijective base...
したいこと 競技プログラミングでたまに「インタラクティブな問題」が出るが、それをコードテストのページで動作確認したい。 その際、提出する Ruby のコードは gets や puts などを使っ...
2018年3月21日は春分の日。昼と夜がちょうど同じ長さ…ではないのだが、太陽の動きを観察したとき1年間の節目のひとつになっている。 毎日同じ時刻(例えば昼の12時)に太陽の位置を記録したら、1...
競プロで必要になったときのため & アルゴリズムの勉強のため。 平衡二分探索木(self-balancing binary search tree)を調べたらいくつか出てきたが、基礎的な考え方を...
上の問題で、表計算ソフトの列番号によくある A, B, … , Z, AA, … といった文字列が何番目を指すのかを問われた。 何となく A → 1, B → 2, … , Z → 26 と「ゼ...
2020年4月12日開催の AtCoder Beginner Contest 162 から、正式に Ruby 2.7 が使えるようになった。 お知らせ 本コンテストから、使用可能言語が変更となり...
1 + nil などがエラーでなく nil を返すようにしたかったが、 refinements で NilClass#coerce を生やす方法はうまくいかなかった。たぶん refinement...
SAVE と LOAD の処理を高速にする方法を考えていたら、「これって Git みたいなものを作れ ってことか」と思い至った。 だったら 本物の Git を使っても解けるのでは? と思い、やっ...
以前に next_permutation のアルゴリズムを勉強していた際、配列の一部分だけを逆順に並べ替える操作が(メソッド一発では)できないことが気になった。 C++ の std::rever...
目的 Rubyの数値クラスの仕組みを知る 特に、異なるクラス間での演算はどう実現しているのか 新しい数値クラスの導入にはどう備えているのか 四元数クラスを手に入れる 要件として、組み込みの複素数...
case 式で when 10..20, -20..-10 とはできるのに、 Enumerable#grep で ary.grep(10..20, -20..-10) とはできない。これをどうに...
以下の書き方ってOKだっけ? そして結果は何? と思ったので調査。 array = [1, 2, 3] hash = { x: 4, y: 5, z: 6 } p( [ *array ] ) ...
115 search resultsShowing 1~20 results
Qiita is a knowledge sharing service for engineers.