import "scaling.asy" as scaling; real hilt_length = height*0.25; real blade_length = height*0.8; real hilt_width = height*0.05; real hilt_base_overflow = hilt_width*0.7; real blade_base_width = height*0.07; real blade_tip_width = blade_base_width*0.8; real blade_tip_length = blade_length*0.15; real guard_radius = hilt_width*2; real guard_thickness = hilt_width*0.8; real guard_pommel_radius = guard_thickness*0.7; real inner_line_base_width = blade_base_width/8; real inner_line_length = blade_length; real angle = -60; real guard_distance = blade_length/3; path blade[] = scale(1.1)*rotate(angle)*((guard_distance,-blade_base_width/2)--arc((guard_distance+guard_thickness/2, -guard_radius-guard_pommel_radius), (guard_distance,-guard_radius), (guard_distance+guard_thickness,-guard_radius))--(guard_distance+guard_thickness, -hilt_width/2)--(guard_distance+guard_thickness+hilt_length-guard_thickness,-hilt_width/2)--(guard_distance+guard_thickness+hilt_length-guard_thickness,-hilt_width/2-hilt_base_overflow)--(guard_distance+guard_thickness+hilt_length,-hilt_width/2-hilt_base_overflow)---(guard_distance+guard_thickness+hilt_length,hilt_width/2)..{down}(guard_distance, blade_base_width/2)--(guard_distance-blade_length, blade_tip_width/2)--(guard_distance-blade_length-blade_tip_length, 0)--(guard_distance-blade_length, -blade_tip_width/2)--cycle^^(guard_distance+guard_thickness+hilt_length-guard_thickness, hilt_width/2){up}..{down}(guard_distance+guard_thickness, hilt_width/2)--cycle^^(guard_distance,-inner_line_base_width)--(guard_distance-inner_line_length,0)--(guard_distance,inner_line_base_width)--cycle);