如何在三维中放置图片

如何在三维中放置图片

如何在 Asymptote 中将二维图片(渐近线图片对象)添加到三维图形中?我试过了add(picture, triple),但没有输出(没有错误,只是一个空白屏幕)。完整代码:

import three;
picture p;
size(p, 300);
defaultpen(0.1pt);
path P=polygon(6);
int h, k;
h=3;
k=5;
int bigger(int a, int b) {
    if(a >= b) {
        return a;
    }
    else {
        return b;
    }
}
real distance(pair a, pair b) {
    return sqrt((a.x-b.x)^2+(a.y-b.y)^2);
}
int bound = 1+bigger(h, k);
pair A=dir(60)+dir(0), B=dir(60)+dir(120);
for(int i = -bound; i<= bound; ++i) {
    for(int j = 0; j <= bound+5; ++j) {
        draw(p,shift((i*A.x, abs(i*A.y))+j*B)*P, blue);
    }
}
pair C, D;
C = h*A + k*B;
D = rotate(60, (0,0))*C;
clip(p,C--D--(0,0)--cycle);
draw(p,C--D--(0,0)--cycle, green+linewidth(0.15pt));
real Angle = aTan(C.y/C.x);
add(rotate(-Angle+180)*p, (0,0,0));

这(不包括 3d)产生了以下内容:在此处输入图片描述 我想将它放置在三维空间中作为实体的表面,最终产生如下效果:

在此处输入图片描述

这可能是一个不合理的要求,但我需要这样做的原因是,我已经绘制了一张 2d 图片作为 3d 实体每个面的“图案”,并且需要一种方法将其包含在三维中。我必须在 2d 中绘制它的原因是因为我需要命令clip,而 3d 中没有该命令。

相关内容