了解在Hype Processing中的锚定

时间:2015-09-08 02:28:38

标签: processing

我正在尝试了解如何在HYPE库中为Processing 3进行锚定。

我建立了一个非常小的例子来说明我的问题。在下面的代码中,我希望三角形不会相互拦截:

HPath d1,d2;

void setup(){
    size(600,600);
    H.init(this).background(#202020);
    smooth();
    float u=100;


        d1 = new HPath();
        d1
            .triangle( H.EQUILATERAL, H.TOP )
            .noStroke()
            .fill(#FF0000,100)
            .size( 1*u )
            .loc( 0, 0 )
            .anchorAt(H.TOP)
        ;
        H.add(d1);
        d2 = new HPath();
        d2
            .triangle( H.EQUILATERAL, H.BOTTOM )
            .noStroke()
            .fill(#00FF00,100)
            .size( 1*u )
            .loc( u/2,0 )
            .anchorAt(H.TOP)
        ;
        H.add(d2);


    H.drawStage();
}

三角形的一边是尺寸()吗?如果是这样,如果我将大小设置为 u 并开始在位置( u / 2 ,0)绘制一个新三角形,为什么它们重叠?

1 个答案:

答案 0 :(得分:0)

似乎所有你认为是三角形的大小(即HYPE库中的外接圆)。

HPath d1, d2;

void setup() {
    size(600, 600);
    H.init(this).background(#202020);
    smooth();
    float u = 100 * sqrt(3);
    d1 = new HPath();
    d1
    .triangle( H.EQUILATERAL, H.TOP )
    .noStroke()
    .fill(#FF0000, 100)
    .size( u / sqrt(3))
    .anchorAt(H.TOP)
    .loc( 0, 0 )
    ;
    H.add(d1);
    d2 = new HPath();
    d2
    .triangle( H.EQUILATERAL, H.BOTTOM )
    .noStroke()
    .fill(#00FF00, 100)
    .size( u / sqrt(3))
    .anchorAt(H.TOP)
    .loc( u * 1 / 3, 0 )
    ;
    H.add(d2);
    H.drawStage();
}