|
Тема
|
задачка закачка
|
|
Автор |
g_vlahova@abv.bg (непознат
) |
Публикувано | 02.08.16 10:10 |
|
Имам задачка която ми се налага да решавам редовно. И търся някакъв алгоритъм или формула за решението и.
Трябва да намеря хордата на дъга по зададени (известни) дължина на дъгата и височината (от хордата до средата на дъгата )
В момента решавам задачата по метода на нагласяването.
Благодаря предварително за мненията
| |
|
Дай повече информация. За кръг ли става въпрос? Какъв е методът на нагласяване? Ако е за кръг, смятам, че не ти достигат данни. Може сама да си зададеш два кръга, за които има еднакви дължини на дъги и височини, или не?
Може да направиш въпроса интересен за повече хора.
| |
Тема
|
Re: задачка закачка
[re: n7930]
|
|
Автор |
Pink (<>) |
Публикувано | 04.08.16 04:17 |
|
Алгоритъм:
1. Дължината на дъгата означаваме с "L", дължината на хордата с "C" и дължината на височината от хордата към дъгата с "H"
2. Използваме числен метод (примерно Newton) с въведени: необходима точност и входни данни L и C за да решим уравнението L - L*cos(x) - 2*H*x = 0, където x e неизвестното в интервала [0, pi/2]
3. Намираме радиуса на окръжност R = L/(2*x)
4. Намираме дължината на хордата C = 2*sin(x)*R
5. Чертаем окръжност с радиус R, избираме точка за начало на хордата, отмерваме с пергела необходимото разстояние (C), забиваме пергела в началната точка и пресичаме с пергела окръжността.
There's someone in my head but it's not me
| |
|
Аз подозирам, че става въпрос за дъга на окръжност. Уравнението което се получава не може да се реши в явна форма но може да се намери приблизително решение.
Дедени са височината h от дъгата към средата на хордата и дължината на дъгата която отбелязваме с s. Нека R е радиусът на окръжността, който ние не знаем, и нека L е дължината на хордата, която търсим. Тогава ъгълът който съответва на дъгата е s/R и тогава едното уравнение е
(R-h)/R = cos(s/R).
От друга страна, в окръжността имаме уравнението
L^2 = 4h(2R - h) = 8hR - 4h^2.
Изразяваме R от второто уравнение и получаваме
R = (L^2 + 4h^2)/(8h).
Заместваме R в първото уравнение и получаваме
(L^2 - 4h^2)/(L^2 + 4h^2) = cos( (4sh)/(L^2 + 4h^2) ).
Заместваме L с x за да изглежда като уравнение за х
(x^2 - 4h^2)/(x^2 + 4h^2) = cos( (4sh)/(x^2 + 4h^2) ).
Може да се опиташ да го решиш с някаква версия на итератижен метод на Нютон.
| |
|
1. делиш дължината на дъгата на височината към хордата, да го наречем а
2. отиваш на wolframalpha.com и пишеш а*(1-cos(x))-x=0
3. волфрама ще ти предложи няколко числа като решение, тия числа са ъгъла резенчето което има твоята дъга, ползвай най-малкото без нула разбира се
4. хордата ти е 2*дъгата/ъгъла*sin (ъгъла/2 )
NE SUTOR ULTRA CREPIDAM
| |
|
|
|
|