[解決済み】円弧(のSVGパス)を計算する方法)
2022-04-07 21:12:59
質問
(200,200)を中心とする半径25の円があるとき、270度から135度までの弧と270度から45度までの弧はどのように描くのでしょうか。
0度とは、X軸上(右側)のこと(3時の位置という意味です) 270度は12時の位置、90度は6時の位置を意味します。
より一般的には、円の一部を構成する円弧の経路は、次のようになります。
x, y, r, d1, d2, direction
意味
center (x,y), radius r, degree_start, degree_end, direction
解決方法は?
wdebeaumさんの素晴らしい回答を発展させて、円弧状のパスを生成する方法を紹介します。
function polarToCartesian(centerX, centerY, radius, angleInDegrees) {
var angleInRadians = (angleInDegrees-90) * Math.PI / 180.0;
return {
x: centerX + (radius * Math.cos(angleInRadians)),
y: centerY + (radius * Math.sin(angleInRadians))
};
}
function describeArc(x, y, radius, startAngle, endAngle){
var start = polarToCartesian(x, y, radius, endAngle);
var end = polarToCartesian(x, y, radius, startAngle);
var largeArcFlag = endAngle - startAngle <= 180 ? "0" : "1";
var d = [
"M", start.x, start.y,
"A", radius, radius, 0, largeArcFlag, 0, end.x, end.y
].join(" ");
return d;
}
を使用します。
document.getElementById("arc1").setAttribute("d", describeArc(200, 400, 100, 0, 180));
そして、あなたのhtmlの中に
<path id="arc1" fill="none" stroke="#446688" stroke-width="20" />
関連
-
[解決済み] d3.jsでノードのダブルクリックイベントを作成するにはどうすればよいですか?
-
[解決済み] getBBox() SVGRectはどのように計算するのですか?
-
[解決済み] SafariでSvg画像要素が表示されない
-
[解決済み] svg要素の色を変更するには?
-
[解決済み] Do I use <img>, <object>, or <embed> for SVG files?
-
[解決済み] ImageMagickでSVGをPNGに変換する方法は?
-
[解決済み] CSSを使用してSVG画像の色を変更する方法(jQuery SVG image replacement)とは?
-
[解決済み】円弧(のSVGパス)を計算する方法)
-
[解決済み】SVGファイル内のtransformを削除する方法
-
[解決済み] SVG における text 要素の垂直アライメント
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】SVGオブジェクトの拡大縮小とミラーリング
-
[解決済み] d3.jsでノードのダブルクリックイベントを作成するにはどうすればよいですか?
-
[解決済み] getBBox() SVGRectはどのように計算するのですか?
-
[解決済み] SafariでSvg画像要素が表示されない
-
[解決済み] ImageMagickでSVGをPNGに変換する方法は?
-
[解決済み】円弧(のSVGパス)を計算する方法)
-
[解決済み] SVG ルート要素のデフォルトの背景色
-
[解決済み] SVGの円弧パスによる円形描画
-
[解決済み] SVG における text 要素の垂直アライメント
-
[解決済み] svgのx属性とdx属性の違いは何ですか?