Построй точку пересечения двух лучей

У меня есть два луча на 2D-плоскости, которые простираются до бесконечности, но оба имеют начальную точку. Они оба описываются начальной точкой и вектором в направлении луча, простирающегося до бесконечности. Я хочу узнать, пересекаются ли два луча, но мне не нужно знать, где они пересекаются (это часть алгоритма обнаружения столкновений).

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

7 ответов

дано: два луча a, b с начальными точками (векторами начала) as, bs и векторами направления ad, bd.

две линии пересекаются, если есть точка пересечения p:

если эта система уравнений имеет решение для u>=0 и V>=0 (положительное направление-это то, что делает их лучей) лучи пересекаются.

для координат x/y 2d векторов это означает:

решение против v:

вставка и решение против u:

вычислить u, затем вычислить v, если оба положительны, лучи пересекаются, иначе нет.

мне жаль не согласиться с ответом Питера Уолсера. Решение уравнений дает на моем столе:

Факторинг общие условия, это:

пять вычитаний, шесть умножений и два деления.

Если вам нужно только знать, пересекаются ли лучи, достаточно знаков u и v, и эти два divisons могут быть заменены num*denom

обратите внимание, что редкий случай det==0 означает, что лучи не пересекаются (одно дополнительное сравнение).

луч может быть представлен множеством точек A + Vt , где A является отправной точкой, V является вектором, указывающим направление луча, и t >= 0 — это параметр. Таким образом, чтобы определить, пересекаются ли два луча, сделайте следующее:

линии представлены точкой p и вектора v:

line = p + a*v (для всех a)

лучи (положительная) половина этой строки:

ray = p + a*v (для всех a >= 0)

чтобы определить, пересекаются ли две линии, установите их равными и решите:

перекресток, где происходит p1 + a1 * v1 = p2 + a2 * v2
(обратите внимание, что есть два неизвестных, а1 и2, и два уравнения, поскольку pи vмногомерны)

решить1 и2 — если они оба неотрицательные, они пересекаются. Если один отрицательный, они не пересекаются.

GeomAlgorithms.com имеет некоторые довольно сладкие алгоритмы, связанные с линиями в 3D. Вообще говоря, вероятность пересечения двух линий в 3D-пространстве действительно довольно низкая.

в 2D вы должны проверить наклон. Если наклон не равен, они пересекаются. Если наклон равен, они пересекаются, если точка на них имеет ту же X-координату или ту же Y-координату.

Я хочу только проверить, пересекаются ли два луча. Я буду идти об этом, вычисляя направление вращения двух "треугольников", созданных из двух лучей. На самом деле это не треугольники, но с математической точки зрения, если бы я только хотел вычислить вращение треугольника, мне нужны только два вектора с общей начальной точкой, а остальное не имеет значения.

Читайте также:  Трехгранная отвертка своими руками

первый треугольник будет образован двумя векторами и начальной точкой. Отправная точка будет первой Рэй-отправная точка. Первый вектор будет вектором направления первого луча. Второй вектор будет вектором от начальной точки первого луча до начальной точки второго луча. Отсюда мы берем перекрестное произведение двух векторов и отмечаем знак.

мы делаем это снова для второго треугольника. Опять же, отправная точка-это отправная точка второго луча. Первый вектор-это направление второго луча, а второй вектор — от начальной точки второго луча до первый луч-отправная точка. Мы снова берем перекрестное произведение векторов и отмечаем знак.

теперь мы просто берем два знака и проверяем, одинаковы ли они. Если они одинаковы, у нас нет пересечения. Если они разные, у нас есть пересечения. Вот так!

вот некоторый код psudo:

получается пять умножений, шесть вычитаний и одно сравнение.

Если линии имеют бесконечную длину, то они будут всегда пересекаются, если они параллельны. Чтобы проверить, параллельны ли они, найдите наклон каждой линии и сравните их. Наклон будет просто (y2-y1)/(x2-x1).

Устанавливая рекомендуемое программное обеспечение вы соглашаетесь
с лицензионным соглашением Яндекс.Браузера и настольного ПО Яндекса .

