Название: Рисование треугольника Отправлено: ecspertiza от Декабрь 12, 2011, 19:17 Задача больше геометрическая, но решение пока в голову не пришло :) Есть две точки на плоскости - это линия которая является высотой равнобедренного треугольника, зная (x1,y1,x2,y2) этой высоты нужно построить сам треугольник. Пока в голову ничего не идет :) Может подскажете что ?
Название: Re: Рисование треугольника Отправлено: Fat-Zer от Декабрь 12, 2011, 19:34 не хватает одной величины... например длинны основания.
Название: Re: Рисование треугольника Отправлено: Igors от Декабрь 12, 2011, 19:34 Задача больше геометрическая, но решение пока в голову не пришло :) Есть две точки на плоскости - это линия которая является высотой равнобедренного треугольника, зная (x1,y1,x2,y2) этой высоты нужно построить сам треугольник. Пока в голову ничего не идет :) Может подскажете что ? Обозначим QPointFp1(x1, y1) - "нижняя" точка (посередине основания треугольника) p2(x2, y2) - "верхняя" точка треугольника Тогда v = p2 - p1 (вектор из p1 в p2) d = QVector2D(v.y(), -v.x()) / tan(angle_rad); (вектор половины основания) p3 = p1 + d; p4 = p1 - d; Итого треугольник (p3, p2. p4) angle_rad = угол при основании (должен быть известен) в радианах Название: Re: Рисование треугольника Отправлено: Hellraiser от Декабрь 12, 2011, 19:39 Это хорошо если есть хотя бы один из углов. Если известна только высота - никак. Основание может быть любым, а треугольник все равно останется равнобедренным. Может по условию треугольник равносторонний?
Название: Re: Рисование треугольника Отправлено: ecspertiza от Декабрь 12, 2011, 22:35 можно и равносторонний сделать, думаю не особо критично.
Название: Re: Рисование треугольника Отправлено: Fat-Zer от Декабрь 13, 2011, 01:30 тогда см. формулу Igors'а с углом 60 градусов
Название: Re: Рисование треугольника Отправлено: ecspertiza от Декабрь 14, 2011, 18:03 Igors, спасибо, и всем остальным тоже, заработало все хорошо.
|