Вход на сайт
VBA Школьная задачка
NEW 14.03.10 00:43
Решение было дано - выведено трансцендентное уравнение, корень которого можно найти численно. Например, методом Ньютона.
Мне представляется, что иного варианта (в виде некоей простой формулы) в данном случае нету - в силу неалгебраичности выражения для площади сегмента. Я могу ошибаться, но пока никаких серьезных альтернатив предъявлено не было.
Мне представляется, что иного варианта (в виде некоей простой формулы) в данном случае нету - в силу неалгебраичности выражения для площади сегмента. Я могу ошибаться, но пока никаких серьезных альтернатив предъявлено не было.
Oh gravity, thou art a heartless bitch! (c) Dr.Cooper
NEW 14.03.10 14:35
в ответ Bigfoot 14.03.10 10:11
Так уровнение там всего одно - уравнение окружности - x^2 + y^2 + a*x + b*y + c = 0 или (x-a)^2 + (y-b)^2 + c = 0
Проблема же в том, что передлагается решить систему из двух уравнений... при трех (x,y, r(x,y)) 'переменных'.
Отсюда либо сложные итерационные расчеты r(x,y), либо... нужно ввести еще одно уравнение.
1. x^2 + y^2 - (100/2)^2 = 0
2. x^2 + (y-50)^2 + r^2 = 0
и привязали козу в другом месте
3. x^2 + (y+50)^2 + r^2 = 0
Три уравнения, три "переменных" - решается.
И по поводу других секторов/сегметов. На базе подсказки 3 - рассматривается не вся картинка, а только область возможных решений для х[0, r1). Дуга r2 должна где-то пересекать ось Х - это из равенства площадей - и тогда получаются три "кривых" треугольника:
- R2[0, x1], где y1=0
- R2[x1, x2], где y1=0
- R1[x2, r1]
ну и система доопредяется как
S(R2[0, x1]) = S(R2[x1, x2]) + S(R1[x2, r1])
Решаемо, но аналитически выводить несколько лениво...
Проблема же в том, что передлагается решить систему из двух уравнений... при трех (x,y, r(x,y)) 'переменных'.
Отсюда либо сложные итерационные расчеты r(x,y), либо... нужно ввести еще одно уравнение.
1. x^2 + y^2 - (100/2)^2 = 0
2. x^2 + (y-50)^2 + r^2 = 0
и привязали козу в другом месте
3. x^2 + (y+50)^2 + r^2 = 0
Три уравнения, три "переменных" - решается.
И по поводу других секторов/сегметов. На базе подсказки 3 - рассматривается не вся картинка, а только область возможных решений для х[0, r1). Дуга r2 должна где-то пересекать ось Х - это из равенства площадей - и тогда получаются три "кривых" треугольника:
- R2[0, x1], где y1=0
- R2[x1, x2], где y1=0
- R1[x2, r1]
ну и система доопредяется как
S(R2[0, x1]) = S(R2[x1, x2]) + S(R1[x2, r1])
Решаемо, но аналитически выводить несколько лениво...
NEW 14.03.10 15:05
ну эти два решаются мгновенно (PS: если длина верёвки вещественное а не комплексное число):
2. x=0, y=50, r=0
3. x=0, y=-50, r=0
Только я не понял какое отношение они имеют к задаче
В ответ на:
2. x^2 + (y-50)^2 + r^2 = 0
и привязали козу в другом месте
3. x^2 + (y+50)^2 + r^2 = 0
ну эти два решаются мгновенно (PS: если длина верёвки вещественное а не комплексное число):
2. x=0, y=50, r=0
3. x=0, y=-50, r=0
Только я не понял какое отношение они имеют к задаче

