首先,我有这个代码,它创造了一个看起来像飞毯的曲面。
#include "colors.inc"
camera {
location <5,140,25>
look_at <0, 0, 0>
angle 7}
light_source {
<20, 20, 20>
White
}
#declare Ball =
sphere{<0,0,0>,0.25
texture{
pigment{color rgb<1,0.65,0.0>}
finish {diffuse 0.9 phong 1}
}// end of texture
}// end of sphere
#declare E = 5;
#declare Z = -E; // start value Z
#declare EndZ = E; // end value Z
#declare Step = 0.2;// step value
//------- loop start Z:
#while ( Z < EndZ + Step)
#declare X = -E; // start value X
#declare EndX = E; // end value X
//------ loop start X:
#while ( X < EndX + Step)
object{Ball
translate<X,0.05*X*sin(X-2*Z)
+ 0.1*Z*cos(3*X-Z),Z>}
#declare X = X+Step;//next X value
#end // --------------- loop end X
#declare Z = Z+Step;//next Z value
#end // --------------- loop end Z
现在我想映射一个像这样的简单图像
我想要在曲面上绘制简单的图案,而不是黄色的球,这样图案就可以看起来像波浪状。
我试图将球映射并循环,但显然输出不是单一的方波图像。 (我不希望那张图片重复,只是单曲图像。)
那可能吗?
谢谢..
答案 0 :(得分:0)
当前,您预先声明一个球体,然后对其进行翻译。如果应用纹理,则它将与球体一起平移,因此所有对象将获得相同的纹理。
使用循环立即在并集内创建具有适当坐标的球体。然后将纹理应用于该联合。缩放并相应地定位纹理。