Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Tıpkı noktaların birleşip yüzeyleri oluşturması gibi yüzeyleri de birleştirmek için Volume(Hacim) objesinden yararlanırız ve böylelikle hacim oluşturmuş oluruz.
Aşağıda Volume obje kullanarak nasıl 3D obje üretildiği açıkça görülmektedir.

<O T="Volume">
        <O T="Surface" Z="0">
            <O T="Point" X="-5" Y="-5" />
            <O T="Point" X="5" Y="-5" />
            <O T="Point" X="5" Y="5" />
            <O T="Point" X="-5" Y="5" />
        </O>
        <O T="Surface" Z="20">
            <O T="Point" X="-10" Y="-10" />
            <O T="Point" X="10" Y="-10" />
            <O T="Point" X="10" Y="10" />
            <O T="Point" X="-10" Y="10" />
        </O>
</O>

https://www.openbrim.org/objidboujk406ceybqa7e3cjo9.libobj


Girilecek iki yüzeyin köşe noktalarının sırası ve sayısının önemi vardır. Yüzey noktalarının alt ve üst yüzeydeki sıraları farklı tanımlanırsa, bordür çizgileri kendi sırasındaki noktalar arasında çizgi oluşturacak ve yanlış bir görünüm oluşacaktır. Şöyleki;

<O T="Volume">
        <O T="Surface" Z="0">
            <O T="Point" X="-5" Y="-5" />
            <O T="Point" X="5" Y="-5" />
            <O T="Point" X="5" Y="5" />
            <O T="Point" X="-5" Y="5" />
        </O>
        <O T="Surface" Z="20">
            <O T="Point" X="10" Y="-10" />
            <O T="Point" X="10" Y="10" />
            <O T="Point" X="-10" Y="10" />
            <O T="Point" X="-10" Y="-10" />
        </O>
  </O>



Yine başka dikkat edilmesi gereken husus yüzeylerin aynı nokta sayısına sahip olmasıdır. Farklı nokta sayıları olduğu zaman her bir nokta öncelikle kendi sırasındakiyle eşleşir ve eşleşemeyen noktalarda birleşme olmaz ve açıkta kalır. Şöyleki;

<O T="Volume">
        <O T="Surface" Z="0">
            <O T="Point" X="-5" Y="-5" />
            <O T="Point" X="5" Y="-5" />
            <O T="Point" X="5" Y="5" />
            <O T="Point" X="-5" Y="5" />
        </O>
        <O T="Surface" Z="20">
            <O T="Point" X="-10" Y="-10" />
            <O T="Point" X="10" Y="-10" />
            <O T="Point" X="10" Y="10" />
            <O T="Point" X="0" Y="20" />
            <O T="Point" X="-10" Y="10" />
        </O>
</O>






Eğer bir yüzeyde tüm noktalar için ortak bir koordinat varsa bunu bir üst parantezde ortak olarak gösterebiliriz. Bunun anlamı tüm noktaların içine o koordinat değerlerini yazmakla aynıdır. Örnekte olduğu gibi ilk surface objesinde Z değerleri her bir nokta için 0 olduğundan, tek tek yazmak yerine yüzey objesinin satırında tek bir hamlede gösterebiliriz. Çünkü bu satırlar arasında hiyerarşik toplam vardır. Bu hiyerarşik toplamı görmek için toglobal fonksiyonu kullanabiliriz. (Bknz: Fonksiyonlar)

Örnek:

<O T="Group" Z="2">
    <O N="hacim" T="Volume" Z="5">
        <O N="yuzey1" T="Surface" Z="1">
            <O T="Point" X="-width" Y="-width" Z="3" />
            <O T="Point" X="width" Y="-width" Z="3"/>
            <O T="Point" X="width" Y="width" Z="3"/>
            <O T="Point" X="-width" Y="width" Z="3"/>
        </O>
        <O N="yuzey2" T="Surface" Z="11">
            <O T="Point" X="-width/2" Y="-width/2" Z="4"/>
            <O T="Point" X="width/2" Y="-width/2" Z="4"/>
            <O T="Point" X="width/2" Y="width/2" Z="4"/>
            <O T="Point" X="-width/2" Y="width/2" Z="4"/>
        </O>
    </O>
</O>


Yukarıdaki örnekte hiyerarşik toplama bakılacak olursa, en dıştan içeriye doğru Group hacimi içinde bulundurur, hacim de yuzey1 ile yuzey2'yi içinde bulundurur.
Yani yuzey1 içten dışarıya doğru Z değeri 3+1+5+2 ile hesaplanarak Z=11 değerini alır.
Yuzey2 de Z değeri 4+11+5+2 ile hesaplanarak Z=22 değerini alır.


Parametreleri:


Sınıfı

Zorunluluk

Adı

Varsayılan değeri ve açıklaması

Öznitelikler

1

Draw Face A

Zorunlu 
Değil

N="DrawFaceA" 

D="Draw Face A?: A yüzeyi gösterilsin mi? [Yes=1/No=0]" 
V="1"

Role="Input"

2

Draw Face B

Zorunlu 
Değil

N="DrawFaceB" 

D="Draw Face B?: B yüzeyi gösterilsin mi? [Yes=1/No=0]" 
V="1"

Role="Input"

3

Draw Border

Zorunlu 
Değil

N="DrawBorder" 

D="Draw Border?: A ile B yüzeyini birleştiren sınır çizgileri gösterilsin mi? [Yes=1/No=0]" 
V="1"

Role="Input"

4

Draw Border Around Face A

Zorunlu 
Değil

N="DrawFaceABorder" 

D="Draw Border Around Face A?: A yüzeyi etrafındaki sınır çizgileri gösterilsin mi? [Yes=1/No=0]" 
V="1"

Role="Input"

5

Draw Border Around Face B

Zorunlu 
Değil

N="DrawFaceBBorder" 

D="Draw Border Around Face B?: Should graphics display a border around face B? [Yes=1/No=0]" 
V="1"

Role="Input"

  • No labels