14.03.10 15:26
в ответ katran76 14.03.10 15:05
если длина верёвки вещественное а не комплексное число
------
Она еще и не нулевая. Где-то между 1*r1 и sqrt(2)*r1... и близко к sqt(2)/2.
какое отношение
-----
Эээ... это та же "коза", но привязанная в другом месте. Ее ведь можно привязывать где угодно. Каждая привязка даст дополнительное уравнение. Но "решать систему" надо все же не в лоб - две пары уравнений при условии r2==r2...
------
Она еще и не нулевая. Где-то между 1*r1 и sqrt(2)*r1... и близко к sqt(2)/2.
какое отношение
-----
Эээ... это та же "коза", но привязанная в другом месте. Ее ведь можно привязывать где угодно. Каждая привязка даст дополнительное уравнение. Но "решать систему" надо все же не в лоб - две пары уравнений при условии r2==r2...
NEW 14.03.10 15:36
какая коза? Я тебе решения для (2) и (3) написал, привяжи их к козе плиз.
не спорю
а вот тут не согласен. Каждая привязка даст доп. уравнение и доп. переменную, т.е. ничего
в ответ Murr 14.03.10 15:26
В ответ на:
Эээ... это та же "коза", но привязанная в другом месте.
Эээ... это та же "коза", но привязанная в другом месте.
какая коза? Я тебе решения для (2) и (3) написал, привяжи их к козе плиз.
В ответ на:
Ее ведь можно привязывать где угодно.
Ее ведь можно привязывать где угодно.
не спорю
В ответ на:
Каждая привязка даст дополнительное уравнение
Каждая привязка даст дополнительное уравнение
а вот тут не согласен. Каждая привязка даст доп. уравнение и доп. переменную, т.е. ничего

14.03.10 16:12
Эта, так называемая система представляет из себя две не имеющих отношения друг к другу системы уравнений.
1)
1. x^2 + y^2 - (100/2)^2 = 0
2. x^2 + (y-50)^2 + r^2 = 0
Одна пара точек пересечения.
2)
1. x^2 + y^2 - (100/2)^2 = 0
2. x^2 + (y+50)^2 + r^2 = 0
Совсем другая пара точек пересечения.
Все, у меня нет больше комментариев. Пушной полярный зверек, выведенный методом Монте-Карло...
В ответ на:
1. x^2 + y^2 - (100/2)^2 = 0
2. x^2 + (y-50)^2 + r^2 = 0
и привязали козу в другом месте
3. x^2 + (y+50)^2 + r^2 = 0
1. x^2 + y^2 - (100/2)^2 = 0
2. x^2 + (y-50)^2 + r^2 = 0
и привязали козу в другом месте
3. x^2 + (y+50)^2 + r^2 = 0
Эта, так называемая система представляет из себя две не имеющих отношения друг к другу системы уравнений.
1)
1. x^2 + y^2 - (100/2)^2 = 0
2. x^2 + (y-50)^2 + r^2 = 0
Одна пара точек пересечения.
2)
1. x^2 + y^2 - (100/2)^2 = 0
2. x^2 + (y+50)^2 + r^2 = 0
Совсем другая пара точек пересечения.
Все, у меня нет больше комментариев. Пушной полярный зверек, выведенный методом Монте-Карло...
I find my way through night and day'cause I know I just can't stayhere in heaven
NEW 14.03.10 16:24
в ответ Murr 14.03.10 14:35
В общем, я понял. Вы не смогли вывести ничего аналитически, уравнения - пусть даже трансцендентного - не предоставили, но важно поучаете тех, кто таки-решил задачу, как ее правильно решать. Это прикольно, да. 

Oh gravity, thou art a heartless bitch! (c) Dr.Cooper
NEW 14.03.10 17:27
в ответ katran76 14.03.10 15:36
Каждая привязка даст доп. уравнение и доп. переменную
------
Можно сказать и так.
Правда тогда придется вспомнить, что дополнительная привязка дает дополнительную переменную... и два уравнения. Один комплект Я опустил чтобы не усложнять понимание.
Конкретно в тех двух парах уравнений еще будет выполняться условие - (х1, у1) == (х1, -y1) - в силу симметричности при привязке (0,-50) и (0,50). Т.е. - решаемо.
------
Можно сказать и так.
Правда тогда придется вспомнить, что дополнительная привязка дает дополнительную переменную... и два уравнения. Один комплект Я опустил чтобы не усложнять понимание.
Конкретно в тех двух парах уравнений еще будет выполняться условие - (х1, у1) == (х1, -y1) - в силу симметричности при привязке (0,-50) и (0,50). Т.е. - решаемо.
NEW 14.03.10 17:37
?
Я выразился достаточно однозначно - привязка козы в другом месте не даст ничего, поскольку получившиеся N уравнений (после удаления вырожденных) будут содержать N переменных.
Я кроме того так до сих пор не увидел, как твои уравнения относятся к задаче.
в ответ Murr 14.03.10 17:27
В ответ на:
дополнительная привязка дает дополнительную переменную... и два уравнения.
дополнительная привязка дает дополнительную переменную... и два уравнения.
?
Я выразился достаточно однозначно - привязка козы в другом месте не даст ничего, поскольку получившиеся N уравнений (после удаления вырожденных) будут содержать N переменных.
Я кроме того так до сих пор не увидел, как твои уравнения относятся к задаче.