Files
console3d/modules/Console_Render/math_extras.jai

34 lines
779 B
Plaintext

get_triangle_centroid :: (t: Triangle) -> Vec2s64 {
return get_triangle_centroid(t.p1, t.p2, t.p3);
}
get_triangle_centroid :: (p1: Vec2s64, p2: Vec2s64, p3: Vec2s64) -> Vec2s64 {
x := (p1.x + p2.x + p3.x) / 3;
y := (p1.y + p2.y + p3.y) / 3;
return .{x, y};
}
make_quad_from_rect :: (p1: Vec2s64, p2: Vec2s64) -> Quad {
return .{
.{ p1.x, p1.y },
.{ p2.x, p1.y },
.{ p2.x, p2.y },
.{ p1.x, p2.y },
};
}
scale :: (factor: float, pn: ..*Vec2s64) {
for pn {
it.x = cast(s64)(it.x * factor);
it.y = cast(s64)(it.y * factor);
}
}
scale :: (factor: float, t: *Triangle) {
scale(factor, *t.p1, *t.p2, *t.p3);
}
scale :: (factor: float, q: *Quad) {
scale(factor, *q.p1, *q.p2, *q.p3, *q.p4);
}