嗨:) 我有下面的python代码,它生成位于球体表面上的点
from math import sin, cos, pi
toRad = pi / 180
ox = 10
oy = -10
oz = 50
radius = 10.0
radBump = 3.0
angleMin = 0
angleMax = 360
angleOffset = angleMin * toRad
angleRange = (angleMax - angleMin) * toRad
steps = 48
angleStep = angleRange / steps
latMin = 0
latMax = 180
latOffset = latMin * toRad
if (latOffset < 0):
latOffset = 0;
latRange = (latMax - latMin) * toRad
if (latRange > pi):
latRange = pi - latOffset;
latSteps = 48
latAngleStep = latRange / latSteps
for lat in range(0, latSteps):
ang = lat * latAngleStep + latOffset
z = cos(ang) * radius + oz
radMod = sin(ang) * radius
for a in range(0, steps):
x = sin(a * angleStep + angleOffset) * radMod + ox
y = cos(a * angleStep + angleOffset) * radMod + oy
print "%f %f %f"%(x,y,z)
之后,我使用splot'datafile'用gnuplot绘制点
你能给我们一些关于如何在球体上创建变形的提示吗? 像是“山”或“尖刺”? (类似于openbsd徽标;):https://https.openbsd.org/images/tshirt-23.gif)
我知道这是一个无关紧要的问题:(但感谢您抽出时间:)
数字信号处理器
所以我最后用一组控制点来“拉动”球体来创建变形 表面。它是沉重的OO和丑陋的,尽管;) 谢谢你的帮助!!! 要使用它>;afile和gnuplot:splot'afile'w l
数字信号处理器
怎么样?在
我想到的方法,特别是计算一组没有明确连接的点的方法,就是找到点在球体表面上的位置,然后按一组控制点确定的距离和方向移动它。控制点离得越远,影响就越小。例如:
通过改变控制点,可以改变球体的形状 通过更改运动函数,可以更改点形状球体的方式 你可能会变得非常棘手,在不同的地方有不同的功能:
^{pr2}$如果不希望所有控制点都影响球体中的每个点,只需将其构建到置换函数中。在
相关问题 更多 >
编程相关推荐