📄 spline_curves.hasm
字号:
;; @(#)spline_curves.hasm 1.1 92/07/30 17:42:04;; Copyright (c) 1990 by Sun Microsystems, Inc.;#include "hasm_public.h";; This file tests nurbs of orders 1-8;start:; set_attribute hk_scratch_buffer; .word scratch_buffer; set_attribute hk_window_boundary; .word 0, 0, 256, 256 set_attribute hk_line_width .word 1.0; set_attribute hk_line_antialiasing; .word TRUE set_attribute hk_z_buffer_compare .word FALSE set_attribute hk_z_buffer_update .word HK_Z_UPDATE_NONE; set_attribute hk_curve_approx, @approx_n set_attribute hk_line_color .rgb <0.2, 0.2, 0.2> nurb_curve .word 2 ;order .word FALSE ;rational .word 15 ;Control points .word 0 ;Filler .dword 0.0 ;tmin .dword 15.0 ;tmax .dword -0.8, 0.8, 0.0, 0.0 .dword -0.6, 0.8, 0.0, 0.0 .dword -0.4, 0.8, 0.0, 1.0 .dword -0.2, 0.8, 0.0, 0.0 .dword 0.0, 0.8, 0.0, 0.0 .dword 0.2, 0.8, 0.0, 0.0 .dword 0.8, 0.2, 0.0, 0.0 .dword -0.8, 0.0, 0.0, 0.0 .dword 0.8, -0.2, 0.0, 0.0 .dword 0.2, -0.8, 0.0, 0.0 .dword 0.0, -0.8, 0.0, 0.0 .dword -0.2, -0.8, 0.0, 0.0 .dword -0.4, -0.8, 0.0, 0.0 .dword -0.6, -0.8, 0.0, 0.0 .dword -0.8, -0.8, 0.0, 0.0 .dword 0.0 ;Knot vector .dword 1.0 .dword 2.0 .dword 3.0 .dword 4.0 .dword 5.0 .dword 6.0 .dword 7.0 .dword 8.0 .dword 9.0 .dword 10.0 .dword 11.0 .dword 12.0 .dword 13.0 .dword 14.0 .dword 15.0 .dword 16.0; order 3 set_attribute hk_line_color .rgb <0.5, 0.2, 1.0> nurb_curve .word 3 ;order .word FALSE ;rational .word 15 ;Control points .word 0 ;Filler .dword 0.0 ;tmin .dword 21.0 ;tmax .dword -0.8, 0.8, 0.0, 0.0 .dword -0.6, 0.8, 0.0, 0.0 .dword -0.4, 0.8, 0.0, 1.0 .dword -0.2, 0.8, 0.0, 0.0 .dword 0.0, 0.8, 0.0, 0.0 .dword 0.2, 0.8, 0.0, 0.0 .dword 0.8, 0.2, 0.0, 0.0 .dword -0.8, 0.0, 0.0, 0.0 .dword 0.8, -0.2, 0.0, 0.0 .dword 0.2, -0.8, 0.0, 0.0 .dword 0.0, -0.8, 0.0, 0.0 .dword -0.2, -0.8, 0.0, 0.0 .dword -0.4, -0.8, 0.0, 0.0 .dword -0.6, -0.8, 0.0, 0.0 .dword -0.8, -0.8, 0.0, 0.0 .dword 0.0 ;Knot vector .dword 1.0 .dword 2.0 .dword 3.0 .dword 4.0 .dword 5.0 .dword 6.0 .dword 7.0 .dword 8.0 .dword 9.0 .dword 10.0 .dword 11.0 .dword 12.0 .dword 13.0 .dword 14.0 .dword 15.0 .dword 16.0 .dword 17.0 set_attribute hk_line_color .rgb <0.0, 1.0, 0.0>; order = 4 nurb_curve .word 4 ;order .word FALSE ;rational .word 15 ;Control points .word 0 ;Filler .dword 0.0 ;tmin .dword 21.0 ;tmax .dword -0.8, 0.8, 0.0, 0.0 .dword -0.6, 0.8, 0.0, 0.0 .dword -0.4, 0.8, 0.0, 1.0 .dword -0.2, 0.8, 0.0, 0.0 .dword 0.0, 0.8, 0.0, 0.0 .dword 0.2, 0.8, 0.0, 0.0 .dword 0.8, 0.2, 0.0, 0.0 .dword -0.8, 0.0, 0.0, 0.0 .dword 0.8, -0.2, 0.0, 0.0 .dword 0.2, -0.8, 0.0, 0.0 .dword 0.0, -0.8, 0.0, 0.0 .dword -0.2, -0.8, 0.0, 0.0 .dword -0.4, -0.8, 0.0, 0.0 .dword -0.6, -0.8, 0.0, 0.0 .dword -0.8, -0.8, 0.0, 0.0 .dword 0.0 ;Knot vector .dword 1.0 .dword 2.0 .dword 3.0 .dword 4.0 .dword 5.0 .dword 6.0 .dword 7.0 .dword 8.0 .dword 9.0 .dword 10.0 .dword 11.0 .dword 12.0 .dword 13.0 .dword 14.0 .dword 15.0 .dword 16.0 .dword 17.0 .dword 18.0 set_attribute hk_line_color .rgb <0.0, 0.0, 1.0>; order = 5 nurb_curve .word 5 ;order .word FALSE ;rational .word 15 ;Control points .word 0 ;filler .dword 0.0 ;tmin .dword 21.0 ;tmax .dword -0.8, 0.8, 0.0, 0.0 .dword -0.6, 0.8, 0.0, 0.0 .dword -0.4, 0.8, 0.0, 1.0 .dword -0.2, 0.8, 0.0, 0.0 .dword 0.0, 0.8, 0.0, 0.0 .dword 0.2, 0.8, 0.0, 0.0 .dword 0.8, 0.2, 0.0, 0.0 .dword -0.8, 0.0, 0.0, 0.0 .dword 0.8, -0.2, 0.0, 0.0 .dword 0.2, -0.8, 0.0, 0.0 .dword 0.0, -0.8, 0.0, 0.0 .dword -0.2, -0.8, 0.0, 0.0 .dword -0.4, -0.8, 0.0, 0.0 .dword -0.6, -0.8, 0.0, 0.0 .dword -0.8, -0.8, 0.0, 0.0 .dword 0.0 ;Knot vector .dword 1.0 .dword 2.0 .dword 3.0 .dword 4.0 .dword 5.0 .dword 6.0 .dword 7.0 .dword 8.0 .dword 9.0 .dword 10.0 .dword 11.0 .dword 12.0 .dword 13.0 .dword 14.0 .dword 15.0 .dword 16.0 .dword 17.0 .dword 18.0 .dword 19.0 set_attribute hk_line_color .rgb <1.0, 0.0, 0.0>; order = 6 nurb_curve .word 6 ;order .word FALSE ;rational .word 15 ;Control points .word 0 ;filler .dword 0.0 ;tmin .dword 21.0 ;tmax .dword -0.8, 0.8, 0.0, 0.0 .dword -0.6, 0.8, 0.0, 0.0 .dword -0.4, 0.8, 0.0, 1.0 .dword -0.2, 0.8, 0.0, 0.0 .dword 0.0, 0.8, 0.0, 0.0 .dword 0.2, 0.8, 0.0, 0.0 .dword 0.8, 0.2, 0.0, 0.0 .dword -0.8, 0.0, 0.0, 0.0 .dword 0.8, -0.2, 0.0, 0.0 .dword 0.2, -0.8, 0.0, 0.0 .dword 0.0, -0.8, 0.0, 0.0 .dword -0.2, -0.8, 0.0, 0.0 .dword -0.4, -0.8, 0.0, 0.0 .dword -0.6, -0.8, 0.0, 0.0 .dword -0.8, -0.8, 0.0, 0.0 .dword 0.0 ;Knot vector .dword 1.0 .dword 2.0 .dword 3.0 .dword 4.0 .dword 5.0 .dword 6.0 .dword 7.0 .dword 8.0 .dword 9.0 .dword 10.0 .dword 11.0 .dword 12.0 .dword 13.0 .dword 14.0 .dword 15.0 .dword 16.0 .dword 17.0 .dword 18.0 .dword 19.0 .dword 20.0 set_attribute hk_line_color .rgb <0.2, 0.5, 1.0>; order = 7 nurb_curve .word 7 ;order .word FALSE ;rational .word 15 ;Control points .word 0 ;filler .dword 0.0 ;tmin .dword 21.0 ;tmax .dword -0.8, 0.8, 0.0, 0.0 .dword -0.6, 0.8, 0.0, 0.0 .dword -0.4, 0.8, 0.0, 1.0 .dword -0.2, 0.8, 0.0, 0.0 .dword 0.0, 0.8, 0.0, 0.0 .dword 0.2, 0.8, 0.0, 0.0 .dword 0.8, 0.2, 0.0, 0.0 .dword -0.8, 0.0, 0.0, 0.0 .dword 0.8, -0.2, 0.0, 0.0 .dword 0.2, -0.8, 0.0, 0.0 .dword 0.0, -0.8, 0.0, 0.0 .dword -0.2, -0.8, 0.0, 0.0 .dword -0.4, -0.8, 0.0, 0.0 .dword -0.6, -0.8, 0.0, 0.0 .dword -0.8, -0.8, 0.0, 0.0 .dword 0.0 ;Knot vector .dword 1.0 .dword 2.0 .dword 3.0 .dword 4.0 .dword 5.0 .dword 6.0 .dword 7.0 .dword 8.0 .dword 9.0 .dword 10.0 .dword 11.0 .dword 12.0 .dword 13.0 .dword 14.0 .dword 15.0 .dword 16.0 .dword 17.0 .dword 18.0 .dword 19.0 .dword 20.0 .dword 21.0 set_attribute hk_line_color .rgb <1.0, 1.0, 0.0>; order = 8 nurb_curve .word 8 ;order .word FALSE ;rational .word 15 ;Control points .word 0 ;filler .dword 0.0 ;tmin .dword 21.0 ;tmax .dword -0.8, 0.8, 0.0, 0.0 .dword -0.6, 0.8, 0.0, 0.0 .dword -0.4, 0.8, 0.0, 1.0 .dword -0.2, 0.8, 0.0, 0.0 .dword 0.0, 0.8, 0.0, 0.0 .dword 0.2, 0.8, 0.0, 0.0 .dword 0.8, 0.2, 0.0, 0.0 .dword -0.8, 0.0, 0.0, 0.0 .dword 0.8, -0.2, 0.0, 0.0 .dword 0.2, -0.8, 0.0, 0.0 .dword 0.0, -0.8, 0.0, 0.0 .dword -0.2, -0.8, 0.0, 0.0 .dword -0.4, -0.8, 0.0, 0.0 .dword -0.6, -0.8, 0.0, 0.0 .dword -0.8, -0.8, 0.0, 0.0 .dword 0.0 ;Knot vector .dword 1.0 .dword 2.0 .dword 3.0 .dword 4.0 .dword 5.0 .dword 6.0 .dword 7.0 .dword 8.0 .dword 9.0 .dword 10.0 .dword 11.0 .dword 12.0 .dword 13.0 .dword 14.0 .dword 15.0 .dword 16.0 .dword 17.0 .dword 18.0 .dword 19.0 .dword 20.0 .dword 21.0 .dword 22.0; draw control points as markers/* set_attribute hk_marker_antialiasing .word TRUE set_attribute hk_marker_size .word 8.0 set_attribute hk_marker_type .word marker_cross set_attribute hk_marker_color .rgb <1.0, 1.0, 1.0> set_attribute hk_marker_geom_format .word HK_LINE_XYZ polymarker 15 .xyz < -0.8, 0.8, 0.0 > .xyz < -0.6, 0.8, 0.0 > .xyz < -0.4, 0.8, 0.0 > .xyz < -0.2, 0.8, 0.0 > .xyz < 0.0, 0.8, 0.0 > .xyz < 0.2, 0.8, 0.0 > .xyz < 0.8, 0.2, 0.0 > .xyz < -0.8, 0.0, 0.0 > .xyz < 0.8, -0.2, 0.0 > .xyz < 0.2, -0.8, 0.0 > .xyz < 0.0, -0.8, 0.0 > .xyz < -0.2, -0.8, 0.0 > .xyz < -0.4, -0.8, 0.0 > .xyz < -0.6, -0.8, 0.0 > .xyz < -0.8, -0.8, 0.0 >*/;; ******* Uniform splines ********; set_attribute hk_curve_approx, @approx_u set_attribute hk_line_width .word 1.0 parametric_curve .WORD 2 ;order .WORD FALSE ;rational .WORD HK_BASIS_BSPLINES .WORD 10 ;Control points .dword -0.2, -0.2, 0.0, 0.0 .dword -0.2, -0.8, 0.0, 0.0 .dword -0.8, -0.8, 0.0, 0.0 .dword -0.8, 0.8, 0.0, 0.0 .dword 0.0, 0.8, 0.0, 0.0 .dword 0.0, -0.8, 0.0, 0.0 .dword 0.8, -0.8, 0.0, 0.0 .dword 0.8, 0.8, 0.0, 0.0 .dword 0.2, 0.8, 0.0, 0.0 .dword 0.2, 0.2, 0.0, 0.0;order =4 set_attribute hk_line_width .word 1.0 set_attribute hk_line_color .rgb <0.0, 1.0, 0.2> parametric_curve .WORD 4 ;order .WORD FALSE ;rational .WORD HK_BASIS_BSPLINES .WORD 10 ;Control points .dword -0.2, -0.2, 0.0, 0.0 .dword -0.2, -0.8, 0.0, 0.0 .dword -0.8, -0.8, 0.0, 0.0 .dword -0.8, 0.8, 0.0, 0.0 .dword 0.0, 0.8, 0.0, 0.0 .dword 0.0, -0.8, 0.0, 0.0 .dword 0.8, -0.8, 0.0, 0.0 .dword 0.8, 0.8, 0.0, 0.0 .dword 0.2, 0.8, 0.0, 0.0 .dword 0.2, 0.2, 0.0, 0.0;order =4 set_attribute hk_line_width .word 1.5 set_attribute hk_line_pattern .word dsh_pattern set_attribute hk_line_style .word HK_LINESTYLE_UNBALANCE set_attribute hk_line_color .rgb <0.0, 0.5, 1.0> parametric_curve .WORD 4 ;order .WORD FALSE ;rational .WORD HK_BASIS_BEZIER .WORD 12 ;Control points .dword -0.2, -0.2, 0.0, 0.0 .dword -0.2, -0.8, 0.0, 0.2 .dword -0.8, -0.8, 0.0, 0.4 .dword -0.8, 0.8, 0.0, 0.6 .dword -0.8, 0.8, 0.0, 0.8 .dword 0.0, 0.8, 0.0, 0.99 .dword 0.0, -0.8, 0.0, 0.99 .dword 0.8, -0.8, 0.0, 0.99 .dword 0.8, -0.8, 0.0, 0.99 .dword 0.8, 0.8, 0.0, 0.99 .dword 0.2, 0.8, 0.0, 0.99 .dword 0.2, 0.2, 0.0, 0.99/* set_attribute hk_marker_geom_format .word HK_LINE_XYZ set_attribute hk_marker_color .rgb < 0.8, 0.8, 0.8 > set_attribute hk_marker_antialiasing .word TRUE set_attribute hk_marker_type .word marker_cross set_attribute hk_marker_size .word 8.0 polymarker 10 .xyz < -0.2, -0.2, 0.0 > .xyz < -0.2, -0.8, 0.0 > .xyz < -0.8, -0.8, 0.0 > .xyz < -0.8, 0.8, 0.0 > .xyz < 0.0, 0.8, 0.0 > .xyz < 0.0, -0.8, 0.0 > .xyz < 0.8, -0.8, 0.0 > .xyz < 0.8, 0.8, 0.0 > .xyz < 0.2, 0.8, 0.0 > .xyz < 0.2, 0.2, 0.0 >*/alldone: trap 0approx_n: .dword 10.0 ;tesselation value .word HK_CONST_PARAM_BETWEEN_KNOTS .word 0 ; Fillerapprox_u: .dword 0.01 ; tesselation value .word HK_METRIC_NPC .word 0 ; Filler/*scratch_buffer: .word 256 ; Size of scratch buffer .res 256 ; Reserve space for the buffer#include "/usr/shbam2/tests/text/marker_table.hasm"*/#include "/usr/shbam2/tests/lines/hk_pattern.hasm"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -