这是一个有趣的练习,它使用rgl包绘制 3D 参数化苹果,并将生成的网格写入文件。该对象在“RGL 设备”窗口中正确显示颜色(参见下面的屏幕截图)。但是,当我尝试使用 Blender 打开生成的 .PLY 文件时,颜色显示不正确(meshlab 也不起作用)。
问题:如何修复代码以便将苹果的颜色正确导入搅拌机。
下面的示例在屏幕上生成苹果对象,以及一个“.ply”
require(rgl)
require(plot3D)
M <- mesh(seq(-pi, pi, length.out = 200),
seq(-0.8*pi, pi, length.out = 170))
u <- M$x
v <- M$y
R1 <- 4
R2 <- 4
# Apple parametric Equation from http://www.econym.demon.co.uk/isotut/real.htm
x <- cos(u)*(R1 + R2*cos(v)) + ((v/pi)^100)
y <- sin(u)*(R1 + R2*cos(v)) + 0.25*cos(5*u)
z <- - 2.3*log(1 - v*0.3157) + 6*sin(v) +2*cos(v)
zlim <- range(z)
zlen <- zlim[2] - zlim[1] + 1
colorlut <- rainbow(zlen)
col <- colorlut[ z - zlim[1] + 1 ]
surface3d(x, y, z, col=col, smooth=TRUE)
writePLY('apple_v07.ply',
pointRadius = 0.005, pointShape = icosahedron3d(),
withColors=TRUE)