Trying to solve for arrow angles.

This commit is contained in:
2025-06-28 00:36:53 -05:00
parent 238a7934b3
commit e084e1120f
2 changed files with 19 additions and 17 deletions

View File

@@ -25,7 +25,7 @@ namespace JUI {
void Draw() override {
Color4 debug_color = Colors::Red;
float debug_size = 4;
float debug_size = 1;
J2D::FillCircle(debug_color, GetAbsolutePosition(), debug_size, 5);
}
@@ -56,28 +56,30 @@ namespace JUI {
void Draw() override {
auto goal_point = goal->Point();
auto origin_point = origin->Point();
using namespace J3ML;
Color4 line_color = Colors::Green;
float line_size = 4;
Color4 line_color = Colors::Blues::DarkBlue;
float line_size = 1;
J2D::DrawLine(line_color, origin->Point(), goal->Point(), line_size);
Vector2 lookback_dir = goal->Point() - origin->Point();
float tri_size = 10;
Rotation angle = lookback_dir.AimedAngle();
Vector2 triangle_base_pt = goal->Point() + (origin->Point().Normalized());
angle += 10_degrees;
J2D::DrawPoint(Colors::Yellow, triangle_base_pt, 4);
Vector2 fan_vector_left = (Math::Cos(angle), Math::Sin(angle));
Vector2 tri_left = triangle_base_pt.Normalized().Rotated90CW()*tri_size;
Vector2 tri_right = triangle_base_pt.Normalized().Rotated90CW()*tri_size;
Vector2 tri_top = goal->Point();
Vector2 tri_polys[3] = {
origin->Point(),
J2D::DrawLine(line_color, tri_top, tri_left, line_size);
J2D::DrawLine(line_color, tri_top, tri_right, line_size);
};
J2D::FillTriangle(line_color);
//J2D::FillTriangle();
J2D::FillTriangle(line_color, {tri_left, tri_right, tri_top});
}
protected:
Anchor* origin;