Площадь тени между 2 кривыми - PullRequest
4 голосов
/ 28 января 2012

Кажется, я не могу понять, как работает polygon (). Я много искал, но я не могу понять, как многоугольник хочет, чтобы точки x, y и что они представляют.

Может кто-нибудь, пожалуйста, помогите мне и объясните, как закрасить, например, область между красной и синей линией

curve(x/2, from=0 , to =1, col="darkblue")
curve(x/4, from=0 , to =1, add=T, col="darkred")

Большое спасибо

1 Ответ

9 голосов
/ 28 января 2012

Поскольку в данном случае на самом деле нет кривой для линии, вы могли бы использовать что-то очень простое (что подчеркивает работу многоугольника).

x <- c(0,1,1,0)
y <- c(x[1:2]/2, x[3:4]/4)
polygon(x,y, col = 'green', border = NA)

Теперь, если у вас есть кривая, выпотребовалось бы больше вершин.

curve(x^2, from=0 , to =1, col="darkblue")
curve(x^4, from=0 , to =1, add=T, col="darkred")
x <- c(seq(0, 1, 0.01), seq(1, 0, -0.01))
y <- c(x[1:101]^2, x[102:202]^4)
polygon(x,y, col = 'green', border = NA)

(увеличьте диапазон этой последней кривой и посмотрите, как при использовании аналогичного кода вы будете обрабатывать кривые пересечения)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...