Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.08.2018, 15:25   #31
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

https://github.com/libgdx/libgdx/blo...tersector.java
Код:
/** Intersects the two lines and returns the intersection point in intersection.
	 * 
	 * @param p1 The first point of the first line
	 * @param p2 The second point of the first line
	 * @param p3 The first point of the second line
	 * @param p4 The second point of the second line
	 * @param intersection The intersection point. May be null.
	 * @return Whether the two lines intersect */
	public static boolean intersectLines (Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, Vector2 intersection) {

	/** Intersects the two lines and returns the intersection point in intersection.
	 * @param intersection The intersection point, or null.
	 * @return Whether the two lines intersect */
	public static boolean intersectLines (float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4,
		Vector2 intersection) {
p51x на форуме Ответить с цитированием
Старый 20.08.2018, 15:48   #32
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Да ну Боже мой, знаю я что есть методы возвращающие boolean, если есть пересечение.
Есть и коды готовых программ скачанные.
И забить уравнения в код я могу..
Я спрашиваю очень просто, не прошу написать код за меня.
Простой вопрос:
"Существует ли в JAVA библиотека с классом, у которого есть метод, просто-напросто возвращающий struct с координатами точки пересечения двух прямых координаты концов которых определены?".
Изображения
Тип файла: jpg Уравнение прямой.jpg (35.5 Кб, 140 просмотров)
Тип файла: jpg Система пересечения.jpg (62.7 Кб, 134 просмотров)
KAMLS вне форума Ответить с цитированием
Старый 20.08.2018, 15:49   #33
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Я же вам выделил даже:
Код:
* @param intersection The intersection point. May be null.

* @param intersection The intersection point, or null.
p51x на форуме Ответить с цитированием
Старый 20.08.2018, 16:06   #34
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Я еще не разобрался. Извините.
KAMLS вне форума Ответить с цитированием
Старый 20.08.2018, 16:07   #35
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Тебе же не точка пересечения нужна, а синус угла между диагоналями. В той же ссылке что приводил есть все ))
Изображения
Тип файла: jpg Безымянный.jpg (44.2 Кб, 68 просмотров)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 20.08.2018 в 16:09.
Аватар вне форума Ответить с цитированием
Старый 20.08.2018, 16:26   #36
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Может быть я чего-то не понимаю..
Но оба метода возвращают boolean.
Подскажите пожалуйста неумному, какими переменными там выражаются Х5 и У5??
Ну то есть точка пересечения..
Код:
public static boolean intersectLines (Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, Vector2 intersection) {
		float x1 = p1.x, y1 = p1.y, x2 = p2.x, y2 = p2.y, x3 = p3.x, y3 = p3.y, x4 = p4.x, y4 = p4.y;

		float d = (y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1);
		if (d == 0) return false;

		if (intersection != null) {
			float ua = ((x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3)) / d;
			intersection.set(x1 + (x2 - x1) * ua, y1 + (y2 - y1) * ua);
		}
		return true;
	}

Код:
public static boolean intersectLines (float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4,
		Vector2 intersection) {
		float d = (y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1);
		if (d == 0) return false;

		if (intersection != null) {
			float ua = ((x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3)) / d;
			intersection.set(x1 + (x2 - x1) * ua, y1 + (y2 - y1) * ua);
		}
		return true;
	}
KAMLS вне форума Ответить с цитированием
Старый 20.08.2018, 16:29   #37
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

В intersection она.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 20.08.2018, 16:30   #38
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Тебе же не точка пересечения нужна, а синус угла между диагоналями. В той же ссылке что приводил есть все ))
1. Синус угла - это отношение противоположного катета к гипотенузе.
2. Когда встречаются две диагонали (по моему мнению), гипотенузой становится только часть диагонали. (на рисунке есть)
3.Соответственно синус угла от точки пересечения диагоналей можно найти только зная длину гипотенузы.
4.Узнать длину образовавшейся от части диагонали гипотенузы, можно только узнав координаты точки пересечения диагоналей.
5. Угол мне не нужен. Мне нужны координаты точки пересечения диагоналей.
KAMLS вне форума Ответить с цитированием
Старый 20.08.2018, 16:32   #39
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
В intersection она.
Но ведь метод intersectLines() возвращает только boolean..
Как же ж мне извлечь то координаты из intersection??... плак, плак....
KAMLS вне форума Ответить с цитированием
Старый 20.08.2018, 16:33   #40
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сообщение от KAMLS Посмотреть сообщение
Подскажите пожалуйста неумному, какими переменными там выражаются Х5 и У5??
Ну то есть точка пересечения..
Я вам по секрету скажу - после param идет имя этого параметра...

Цитата:
Сообщение от KAMLS Посмотреть сообщение
Как же ж мне извлечь то координаты из intersection??... плак, плак...
Взять из Vector2 intersection
p51x на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
геометрия novichokkk Помощь студентам 10 18.04.2012 18:36
Геометрия Pascal.t Паскаль, Turbo Pascal, PascalABC.NET 2 17.12.2010 00:13
Геометрия в Си rik_nel Общие вопросы C/C++ 5 14.12.2010 13:43
Геометрия zumm Свободное общение 3 07.07.2010 18:37
Си геометрия Денни Помощь студентам 11 05.03.2010 09:41