私は惑星を周回させている軌道シミュレーションに取り組んでいますが、内側の 3 つの惑星を見ると、軌道の破線からずれています。軌道の底では、惑星は線の下にあります。軌道の最上部では、惑星は破線の上か上にあります。
ここで実例を見ることができます。
これは境界線の幅が考慮されていないことに関係していると思いますが、問題を修正しようとしてもうまくいきませんでした。現在、outerWidth() と outerHeight() を使用していますが、うまくいかないようです。
これは関連するコードです。
var width = parseFloat($(this).parent().outerWidth()) / 2;
var height = parseFloat($(this).parent().outerHeight()) / 2;
var point = getPoint(width, height, angle * (Math.PI / 180));
$(this).css('left', point[0] + ($(this).parent().outerWidth() / 2) + 'px');
$(this).css('top', point[1] + ($(this).parent().outerHeight() / 2) + 'px');
getPoint
機能は次のとおりです。
function getPoint(width, height, angle)
{
var x = parseFloat(width) * Math.cos(angle);
var y = parseFloat(height) * Math.sin(angle);
return [x, y];
}