wrights-deck/blades.asy

21 lines
1.6 KiB
Plaintext

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);