Форум программистов, компьютерный форум, киберфорум
Наши страницы
Геометрия
Войти
Регистрация
Восстановить пароль
 
Godsmack911
0 / 0 / 0
Регистрация: 07.02.2015
Сообщений: 2
1

Запрограммировать построение внешней стенки комнаты

07.02.2015, 05:37. Просмотров 374. Ответов 3
Метки нет (Все метки)

Доброй ночи ) Нужно придать толщину стенам комнаты, координаты внутренней части стены есть, а вот рассчитать внешние никак не могу... как только не пробовал, толщина стенки должна быть фиксированная на всех участках под любым углом, вообщем всю голову сломал, прошу помощи ))) Схема во вложении.
0
Миниатюры
Запрограммировать построение внешней стенки комнаты  
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2015, 05:37
Ответы с готовыми решениями:

Нарисовать трапецию, которая будет двигаться от стенки до стенки, длины сторон трапеции задаются пользователем
Нарисовать трапецию, которая будет двигаться от стенки до стенки, длины сторон трапеции задаются...

Построение внешней стороны стены по координатам
Пытаюсь придать толщину стенам, координаты внутренней части стены есть, а вот рассчитать внешние...

Под действием внешней силы диск останавливается. Чему равна работа внешней силы?
не могли бы вы решать мне эту задачку пожалуйста. 1. Диск массой m и радиусом R вращается вокруг...

Стенки внутри лабиринта
Господа эксперты,не пойму почему код не работает: "Мышь" не должна бегать по стенка(стенки...

Не получаются стенки в лабиринте
Не получаются стенки в лабиринте, персонаж их съедает, помогите пожалуйста решить проблемку! ...

3
kabenyuk
Эксперт по математике/физике
2652 / 1968 / 543
Регистрация: 19.11.2012
Сообщений: 4,144
Завершенные тесты: 1
07.02.2015, 06:34 2
Если толщина стены известна и равна d, а соседние заданные внутренние узлы A и B, то надо построить прямую, параллельную АВ и отстоящую от АВ на расстоянии d. Если уравнение прямой АВ имеет вид ax+by+c=0, то уравнение искомой прямой будет таким ax+by+c'=0. Для вычисления с' составляем уравнение
https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{|ax+by+c'|}{\sqr{a^2+b^2}}=d,
где (х,у) - координаты точки А. Из двух значений с', определяемых из этого уравнения, выбираем подходящее.
0
jogano
Модератор
Эксперт по математике/физике
5671 / 3573 / 1305
Регистрация: 09.10.2009
Сообщений: 6,696
Записей в блоге: 4
07.02.2015, 20:25 3
Есть угол АВС и нужно построить точку В' как внешний угол "напротив" внутреннего угла В (лучшего термина я не придумал). Точки заданы координатами. Толщина стен d. Тогда https://www.cyberforum.ru/cgi-bin/latex.cgi?B'=B+d\frac{\bar{AB}\left|\bar{BC}\right|-\bar{BC}\left|\bar{AB} \right| }{\left|\bar{AB}\left|\bar{BC}\right|-\bar{BC}\left|\bar{AB} \right| \right|}. Это если внутренний угол В комнаты не больше 180 градусов. Если больше (комната - не выпуклый многоугольник), то дробь от координат точки В нужно отнимать при тех вершинах, где угол больше 180.
Последовательно в одном направлении перебираете вершины комнаты и для вершины В берёте вектора https://www.cyberforum.ru/cgi-bin/latex.cgi?\bar{AB}, \bar{BC}, для вершины С вектора https://www.cyberforum.ru/cgi-bin/latex.cgi?\bar{BC}, \bar{CD} и так далее (порядок векторов важен, направление обхода векторов одно и то же).
Например, вам нужно найти вершину внешней стены толщиной 2 "напротив" точки B(6;11), тогда А(4;9) и С(11;11), https://www.cyberforum.ru/cgi-bin/latex.cgi?\bar{AB}\left(2;2 \right),\:\:\bar{BC}\left(5;0 \right), https://www.cyberforum.ru/cgi-bin/latex.cgi?\left| \bar{AB}\right|=2\sqrt{2},\:\:\left| \bar{BC}\right|=5
https://www.cyberforum.ru/cgi-bin/latex.cgi?B'=\left(6;11 \right)+2 \cdot \frac{\bar{\left(2,2 \right)}\cdot 5-\bar{\left(5;0 \right)} \cdot 2\sqrt{2}}{\left| \bar{\left(2,2 \right)}\cdot 5-\bar{\left(5;0 \right)} \cdot 2\sqrt{2}\right|}=\left(6;11 \right)+2 \cdot \frac{\bar{\left(10-10\sqrt{2};10 \right)}}{\left|\bar{\left(10-10\sqrt{2};10 \right)} \right|}=\left(6;11 \right)+2 \cdot \frac{\bar{\left(1-\sqrt{2};1 \right)}}{\sqrt{4-2\sqrt{2}}}\approx \left(5,2346;12,8478 \right)

Добавлено через 44 минуты
Ошибся с коэффициентом первой формулы - так будет расстояние от В до В' равно d, а не толщина стен.
https://www.cyberforum.ru/cgi-bin/latex.cgi?B'=B-d\frac{\bar{AB}\left|\bar{BC} \right|-\bar{BC}\left|\bar{AB} \right|}{\left(\bar{BC};\bar{\left(-\left(y_B-y_A \right);x_B-x_A \right)} \right)}
Зато теперь не нужно проверять внутренний угол В (больше или меньше 180 градусов) - вершины будут идти снаружи стены при обходе контура комнаты по часовой стрелке, в том числе и для невыпуклого многоугольника.
0
jogano
Модератор
Эксперт по математике/физике
5671 / 3573 / 1305
Регистрация: 09.10.2009
Сообщений: 6,696
Записей в блоге: 4
08.02.2015, 18:03 4
В Маткаде:
0
Миниатюры
Запрограммировать построение внешней стенки комнаты  
08.02.2015, 18:03
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.02.2015, 18:03

Отскок шарика от стенки
Подскажите пожалуйста как сделать чтобы шарик стукался от стенки до стенки в любую сторону. При это...

Объект отталкивается от стенки
Здраствуйте, очень прошу помочь знающих людей. Киньте код или поскажите, где найти следующее -...

Анимация: шарик отскакивает от стенки
Привет всем!! Спасибо, что уделили время на прочтение этой темы! Прошу вам помочь с анимацией...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.