extends Node @onready var p1 = $Polygon2D @onready var p2 = $Polygon2D2 var lines = [] func _process(delta: float) -> void: for l in lines: DebugDraw3D.draw_lines(l, Color.DARK_RED) func chunk_array(arr: Array, chunk_size: int) -> Array: var result_chunks = [] var i = 0 while i < arr.size(): var chunk = arr.slice(i, i + chunk_size) result_chunks.append(chunk) i += chunk_size return result_chunks func _ready() -> void: var tri = Triangulization.new() var p1_vectors = [Vector2(4, 0), Vector2(4, 4), Vector2(0, 4), Vector2(0, 0)] var p2_vectors = [Vector2(2, 1), Vector2(2, 2), Vector2(1, 2), Vector2(1, 1)] p1.polygon = p1_vectors p2.polygon = p2_vectors p2.color = Color(1, 0, 1) var result = tri.triangulate_with_holes(p1, p2) var packedVector2 = p1_vectors packedVector2.append_array(p2_vectors) var triangles = chunk_array(result, 3) print(triangles) print(packedVector2) for t in triangles: var triangle_line = [] for ti in range(len(t)): var rindex = t[ti] var rindexnext = t[(ti+1) % len(t)] var v1 = packedVector2[rindex] var v2 = packedVector2[rindexnext] var vector1 = Vector3(v1.x, v1.y, 0) var vector2 = Vector3(v2.x, v2.y, 0) triangle_line.append(vector1) triangle_line.append(vector2) lines.append(triangle_line) print(lines)