| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [геометрия]Как построить Дугу на прямой |
| Автор: BOB4uK 11.7.2008, 17:58 |
| Как построить Дугу на прямой из двух точек зная длину дуги, количество точек (который формируют отрезки) и длину прямой на которой она строится? |
| Автор: polosatij 12.7.2008, 04:11 |
ни черта не понятнА.. ты бы не мог объяснить по понятливее? |
| Автор: BOB4uK 12.7.2008, 06:35 |
| Вот смотри, моя прога позволяет строить схему помещения! Вот у меня на стене есть полу эллипс, который мне нужно занести в прогу! Для этого я замеряю длину от начала дуги и до конца дуги - получаю длинну дуги, так же я знаю что длина основания дуги равна какойто переменной! зная эти данные можно построить дугу указав количество точек - для плавной дуги или угловатой (если мало точек)! Такие проги есть и такой алгоритм уже сделан, но мне его ни кто не скажет, поэтому сам до ганяю... |
| Автор: polosatij 12.7.2008, 13:42 |
| ты не объяснил ещё как именно должна проходить дуга и какая она именна.. у неё могут быть разные степени вогнутости.. но.. и может быть, например, такой вариант: Добавлено через 1 минуту и 6 секунд можно также взятъ не круг, а элипс |
| Автор: BOB4uK 12.7.2008, 15:05 |
| Именно так и может быть! это определяется наверное от длины дуги, может поличиться вообще окружность с небольшой дыркой... |
| Автор: polosatij 12.7.2008, 15:25 |
ню, тогда всё просто |
| Автор: BOB4uK 13.7.2008, 07:00 |
| Смутно помню третий класс! может ссылку дашь? Почитал теоремку, но ничего такого чтобы подсказало решение не встретил! Наведи на мысль... |
| Автор: polosatij 13.7.2008, 13:29 |
госпади.. длинна красным помечена - тебе известна.. делишь её пополам.. углубление тебе тоже известно.. составляешь уравнение.. х - это длинна. (известная величина) w1 - высота верхнего треугольника (известная величина) w2 - высота нижнего треугольника r - радиус r² = (х/2)² + w2² r² = w1 + w2 => w2 = w1 - r² подставляем в первое уравнение: r² = (х/2)² + (w1 - r²)² // w1, x - известны, находишь радиус.. как только найдёшь радиус.. узнаешь где у круга находится центр.. а потом, считаешь точки удаления и рисуешь между ними линии.. чем больше точек возьмёшь, тем больше точность.. +1 |
| Автор: SoWa 15.7.2008, 07:10 |
| Не каждая дуга- часть окружности. А тут видимо случай, где дуга задается длинной основания и высотой. Если длинна основания маленькая, а высота большая(больше основания раз в 5), то точно это не часть окружности, а часть эллипса(ооочень приближеная к половине эллиппса) |
| Автор: BOB4uK 15.7.2008, 17:13 |
| Я так и не понял как построить если известно только основание, длина дуги и кол-во точек для построения многоугольника... |
| Автор: polosatij 16.7.2008, 01:03 |
млин, вот ты буратинА ладна.. не обижайся.. вот тебе ещё один рисунок: терь посмотри на мои формулы.. если не поймёшь, денег за код попрошу |
| Автор: SoWa 16.7.2008, 07:34 |
| Та-да. А если такая все-же ситуация - учитываем коэффициенты эллипса. |
| Автор: polosatij 16.7.2008, 12:20 | ||
погодите его грузить, пусть он сначала с кругом разберётся |
| Автор: BOB4uK 16.7.2008, 15:42 |
| Я не понимаю как я могу узнать w1 и w2 если мне только известно L1 - длина дуги и L2 - длина основания? http://ipicture.ru/ |
| Автор: maxim1000 16.7.2008, 16:06 |
| длина дуги L1=r*alpha (alpha - угол в радианах между радиусами, проведёнными к концам дуги) L2=2*r*sin(alpha/2) для удобства beta=alpha/2 тогда sin(beta)/beta=L2/L1 если я не ошибаюсь (хотя не уверен), аналитически такое не решается, можно использовать численные методы |
| Автор: BOB4uK 16.7.2008, 16:42 |
| Может быть и такой вариант: http://ipicture.ru/ |
| Автор: BOB4uK 20.7.2008, 19:56 |
| А что там упоминали про коэф-ты для эллипса? Радиус нашел, центр окружности тоже (наверное)! А по подробнее можно про "а потом, считаешь точки удаления"? |