R で plotrix を使用して、バスケットボールのショットをプロットするための NBA コートの機能を描画しています。3pt ラインの円弧を希望どおりに正確に取得するのに問題があります。draw.arc と draw.circle を使用すると、円弧の上部を浮かせることができます。弧の頂点は常に 29 フィートでなければなりません。draw.ellipse はこの問題を解決するようです。ただし、楕円をセグメント化すると、コートの描写の中央を通る「クロス ライン」が残りますが、これを削除したいと考えています。ただし、楕円を分割する必要があります。そうしないと、必要な場所を超えて拡張されます。何か案は?
使用したコード:
setwd("~")
library("plotrix", lib.loc="~/R/win-library/3.1")
library("RColorBrewer", lib.loc="~/R/win-library/3.1")
korver <- read.csv("Korver_XY_Test.csv", header = TRUE)
x <- (korver$x)
y <- (korver$y)
plot(x,y, cex=.7, col=brewer.pal(3, "Greens"))
#Draw 3pt Line
segments(3,0,3,14.19777, lwd=3)
segments(47,0,47,14.19777, lwd=3)
draw.ellipse(x=25, y=5.25, deg=TRUE, angle=0, arc.only= TRUE, segment=rbind(c(22,0),c(158,360)), a=23.75, b=23.75, border=1, nv=200, lwd=3)
#Draw Half Court Line
segments(0,47,50,47, lwd=4)
#Draw Court Boundaries
abline(v=0, lwd=5)
abline(v=50, lwd=5)
abline(h=94, lwd=5)
abline(h=0, lwd =5)
#draw lane
segments(17,0,17,19, lwd=3)
segments(33,0,33,19, lwd=3)
segments(19,0,19,19, lwd=3)
segments(31,0,31,19, lwd=3)
segments(17,19,33,19, lwd=3)
draw.circle(25,19,6,100,lwd=3)
#draw hoop
draw.circle(25,5.25, 0.75, 200, lwd=2)
#draw backboard
segments(22,4,28,4, lwd=4)