Тема: Луч. Пересечение линий.

Сформировать представление о понятиях «луч», «точка пересечения».

Учить различать прямую линию и луч.

Учить чертить лучи по линейке.

Способствовать развитию приёмов умственной деятельности: классификация, сравнение, анализ, обобщение.

Воспитывать толерантное отношение друг к другу, взаимное сотрудничество.

— умение детьми различать и чертить лучи;

— повышение активности на уроках;

— улучшение результатов обучения.

Формирование универсальных учебных действий:

Выражать в речевой форме признаки сходства и отличия в изображении прямой и луча прямой и луча.

Выбирать из двух лучей на рисунке те, которые могут пересекаться, и те, которые не пересекутся.

Строить точку пересечения двух лучей, точку пересечения прямой и луча .

Определять количество лучей, изображённых на рисунке.

Представление о луче. Существенный признак луча.(точка, обозначающая его начало). Различное расположение луча на плоскости. Варианты проведения лучей из данной точки. Обозначение луча одной буквой. Пересечение лучей.

.Оборудование: мультимедийное оборудование, презентация к уроку , учебник, тетради, «веер» цифр, карточки с цифрами.

1. Психологический настрой учащихся.

Включение учащихся в деятельность.

-Посмотрите друг на друга, улыбнитесь, пожелайте успешной работы себе, соседу, всему классу.

-Что необходимо нам для успешной работы на уроке?

-Покажите своей посадкой, что вы готовы работать.

Дети вспоминают правила «рабочего» человека.

2.Постановка учебной задачи.

для выявления «Что знаем и чего ещё не знаем?»

Есть у меня, друзья,

Могу построить я

Башню, дом и самолет,

И большущий пароход!

Учитель держит в руках большой карандаш.

-Это не простой Карандаш, а волшебный. Он знает много нового и интересного и познакомит нас с жителями страны Геометрии.

Читайте также:  Ищем клад 1 питон

-Вспомните, какие фигуры мы узнали с помощью карандаша?

-Что можете рассказать об этих фигурах?

-Какую ставим учебную задачу?

— Мы познакомились с точкой, прямой и кривой линиями.

Фигура под №1 – прямая линия;

№ 2 – кривая замкнутая;

№ 3 – ещё не знаем;

№ 4 — кривая незамкнутая;

№ 5 – две прямые линии.

-Узнать всё о новой линии.

3.Изучение нового материала

Продолжение изучения нового материала

Поиск оптимального решения учебной задачи.

Создание условий для психоэмоциональной разгрузки учащихся.

-Чтобы узнать о новой фигуре, послушайте дальше сказку о волшебном карандаше.

-Пошёл Карандаш в гости к прямой линии и поставил на ней две точки.

-Затем пришла Резинка и стёрла часть прямой.

-И получилось не прямая, а две новые фигуры.

Итак, что скажете про новую фигуру?

-Как же называется эта фигура?

-Сейчас вы догадаетесь.

Волшебный карандаш нарисовал линию. Как она называется?

-Пошёл Карандаш по этой линии и начал ставить точки.

Говорит Карандаш Резинке: «Поиграй со мной!» И начал выбегать из каждой точки.

— А сейчас догадались?

-Правильно. А кто из вас может сказать тему нашего урока.

-Молодцы! Действительно о луче, о том, как его начертить, и пойдёт речь у нас на уроке.

1.Быстро поморгать, закрыть глаза и посидеть спокойно, медленно считая до 5. Повторить 4-5 раз.

2.Крепко зажмурить глаза

(считать до 3), открыть, посмотреть вдаль (считать до 5).

Повторить 4-5 раз.

Учитель проговаривает стихотворение:

Мы — веселые мартышки,

Мы играем громко слишком.

Все ногами топаем,

Все руками хлопаем,

Скачем на носочках.

Дружно прыгнем к потолку,

Пальчик поднесем к виску

И друг другу даже

Шире рот откроем ,

Гримасы все состроим.

Как скажу я слово три,

Все с гримасами замри.

-Рассмотрите внимательно луч. Чем он отличается от прямой линии?

