找回密码
 快速注册
搜索
查看: 199|回复: 0

blender预设曲面

[复制链接]

3147

主题

8384

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65372
QQ

显示全部楼层

hbghlyj 发表于 2022-2-11 05:04 |阅读模式
blenderartists.org/t/lawsons-minimal-surface-questions/671697
在\Blender Foundation\Blender 3.0\3.0\scripts\addons\presets\operator\mesh.primitive_xyz_function_surface里可以找到blender中的一些预设的曲面的参数方程:

bonbon.py
  1. import bpy
  2. op = bpy.context.active_operator
  3. op.x_eq = 'u'
  4. op.y_eq = 'cos(u)*sin(v)'
  5. op.z_eq = 'cos(u)*cos(v)'
  6. op.range_u_min = 0.0
  7. op.range_u_max = 6.2831854820251465
  8. op.range_u_step = 32
  9. op.wrap_u = False
  10. op.range_v_min = 0.0
  11. op.range_v_max = 6.2831854820251465
  12. op.range_v_step = 128
  13. op.wrap_v = False
  14. op.close_v = False
  15. op.n_eq = 1
  16. op.a_eq = '0'
  17. op.b_eq = '0'
  18. op.c_eq = '0'
  19. op.f_eq = '0'
  20. op.g_eq = '0'
  21. op.h_eq = '0'
复制代码
boy.py
  1. import bpy
  2. op = bpy.context.active_operator
  3. op.x_eq = '2/3* (cos(u)* cos(2*v) + sqrt(2)* sin(u)* cos(v))* cos(u) / (sqrt(2) - sin(2*u)* sin(3*v))'
  4. op.y_eq = 'sqrt(2)* cos(u)* cos(u) / (sqrt(2) - sin(2*u)* sin(3*v))'
  5. op.z_eq = '2/3* (cos(u)* sin(2*v) - sqrt(2)* sin(u)* sin(v))* cos(u) / (sqrt(2) - sin(2*u)* sin(3*v))'
  6. op.range_u_min = 0.0
  7. op.range_u_max = 3.1415927410125732
  8. op.range_u_step = 32
  9. op.wrap_u = False
  10. op.range_v_min = 0.0
  11. op.range_v_max = 3.1415927410125732
  12. op.range_v_step = 64
  13. op.wrap_v = False
  14. op.close_v = False
  15. op.n_eq = 1
  16. op.a_eq = '0'
  17. op.b_eq = '0'
  18. op.c_eq = '0'
  19. op.f_eq = '0'
  20. op.g_eq = '0'
  21. op.h_eq = '0'
复制代码
catalan.py
  1. import bpy
  2. op = bpy.context.active_operator
  3. op.x_eq = 'u-sin(u)*cosh(v)'
  4. op.y_eq = '4*sin(1/2*u)*sinh(v/2)'
  5. op.z_eq = '1-cos(u)*cosh(v)'
  6. op.range_u_min = -3.1415927410125732
  7. op.range_u_max = 9.42477798461914
  8. op.range_u_step = 32
  9. op.wrap_u = False
  10. op.range_v_min = -2.0
  11. op.range_v_max = 2.0
  12. op.range_v_step = 128
  13. op.wrap_v = False
  14. op.close_v = False
  15. op.n_eq = 1
  16. op.a_eq = '0'
  17. op.b_eq = '0'
  18. op.c_eq = '0'
  19. op.f_eq = '0'
  20. op.g_eq = '0'
  21. op.h_eq = '0'
复制代码
catenoid.py
  1. import bpy
  2. op = bpy.context.active_operator
  3. op.x_eq = '2*cosh(v/2)*cos(u)'
  4. op.y_eq = 'v'
  5. op.z_eq = '2*cosh(v/2)*sin(u)'
  6. op.range_u_min = -3.1415927410125732
  7. op.range_u_max = 3.1415927410125732
  8. op.range_u_step = 32
  9. op.wrap_u = True
  10. op.range_v_min = -3.1415927410125732
  11. op.range_v_max = 3.1415927410125732
  12. op.range_v_step = 128
  13. op.wrap_v = False
  14. op.close_v = False
  15. op.n_eq = 1
  16. op.a_eq = '0'
  17. op.b_eq = '0'
  18. op.c_eq = '0'
  19. op.f_eq = '0'
  20. op.g_eq = '0'
  21. op.h_eq = '0'
复制代码
clifford_torus.py
  1. import bpy
  2. op = bpy.context.active_operator
  3. op.x_eq = 'cos(u+v)/(sqrt(2.)+cos(v-u))'
  4. op.y_eq = 'sin(v-u)/(sqrt(2.)+cos(v-u))'
  5. op.z_eq = 'sin(u+v)/(sqrt(2.)+cos(v-u))'
  6. op.range_u_min = 0.0
  7. op.range_u_max = 3.140000104904175
  8. op.range_u_step = 8
  9. op.wrap_u = False
  10. op.range_v_min = 0.0
  11. op.range_v_max = 6.2831854820251465
  12. op.range_v_step = 128
  13. op.wrap_v = False
  14. op.close_v = False
  15. op.n_eq = 1
  16. op.a_eq = '0'
  17. op.b_eq = '0'
  18. op.c_eq = '0'
  19. op.f_eq = '0'
  20. op.g_eq = '0'
  21. op.h_eq = '0'
复制代码
cochlea.py
  1. import bpy
  2. op = bpy.context.active_operator
  3. op.x_eq = 'v*cos(u)'
  4. op.y_eq = 'v*sin(u)'
  5. op.z_eq = '0.4*u'
  6. op.range_u_min = 0.0
  7. op.range_u_max = 12.566370964050293
  8. op.range_u_step = 32
  9. op.wrap_u = False
  10. op.range_v_min = 0.0
  11. op.range_v_max = 2.0
  12. op.range_v_step = 32
  13. op.wrap_v = False
  14. op.close_v = False
  15. op.n_eq = 1
  16. op.a_eq = '0'
  17. op.b_eq = '0'
  18. op.c_eq = '0'
  19. op.f_eq = '0'
  20. op.g_eq = '0'
  21. op.h_eq = '0'
复制代码
cosinus.py
  1. import bpy
  2. op = bpy.context.active_operator
  3. op.x_eq = 'u'
  4. op.y_eq = 'sin(pi*((u)**2+(v)**2))/2'
  5. op.z_eq = 'v'
  6. op.range_u_min = -1.0
  7. op.range_u_max = 1.0
  8. op.range_u_step = 32
  9. op.wrap_u = False
  10. op.range_v_min = -1.0
  11. op.range_v_max = 1.0
  12. op.range_v_step = 128
  13. op.wrap_v = False
  14. op.close_v = False
  15. op.n_eq = 1
  16. op.a_eq = '0'
  17. op.b_eq = '0'
  18. op.c_eq = '0'
  19. op.f_eq = '0'
  20. op.g_eq = '0'
  21. op.h_eq = '0'
复制代码
等等,一共24个

手机版|悠闲数学娱乐论坛(第3版)

GMT+8, 2025-3-4 19:13

Powered by Discuz!

× 快速回复 返回顶部 返回列表