Дискуссионный математический форумМатематический форум
Математический форум Math Help Planet

Обсуждение и решение задач по математике, физике, химии, экономике

Теоретический раздел
Часовой пояс: UTC + 3 часа [ Летнее время ]
новый онлайн-сервис
число, сумма и дата прописью

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Вычисление 2 точек на границе прямоугольника
СообщениеДобавлено: 19 ноя 2012, 17:52 
Не в сети
Начинающий
Зарегистрирован:
19 ноя 2012, 17:40
Сообщений: 3
Cпасибо сказано: 0
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Вычисление 2 точек на границе прямоугольника, зная точку внутри прямоугольника и Тангенс угла наклона прямой, построив которую находим эти 2 точки на границах прямоугольника....

Дано ширина, высота многоугольника, х,у точки, через которую проходит линия, Тангенс угла наклона.

Требуется - построить прямую линию, проходящую через заданную точку с заданным углом наклона...
Казалось бы, что все просто....
У меня почему то нормально стоит только над диагональю, а все, что под - начинает безбожно врать...(

В чем ошибка и недоработка, делаю так

float k = Math::Tan(angle*(Math::PI / 180)); //вычисляю тангенс угла
int b = yDat - k * xDat; //count B b=y-k*x = вычисляю коэф и из уравнения y = kx+b

if (x==0){
y = b;
if (y<0){ // under the map
y = 0;
x = -b/k;
}else if (y>h){ //upper the map
y=h;
x=-b/k;
}
}else if (x==w){ //if cross xMax
y = k*x +b;
if (y>h){ //upper the map
y=h;
x=b/k;
}else if (y<0){ // under the map
y = 0;
x = -b/k;
}
}else if (0<x<w){
y = k*x +b;
}
PointF xTsyTs = PointF(x,y); - точка на границе прямоугольника с одной стороны.

Затем меняем Тангенс, прибавляя 180 и считаем точку на другой стороне прямоугольника. Соединяем точки, но не получаем искомую линию, если ниже диагонали....((

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Вычисление 2 точек на границе прямоугольника
СообщениеДобавлено: 20 ноя 2012, 14:46 
Не в сети
Любитель математики
Аватара пользователя
Зарегистрирован:
16 июл 2011, 08:33
Сообщений: 22268
Откуда: Беларусь, Минск
Cпасибо сказано: 2096
Спасибо получено:
4958 раз в 4631 сообщениях
Очков репутации: 845

Добавить очки репутацииУменьшить очки репутации
mpjoke
А Вы решали задачу аналитически? Если да, то воспроизведите, пожалуйста выкладки. Тогда можно будет найти ошибку.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Вычисление 2 точек на границе прямоугольника
СообщениеДобавлено: 20 ноя 2012, 18:04 
Не в сети
Начинающий
Зарегистрирован:
19 ноя 2012, 17:40
Сообщений: 3
Cпасибо сказано: 0
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Аналитически я решал следующим образом:
Нашел коэф-т b, выразив из известной формулы у = к*х + б
Далее нашел х при у =о и наоборот.....
Но эт как то работает только на половине плоскости - над диагональю...

Вчера попробовал вывести, но получается то же не для всей плоскости Во вложении - на фотке я попытался нарисовать условие задачи.
Знаем ширину, высоту окна Координаты точки на линии и угловой коэффициент. Надо найти 2 точки пересечения этой линии с краями плоскости.....

Я попробовал сосчитать, используя формулы - итоговую...
Как я понимаю найти можно следующим образом формулу по которой считать в дальнейшем
a/sin(alf)=b/sin(bet) значит
a' = b*еп(alf)
b' = a * tg(bet)
где a и b - длины соответствующих сторон вспомогательных треугольников
Значит полная формула

aa = x + y*tg(alf)
и
bb=y+x*tg(bet)

Но, если этим пользоваться, то находим только пересечения на осях....
Значит, если противоположные стороны прямоугольника, то сдвигаем оси, а потом считаем???

Вложения:
tsel.png
tsel.png [ 17.82 Кб | Просмотров: 21 ]
Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Вычисление 2 точек на границе прямоугольника
СообщениеДобавлено: 20 ноя 2012, 19:37 
Не в сети
Любитель математики
Аватара пользователя
Зарегистрирован:
16 июл 2011, 08:33
Сообщений: 22268
Откуда: Беларусь, Минск
Cпасибо сказано: 2096
Спасибо получено:
4958 раз в 4631 сообщениях
Очков репутации: 845

Добавить очки репутацииУменьшить очки репутации
mpjoke
В Вашем случае, как я понял, координаты заданной точки [math]M[/math] удовлетворяют неравенствам [math]0\le x_M \le a,~0\le y_M \le b,[/math] начало координат располагается в вершине левого нижнего угла прямоугольника. Требуется найти точки пересечения прямой [math]y=k(x-x_M)+y_M[/math] со сторонами прямоугольника?

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Вычисление 2 точек на границе прямоугольника
СообщениеДобавлено: 22 ноя 2012, 22:36 
Не в сети
Начинающий
Зарегистрирован:
19 ноя 2012, 17:40
Сообщений: 3
Cпасибо сказано: 0
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Да....

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Вычисление 2 точек на границе прямоугольника
СообщениеДобавлено: 23 ноя 2012, 06:59 
Не в сети
Любитель математики
Аватара пользователя
Зарегистрирован:
16 июл 2011, 08:33
Сообщений: 22268
Откуда: Беларусь, Минск
Cпасибо сказано: 2096
Спасибо получено:
4958 раз в 4631 сообщениях
Очков репутации: 845

Добавить очки репутацииУменьшить очки репутации
mpjoke
Вы легко согласились с предложенной мной формулировкой. Для решения задачи, между тем, немаловажно, может ли заданная точка [math]M[/math] принадлежать границе или является только внутренней точкой прямоугольника. Тогда [math]0<x_M<a,~0<y_M<b.[/math] Определитесь, пожалуйста.

Вернуться к началу
 Профиль  
Cпасибо сказано 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему      Страница 1 из 1 [ Сообщений: 6 ]

 Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
Кривол-ый интеграл по границе тр-ка, Формула Грина

в форуме Интегральное исчисление

ShamanS328

0

131

12 окт 2021, 20:13

Кривол-ый интеграл по границе тр-ка, Формула Грина

в форуме Интегральное исчисление

ayumi

2

231

07 сен 2022, 15:31

Что означает формула (степень в границе интегрирования)

в форуме Интегральное исчисление

Roma353423423

2

250

07 авг 2022, 07:26

Коэффициенты прогонки на границе двух сред

в форуме Численные методы

GreenEkatherine

0

353

02 сен 2015, 12:29

Поведение электромагнитной волны на границе двух сред

в форуме Электричество и Магнетизм

Narsky

1

1039

02 окт 2016, 10:47

Три прямоугольника

в форуме Задачи со школьных и студенческих олимпиад

wehrwolf

1

331

05 авг 2020, 16:32

Деление прямоугольника

в форуме Геометрия

Johnsonbl4

5

554

02 дек 2018, 13:50

Площадь прямоугольника

в форуме Геометрия

wofuture

4

321

19 ноя 2015, 16:54

Периметр прямоугольника

в форуме Алгебра

Obutasan

1

420

06 авг 2015, 07:36

Задача о диагонали прямоугольника

в форуме Задачи со школьных и студенческих олимпиад

Laind

3

1301

26 июл 2016, 14:05


Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Яндекс.Метрика

Copyright © 2010-2023 MathHelpPlanet.com. All rights reserved