-Действительно, прямую линию можно продлить как влево, так и вправо.

-Луч – это часть прямой, ограниченная с одной стороны. Лучу дают название, написав рядом с точкой букву. Например, любая буква латинского алфавита: А или В, или С, и т.д.

-Конечно, такую работу уже умеем выполнять.

Предположения детей: тема нашего урока — различные линии и точки.

-Новая фигура – это часть прямой линии.

-Плавная кривая замкнутая линия

-Это солнышко, а линии похожи на лучи солнышка.

-Тема нашего урока – луч.

Дети проговаривают стихотворение и имитируют действия мартышек.

-У луча есть начало, но нет конца.

-Луч можно продлить, только в ту сторону, в какую он направлен.

-Мы учились обозначать точки.

-Давайте попробуем начертить лучи. Как вы думаете, что для этого мы будем делать?

Читайте также:  Телефон 70550 чей номер где находится

-Попробуйте начертить 3 луча в разных направлениях. (Для проверки детей показать

— C какой фигурой мы сегодня познакомились?

-Что вы узнали об этой фигуре?

-Думаем, что луч можно начертить с помощью линейки, так как это часть прямой линии.

-Сначала необходимо поставить точку.

-Линию из точки можно вести в любом направлении.

— Мы познакомились с лучом.

— У луча есть начало, но нет конца. Лучу можно дать название.

— Что можно сказать об этих линиях?

— Начертите в тетради две пересекающиеся линии.

-Поставьте точку в том месте, где линии пересеклись, назовите её.

-Какие новые фигуры получились? Сколько?

-Поработаем в тетрадях на печатной основе, с.

— Это прямые линии, они встретились (Кто-нибудь из детей скажет: они пересеклись)

-Получились лучи, их 4.

6.Итог урока. Рефлексия.

Развитие умений соотносить цель и результат.

Осознание учащимися своей учебной деятельности и всего класса.

— С чем познакомились?

-Чему учились на уроке?

-Что узнали нового?

-У меня получилось…

-На следующем уроке мы…

На какой ступеньке лесенки вы бы хотели сейчас стоять?

Ничего не понятно на уроке. -1

Все понятно на уроке, затруднений нет.- 2

Хочу знать больше. -3

Устанавливая рекомендуемое программное обеспечение вы соглашаетесь
с лицензионным соглашением Яндекс.Браузера и настольного ПО Яндекса .

  • Шаповалова Елена ВикторовнаНаписать 1466 20.10.2015

Номер материала: ДВ-082410

Устанавливая рекомендуемое программное обеспечение вы соглашаетесь
с лицензионным соглашением Яндекс.Браузера и настольного ПО Яндекса .

    20.10.2015 475
    20.10.2015 1942
    20.10.2015 665
    20.10.2015 2108
    20.10.2015 2808
    20.10.2015 1077
    20.10.2015 744

Не нашли то что искали?

Вам будут интересны эти курсы:

Все материалы, размещенные на сайте, созданы авторами сайта либо размещены пользователями сайта и представлены на сайте исключительно для ознакомления. Авторские права на материалы принадлежат их законным авторам. Частичное или полное копирование материалов сайта без письменного разрешения администрации сайта запрещено! Мнение редакции может не совпадать с точкой зрения авторов.

Ответственность за разрешение любых спорных моментов, касающихся самих материалов и их содержания, берут на себя пользователи, разместившие материал на сайте. Однако редакция сайта готова оказать всяческую поддержку в решении любых вопросов связанных с работой и содержанием сайта. Если Вы заметили, что на данном сайте незаконно используются материалы, сообщите об этом администрации сайта через форму обратной связи.

Ответы на вопрос

ответ: мама больше купила овощей на 1 килограмм

1)1 км коля проходит за t = 1/6 = 0,1(6) часа

2) при переводе в минуты получается 0,1(6) получаем 10 мин.

3) 25 — 10 = 15 мин.

коля успевает дойти до школы за 10 мин с запасом времени 15 мин.

Оцените статью
Добавить комментарий

Adblock detector