![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 28.12.2013
Сообщений: 1
|
![]()
Здравствуйте.
Сама задача:Построить два треугольника с вершинами в заданном множестве точек на плоскости так, чтобы первый треугольник лежал строго внутри второго. Не получается решить, из-за того, что туго идёт с геометрией как таковой. Примерные задумки: использование уравнения y=ax+b. Буду признателен за любую помощь, пусть даже незначительную. ![]() |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
не знаю MathCAD, поэтому не знаю, каким образом он должен быть задействован.
но, что касается геометрии. То вам достаточно знать: - условие, при котором по трём точкам можно построить треугольник (имхо, самый простой способ, по теореме Пифагора найти расстояния между точками и воспользоваться правилом, что любая сторона треугольника должна быть строго меньше суммы длин двух других сторон); - попадает ли точка в треугольник (я бы воспользовался ссылочкой, которую любезно предоставил BDA тут, либо банально погуглил) - цикл перебора точек (брать по три разные точки из заданного множества). всё. Этого полностью достаточно, чтобы решить задачу. Берём три точки, которые могут являться вершинами треугольника. Далее перебираем все точки, которые попали внутрь данного треугольника, выбирая из них по три. Если на них можно построить треугольник, то он будет лежать внутри первого (раз все вершины лежат внутри треугольника, то и построенный на этих точках треугольник будет лежать внутри треугольника.) Если нет таких точек - то берём другие три точки для первого треугольника. всё. |
![]() |
![]() |
![]() |
#3 | ||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]() Цитата:
Цитата:
Я бы на первом приближении рассматривал квадрат (или даже прямоугольник) в который вписан данный треугольник. Таким образом получал бы модель из 4-х треугольников (в общем случае, в частном возможно меньше). Причем 3 треугольника будут иметь прямые углы, поскольку это будут углы квадрата. Причем 2 стороны этих треугольников всегда будут параллельны осям координат, так будут являться сторонами (или частями сторон) квадрата. Дальше определить нужные координаты будет проще. Ну наверно рандомом внутри квадрата, с учетом описанных выше ограничений. Все равно быстрей, чем перебирать точки всей плоскости. Вариант 2. Использовать операции масштабирования. То есть построить внутри такой же треугольник, только меньшего размера. В принципе также можно задействовать прямоугольники и через них выводить координаты точек углов второго треугольника согласно пропорций.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() Последний раз редактировалось Utkin; 14.01.2014 в 11:41. |
||
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Utkin, всё это, конечно, хорошо, но, имхо, первый вариант может не дать ответа в частных случаях (ведь точки, которые нам заданы могут не образовывать прямоугольные треугольники), а второй вариант - вообще не понятно, как нам может помочь масштабирование найти точки СРЕДИ ЗАДАННЫХ....
впрочем, я высказываю личное мнение, абсолютно субъективное... извините, если что... |
![]() |
![]() |
![]() |
#5 | |||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]() Цитата:
Цитата:
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
|||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Решить задачу с использованием подпрограмм функции (ПАСКАЛЬ) | Вероника_94 | Помощь студентам | 7 | 13.06.2012 22:49 |
Разработка программного модуля | Lidiya585 | Фриланс | 12 | 13.11.2011 15:48 |
Решить задачу в Паскале с использованием вложенных циклов | Юююлия | Помощь студентам | 5 | 20.10.2011 10:47 |
Помогите решить задачу на Паскале с использованием подпрограмм. | Evgo | Помощь студентам | 12 | 20.06.2009 20:42 |