GPT-4oさんに「ソースコード読むよりも、仕様書読むほうがよくね?」(超超超意訳)ってことで読んでなるほどってなった><
CSS Easing Functions Level 2
2.2. Cubic Bézier Easing Functions: ease, ease-in, ease-out, ease-in-out, cubic-bezier()
https://drafts.csswg.org/css-easing/#cubic-bezier-easing-functions
Firefoxのソースコードの当該部分探そうとしたけど読みづらい><;
それらしきテストコードは見つけた><
firefox/servo/tests/unit/style/parsing/transition_timing_function.rs at 618678dd32e52dbaa8a56d72c6655032f48068b3 · mozilla-firefox/firefox
https://github.com/mozilla-firefox/firefox/blob/618678dd32e52dbaa8a56d72c6655032f48068b3/servo/tests/unit/style/parsing/transition_timing_function.rs#L10
Gemini曰く
"まとめると、CSSはベジェ曲線を「時間の進行(X)が与えられたときに、それに対応するプロパティ値の進行(Y)を返す関数」として利用しており、内部的にその対応を見つけるために数学的なパラメータtを介している、ということです。"
ので、間違ってないですらしい・・・><
(ほんとかどうかはわかんない><;)
やっと理解したので本題に戻ってきて、
transition-timing-function - CSS: カスケーディングスタイルシート | MDN
https://developer.mozilla.org/ja/docs/Web/CSS/transition-timing-function
"linear
cubic-bezier(0.0, 0.0, 1.0, 1.0) と同等であり、トランジションは均等の速度になります。"
・・・これは間違ってるんでは?><;
4oさんに聞いたら「幾何学としては直線」であれば正しいと言われた><;
線形関数で言う直線(?)とは違うので、そこは混同しないように幾何学としてって明示しないと誤りになるっぽい・・・?><
@orange_in_space いちおう結論出ましたcubic-bezier(0.0, 1/3, 2/3, 1.0)で一致します.
ChatGPTがこういう返しをするということは,おそらく一部にそういう誤解があるのだと思われる.
P0=P1,P2=P3にすると,たしかに前半の係数と後半の係数で加減が一致する部分が出るんだけど,それにP0,P3がかかることを忘れてるねコレ.
東北新幹線の2度の連結外れ 車両は別でも電気信号送る基板は同じ:朝日新聞 https://www.asahi.com/articles/AST61149VT61UTIL03DM.html
1回目の分離事故を起こした当該編成の基盤を外して、別の編成に付け替えたら、そいつがまた分離事故(2回目)を起こしたと……