1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 rib = {}
24
25 rib['sphere'] = '''
26 ReverseOrientation
27 NuPatch
28 7 4 # nu uorder
29 [ 0 0 0 0 0.25 0.5 0.75 1 1 1 1 ] 0 1 # umin umax
30 11 4 # nv vorder
31 [ -0.25 -0.25 -0.125 0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1
32 1.125 1.25 1.25 ] 0 1 # vmin vmax
33 "vertex hpoint Pw" [ 9.596475e-17 -1 -2.5316185e-16 1 0.1999168 -1 0.1999168 1 0.61643 -0.7836116 0.61643 1
34 0.86720247 4.4113033e-17 0.86720247 1 0.61643 0.7836116 0.61643 1 0.1999168 1 0.1999168 1
35 1.2304236e-16 1 3.4154717e-17 1 9.596475e-17 -1 -2.5316185e-16 1 0.28272503 -1 -5.512922e-17 1
36 0.87176364 -0.7836116 1.268959e-16 1 1.2264094 9.7213866e-17 3.2082685e-16 1 0.87176364 0.7836116 3.2920823e-16 1
37 0.28272503 1 2.030501e-16 1 1.2304236e-16 1 3.4154717e-17 1 9.596475e-17 -1 -2.5316185e-16 1
38 0.1999168 -1 -0.1999168 1 0.61643 -0.7836116 -0.61643 1 0.86720247 1.503147e-16 -0.86720247 1
39 0.61643 0.7836116 -0.61643 1 0.1999168 1 -0.1999168 1 1.2304236e-16 1 3.4154717e-17 1
40 9.596475e-17 -1 -2.5316185e-16 1 -1.8991932e-16 -1 -0.28272503 1 -4.2954374e-16 -0.7836116 -0.87176364 1
41 -5.2948258e-16 1.7230979e-16 -1.2264094 1 -3.2319616e-16 0.7836116 -0.87176364 1 -5.4204673e-17 1 -0.28272503 1
42 1.2304236e-16 1 3.4154717e-17 1 9.596475e-17 -1 -2.5316185e-16 1 -0.1999168 -1 -0.1999168 1
43 -0.61643 -0.7836116 -0.61643 1 -0.86720247 1.503147e-16 -0.86720247 1 -0.61643 0.7836116 -0.61643 1
44 -0.1999168 1 -0.1999168 1 1.2304236e-16 1 3.4154717e-17 1 9.596475e-17 -1 -2.5316185e-16 1
45 -0.28272503 -1 9.820774e-17 1 -0.87176364 -0.7836116 2.8758069e-16 1 -1.2264094 9.7213866e-17 3.9726926e-16 1
46 -0.87176364 0.7836116 2.7719785e-16 1 -0.28272503 1 8.4957776e-17 1 1.2304236e-16 1 3.4154717e-17 1
47 9.596475e-17 -1 -2.5316185e-16 1 -0.1999168 -1 0.1999168 1 -0.61643 -0.7836116 0.61643 1
48 -0.86720247 4.4113033e-17 0.86720247 1 -0.61643 0.7836116 0.61643 1 -0.1999168 1 0.1999168 1
49 1.2304236e-16 1 3.4154717e-17 1 9.596475e-17 -1 -2.5316185e-16 1 8.074172e-17 -1 0.28272503 1
50 9.290196e-17 -0.7836116 0.87176364 1 5.589015e-17 2.2117946e-17 1.2264094 1 -1.34456173e-17 0.7836116 0.87176364 1
51 -5.4972927e-17 1 0.28272503 1 1.2304236e-16 1 3.4154717e-17 1 9.596475e-17 -1 -2.5316185e-16 1
52 0.1999168 -1 0.1999168 1 0.61643 -0.7836116 0.61643 1 0.86720247 4.4113033e-17 0.86720247 1
53 0.61643 0.7836116 0.61643 1 0.1999168 1 0.1999168 1 1.2304236e-16 1 3.4154717e-17 1
54 9.596475e-17 -1 -2.5316185e-16 1 0.28272503 -1 -5.512922e-17 1 0.87176364 -0.7836116 1.268959e-16 1
55 1.2264094 9.7213866e-17 3.2082685e-16 1 0.87176364 0.7836116 3.2920823e-16 1 0.28272503 1 2.030501e-16 1
56 1.2304236e-16 1 3.4154717e-17 1 9.596475e-17 -1 -2.5316185e-16 1 0.1999168 -1 -0.1999168 1
57 0.61643 -0.7836116 -0.61643 1 0.86720247 1.503147e-16 -0.86720247 1 0.61643 0.7836116 -0.61643 1
58 0.1999168 1 -0.1999168 1 1.2304236e-16 1 3.4154717e-17 1 ]
59 '''
60
61 rib['teapot'] = '''
62 Scale 0.25 0.25 0.25
63 Rotate -15 1 0 0
64 Rotate 170 0 1 0
65 Rotate -70 1 0 0
66 Scale 1.5 1.5 1.5
67 Translate 0 -2 0
68 #ReverseOrientation
69 PatchMesh "bicubic" 13 "nonperiodic" 10 "nonperiodic" "P" [1.5 0 0 1.5 0.828427 0 0.828427 1.5 0 0 1.5 0 -0.828427 1.5 0 -1.5 0.828427 0 -1.5 0 0 -1.5 -0.828427 0 -0.828427 -1.5 0 0 -1.5 0 0.828427 -1.5 0 1.5 -0.828427 0 1.5 0 0 1.5 0 0.075 1.5 0.828427 0.075 0.828427 1.5 0.075 0 1.5 0.075 -0.828427 1.5 0.075 -1.5 0.828427 0.075 -1.5 0 0.075 -1.5 -0.828427 0.075 -0.828427 -1.5 0.075 0 -1.5 0.075 0.828427 -1.5 0.075 1.5 -0.828427 0.075 1.5 0 0.075 2 0 0.3 2 1.10457 0.3 1.10457 2 0.3 0 2 0.3 -1.10457 2 0.3 -2 1.10457 0.3 -2 0 0.3 -2 -1.10457 0.3 -1.10457 -2 0.3 0 -2 0.3 1.10457 -2 0.3 2 -1.10457 0.3 2 0 0.3 2 0 0.75 2 1.10457 0.75 1.10457 2 0.75 0 2 0.75 -1.10457 2 0.75 -2 1.10457 0.75 -2 0 0.75 -2 -1.10457 0.75 -1.10457 -2 0.75 0 -2 0.75 1.10457 -2 0.75 2 -1.10457 0.75 2 0 0.75 2 0 1.2 2 1.10457 1.2 1.10457 2 1.2 0 2 1.2 -1.10457 2 1.2 -2 1.10457 1.2 -2 0 1.2 -2 -1.10457 1.2 -1.10457 -2 1.2 0 -2 1.2 1.10457 -2 1.2 2 -1.10457 1.2 2 0 1.2 1.75 0 1.725 1.75 0.966498 1.725 0.966498
70 1.75 1.725 0 1.75 1.725 -0.966498 1.75 1.725 -1.75 0.966498 1.725 -1.75 0 1.725 -1.75 -0.966498 1.725 -0.966498 -1.75 1.725 0 -1.75 1.725 0.966498 -1.75 1.725 1.75 -0.966498 1.725 1.75 0 1.725 1.5 0 2.25 1.5 0.828427 2.25 0.828427 1.5 2.25 0 1.5 2.25 -0.828427 1.5 2.25 -1.5 0.828427 2.25 -1.5 0 2.25 -1.5 -0.828427 2.25 -0.828427 -1.5 2.25 0 -1.5 2.25 0.828427 -1.5 2.25 1.5 -0.828427 2.25 1.5 0 2.25 1.4375 0 2.38125 1.4375 0.793909 2.38125 0.793909 1.4375 2.38125 0 1.4375 2.38125 -0.793909 1.4375 2.38125 -1.4375 0.793909 2.38125 -1.4375 0 2.38125 -1.4375 -0.793909 2.38125 -0.793909 -1.4375 2.38125 0 -1.4375 2.38125 0.793909 -1.4375 2.38125 1.4375 -0.793909 2.38125 1.4375 0 2.38125 1.3375 0 2.38125 1.3375 0.738681 2.38125 0.738681 1.3375 2.38125 0 1.3375 2.38125 -0.738681 1.3375 2.38125 -1.3375 0.738681 2.38125 -1.3375 0 2.38125 -1.3375 -0.738681 2.38125 -0.738681 -1.3375 2.38125 0 -1.3375 2.38125 0.738681 -1.3375 2.38125 1.3375 -0.738681 2.38125 1.3375 0 2.38125 1.4 0 2.25 1.4
71 0.773198 2.25 0.773198 1.4 2.25 0 1.4 2.25 -0.773198 1.4 2.25 -1.4 0.773198 2.25 -1.4 0 2.25 -1.4 -0.773198 2.25 -0.773198 -1.4 2.25 0 -1.4 2.25 0.773198 -1.4 2.25 1.4 -0.773198 2.25 1.4 0 2.25 ]
72 PatchMesh "bicubic" 13 "nonperiodic" 7 "nonperiodic" "P" [1.3 0 2.25 1.3 0.71797 2.25 0.71797 1.3 2.25 0 1.3 2.25 -0.71797 1.3 2.25 -1.3 0.71797 2.25 -1.3 0 2.25 -1.3 -0.71797 2.25 -0.71797 -1.3 2.25 0 -1.3 2.25 0.71797 -1.3 2.25 1.3 -0.71797 2.25 1.3 0 2.25 1.3 0 2.4 1.3 0.71797 2.4 0.71797 1.3 2.4 0 1.3 2.4 -0.71797 1.3 2.4 -1.3 0.71797 2.4 -1.3 0 2.4 -1.3 -0.71797 2.4 -0.71797 -1.3 2.4 0 -1.3 2.4 0.71797 -1.3 2.4 1.3 -0.71797 2.4 1.3 0 2.4 0.4 0 2.4 0.4 0.220914 2.4 0.220914 0.4 2.4 0 0.4 2.4 -0.220914 0.4 2.4 -0.4 0.220914 2.4 -0.4 0 2.4 -0.4 -0.220914 2.4 -0.220914 -0.4 2.4 0 -0.4 2.4 0.220914 -0.4 2.4 0.4 -0.220914 2.4 0.4 0 2.4 0.2 0 2.55 0.2 0.110457 2.55 0.110457 0.2 2.55 0 0.2 2.55 -0.110457 0.2 2.55 -0.2 0.110457 2.55 -0.2 0 2.55 -0.2 -0.110457 2.55 -0.110457 -0.2 2.55 0 -0.2 2.55 0.110457 -0.2 2.55 0.2 -0.110457 2.55 0.2 0 2.55 0 0 2.7 0 0 2.7 0 0 2.7 0 0 2.7 0 0 2.7 0 0 2.7 0 0 2.7 0 0 2.7 0 0 2.7 0 0 2.7 0 0 2.7 0 0 2.7 0 0 2.7 0.8 0 3 0.8 0.441828
73 3 0.441828 0.8 3 0 0.8 3 -0.441828 0.8 3 -0.8 0.441828 3 -0.8 0 3 -0.8 -0.441828 3 -0.441828 -0.8 3 0 -0.8 3 0.441828 -0.8 3 0.8 -0.441828 3 0.8 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 ]
74 PatchMesh "bicubic" 4 "nonperiodic" 7 "nonperiodic" "P" [-2 0 0.75 -2 0.3 0.75 -1.9 0.3 0.45 -1.9 0 0.45 -2.5 0 0.975 -2.5 0.3 0.975 -2.65 0.3 0.7875 -2.65 0 0.7875 -2.7 0 1.425 -2.7 0.3 1.425 -3 0.3 1.2 -3 0 1.2 -2.7 0 1.65 -2.7 0.3 1.65 -3 0.3 1.65 -3 0 1.65 -2.7 0 1.875 -2.7 0.3 1.875 -3 0.3 2.1 -3 0 2.1 -2.3 0 1.875 -2.3 0.3 1.875 -2.5 0.3 2.1 -2.5 0 2.1 -1.6 0 1.875 -1.6 0.3 1.875 -1.5 0.3 2.1 -1.5 0 2.1 ]
75 PatchMesh "bicubic" 4 "nonperiodic" 7 "nonperiodic" "P" [2.8 0 2.25 2.8 0.15 2.25 3.2 0.15 2.25 3.2 0 2.25 2.9 0 2.325 2.9 0.25 2.325 3.45 0.15 2.3625 3.45 0 2.3625 2.8 0 2.325 2.8 0.25 2.325 3.525 0.25 2.34375 3.525 0 2.34375 2.7 0 2.25 2.7 0.25 2.25 3.3 0.25 2.25 3.3 0 2.25 2.3 0 1.95 2.3 0.25 1.95 2.4 0.25 1.875 2.4 0 1.875 2.6 0 1.275 2.6 0.66 1.275 3.1 0.66 0.675 3.1 0 0.675 1.7 0 1.275 1.7 0.66 1.275 1.7 0.66 0.45 1.7 0 0.45 ]
76 PatchMesh "bicubic" 4 "nonperiodic" 7 "nonperiodic" "P" [-1.9 0 0.45 -1.9 -0.3 0.45 -2 -0.3 0.75 -2 0 0.75 -2.65 0 0.7875 -2.65 -0.3 0.7875 -2.5 -0.3 0.975 -2.5 0 0.975 -3 0 1.2 -3 -0.3 1.2 -2.7 -0.3 1.425 -2.7 0 1.425 -3 0 1.65 -3 -0.3 1.65 -2.7 -0.3 1.65 -2.7 0 1.65 -3 0 2.1 -3 -0.3 2.1 -2.7 -0.3 1.875 -2.7 0 1.875 -2.5 0 2.1 -2.5 -0.3 2.1 -2.3 -0.3 1.875 -2.3 0 1.875 -1.5 0 2.1 -1.5 -0.3 2.1 -1.6 -0.3 1.875 -1.6 0 1.875 ]
77 PatchMesh "bicubic" 4 "nonperiodic" 7 "nonperiodic" "P" [3.2 0 2.25 3.2 -0.15 2.25 2.8 -0.15 2.25 2.8 0 2.25 3.45 0 2.3625 3.45 -0.15 2.3625 2.9 -0.25 2.325 2.9 0 2.325 3.525 0 2.34375 3.525 -0.25 2.34375 2.8 -0.25 2.325 2.8 0 2.325 3.3 0 2.25 3.3 -0.25 2.25 2.7 -0.25 2.25 2.7 0 2.25 2.4 0 1.875 2.4 -0.25 1.875 2.3 -0.25 1.95 2.3 0 1.95 3.1 0 0.675 3.1 -0.66 0.675 2.6 -0.66 1.275 2.6 0 1.275 1.7 0 0.45 1.7 -0.66 0.45 1.7 -0.66 1.275 1.7 0 1.275 ]
78 '''
79
80 rib['ground'] = '''
81 #Transform [ 42.55857 0 0 0 0 42.55857 0 0 0 0 42.55857 0 0 0 0 1 ]
82 PointsGeneralPolygons
83 [ 1 ]
84 [ 4 ]
85 [ 2 3 1 0 ]
86 "vertex point P" [ -0.5 -8.966352e-17 0.5 0.5 -8.966352e-17 0.5 -0.5 8.966352e-17 -0.5 0.5 8.966352e-17 -0.5 ]
87 "facevarying normal N" [ 0 1 1.7932704e-16 0 1 1.7932704e-16 0 1 1.7932704e-16 0 1 1.7932704e-16 ]
88 "facevarying float[2] st" [ 0 0 1 0 1 1 0 1 ]
89 "facevarying vector stangent" [ 1 0 0 1 0 0 1 0 0 1 0 0 ]
90 '''
91