get_points_ellipse( : : Angle, Row, Column, Phi, Radius1, Radius2 : RowPoint, ColPoint)
get_points_ellipse返回与角度Angle对应的指定椭圆上的点(RowPoint, ColPoint),
该角度参考椭圆的主轴。
椭圆由中心(Row, Column)、主轴相对于水平轴的方向Phi、较大半轴(Radius1)和较小半轴(Radius2)的长度来表示。
这些角是以弧度逆时针方向测量的。
例程:
dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
dev_update_off ()
draw_ellipse(WindowHandle,Row,Column,Phi,Radius1,Radius2)
get_points_ellipse([0,3.14],Row,Column,Phi,Radius1,Radius2,RowPoint,ColPoint)
gen_cross_contour_xld (Cross, RowPoint, ColPoint, 6, Phi)
gen_ellipse (Ellipse, Row, Column, Phi, Radius1, Radius2)
dev_set_draw ('margin')
dev_set_color ('red')
dev_display (Ellipse)
dev_set_color ('green')
dev_display (Cross)
dev_update_on ()
例程用鼠标绘制一个椭圆,然后获取椭圆上0,360度上的点,
并显示出来。
2.sort_pairs( : : T1, T2, SortMode : Sorted1, Sorted2)
执行元组对的排序。
这个过程是首先按升序对其中一个元组(由参数SortMode指定)进行排序。
然后对第二个元组进行排序,
使它们在输出元组中的位置与第一个元组的值的新位置相同,第一个元组在排序之前具有相同的索引。
例程:
Tuple1 := [5,4,3,2,1]
Tuple2 := [105,204,303,402,501]
sort_pairs (Tuple1, Tuple2, '1', Sorted1, Sorted2)
例程结果:
Sorted1 := [1,2,3,4,5]
Sorted2 := [501,402,303,204,105]
两个元组必须具有相同的长度。
如果排序后的元组(T1,如果SortMode='1'或T2,如果SortMode='2')的元素比其他元组多,就会发生错误。
如果排序后的元组(T1,如果SortMode='1'或T2,如果SortMode='2')的元素比其他元组少,
那么输出元组的元素数量将与较短的输入元组的元素数量相同。
可以参考元组排序函数
tuple_sort, tuple_sort_index
|