2009-07-31 4 views
0

Я пытаюсь нарисовать прозрачную плоскость (X [0..100], Y [0..100], Z = 0) в Java 3D, но не могу понять, как это сделать. Я просмотрел страницу учебника и по-прежнему не могу найти примеры программ.Как нарисовать прозрачную плоскость в Java 3D?

Я пытаюсь найти «плоский» объект как BranchGroup для добавления в существующую TransformGroup, но нет такого плоского объекта; что я должен использовать? И как я могу сделать его прозрачным?

+1

Если она прозрачна, как вы можете быть уверены, что это не так ли? :-) Извините, не обижайтесь. (Вы уверены, что это называется самолетом?) Предоставьте дополнительную информацию. – zoidbeck

+0

То, что я имел в виду, было наполовину прозрачным, я не уверен, что это называется, это плоская поверхность. – Frank

+0

Вы хотите сказать полупрозрачный? –

ответ

0

Это фрагмент кода, который я использовал на гистограмме - это может работать на плоской плоскости.

private static void createAppearances() { 
    normalAppearance = new Appearance(); 
    normalAppearance.setMaterial(normalMaterial); 
    selectedAppearance = new Appearance(); 
    selectedAppearance.setMaterial(selectedMaterial); 
    TransparencyAttributes ta = new TransparencyAttributes(); 

    ta.setTransparencyMode (TransparencyAttributes.BLENDED); 
    ta.setTransparency (DEFAULT_HISTOGRAM_ALPHA); 

    normalAppearance.setTransparencyAttributes (ta); 
    selectedAppearance.setTransparencyAttributes(ta); 
} 

Ключ TransparencyAttributes, если я правильно помню. Хотелось бы, чтобы я мог рассказать вам больше, но я не могу заставить это скомпилировать прямо сейчас (отсутствуют некоторые старые библиотеки, которые не связаны с 3D).

0

Попробуйте этот код ...

BranchGroup group = new BranchGroup(); //Content branch. 
PolygonAttributes p = new PolygonAttributes(); //Not sure how to make it transparent/try code above. 
Appearance planeAppearance = new Appearance(); 
planeAppearance.setPolygonAttributes (p); 
Color3f planeColor = new Color3f (1.0f, 1.0f, 1.0f); //This makes it white. 
ColoringAttributes planeCA = new ColoringAttributes (planeColor, 1); 
planeAppearance.setColoringAttributes(planeCA); 
QuadArray plane = new QuadArray (4, QuadArray.COORDINATES); //This makes the plane. 
    plane.setCoordinate(0, new Point3f(-5f, -5f, -15f)); //You specify your own cornerpoints... 
    plane.setCoordinate(1, new Point3f(5f, -5f, -15f)); 
    plane.setCoordinate(2, new Point3f(5f, 5f, -15f)); 
    plane.setCoordinate(3, new Point3f(-5f, 5f, -15f)); 
group.addChild(new Shape3D(plane, planeAppearance)); //Add plane to content branch. 
Смежные вопросы