-
- Wstęp
- Klasa pkt3d
- Rzut równoległy
- Rzut perpektywiczny
- Jak rysować bryły
- Widoczność ściany
- Oświetlenie wielościanu
- Wykres funkcji z=f(x,y)
-
|
Tym razem w naszym modelu przyjmiemy, że osie aksonometryczne tworzą identyczne katy 120º .
Jeśli przyjąć taką charakterystykę modelu oznacza to trzy znamienne fakty:
- skrócenia na wszystkich osiach są identyczne i jak łatwo obliczyć wynoszą √2/3≈0.82.
- trójkąt śladów aksonometrycznych jest trójkątem równobocznym ( rzutnia aksonometryczna)
- kierunek rzutowania jest prostopadły do trójkąta śladów aksonometrycznych (na rysunku widoczny jako punkt O)
|
Ekran komputera umieszczamy w płaszczyźnie XeYe.
Obliczymy kolejno :
- OB=x·cos 30º
- AB=y·cos 30º
- xe=OB-AB=x·cos 30º-y·cos 30º=(x-y)·cos 30º
- BC=x·sin 30º
- DR=y·sin 30º
- ye=PR-BC-DR=z-(x+y)·sin 30º
|
Ostateczne wzory A(x,y,z)=(xe,ye)
xe=(x-y)·cos 30º
ye=z-(x+y)·sin 30º
|
Wystarczy teraz poprawić funkcję rzut i procedurę linia
pkt2d rzut(pkt3d p)
{double x=skala*(p.x-p.y)*ca;
double y=skala*(p.z-(p.x+p.y)*sa);
return(new pkt2d(x,y;
}
|
void linia(Graphics g,pkt3d p,pkt3d k)
{
lo28.linia(g,rzut(p),rzut(k));
}
|
gdzie sa i ca to odpowiednio sinus i cosinus kąta 30º zaś skala=Math.sqrt(2/3);
A teraz prezentacja bryły w tym modelu.
Przyjęto wymiary i estetykę graniastosłupa dokładnie takie jak w przypadku aksonometrii "prostej", tak by można zauważyć podobieństwa i różnice.
|