
-----------------------------------
Homer_simpson
Wed May 28, 2003 9:41 pm

3d questions
-----------------------------------
1. How do i caculate the distance between 2 dots in third dimention(3D)
2. what website could i use as my source for math and physic formulas...

-----------------------------------
Catalyst
Wed May 28, 2003 9:45 pm


-----------------------------------
1) d=sqrt ( (x2-x1)**2+(y2-y1)**2+(z2-z1)**2)

2)   http://hem.passagen.se/olle2/programmering.htm

some of the articles will scare the shit out of you :wink:

-----------------------------------
Homer_simpson
Wed May 28, 2003 9:50 pm


-----------------------------------
thx for the formula
i already know that site... but it doesn't have anything about physics it's all bout 3d shit... but it's cool and yeah some articles are really complicated =/

-----------------------------------
Homer_simpson
Thu May 29, 2003 4:48 pm


-----------------------------------
another question...
is sorting the polygons by their Z in order to be drawn the only way to do proper overlapping?!

-----------------------------------
Catalyst
Thu May 29, 2003 4:55 pm


-----------------------------------
it is one method
there are a number of others

bsp and octrees are another method
but they are static can't be moved

z-buffering is the best solution but is FAR too 
time consuming for turing


z-sorting with culling is the best solution (for Turing)

note: theres a good quick sort algorithm in turinglib (posted somewhere)

-----------------------------------
Homer_simpson
Thu May 29, 2003 4:56 pm


-----------------------------------
k i'll search for that but can u explain the other methods a little more or gimme some source where i can learn about them...

-----------------------------------
Tony
Thu May 29, 2003 4:57 pm


-----------------------------------
no, I dont think it would be proper... You will defenatly run in trouble if two of your polygons are intersecting each other  :lol: 

though I dont think that should be the issue with turing's 3D models... they are not that complex  :D 

But since I'm no expert on 3D, I cant really say much :?

-----------------------------------
Catalyst
Thu May 29, 2003 5:03 pm


-----------------------------------
your right tony z-sorting fails when theres intersecting polys (and on cyclic overlap) but its the only method that ive tried that efficient enough to work with turing


on BSP trees
http://www.geocities.com/SiliconValley/2151/graphics.html


hidden surface removal in general
http://www.tdb.uu.se/~grafik/ht02/lectures/hsr.pdf

-----------------------------------
Homer_simpson
Thu May 29, 2003 8:29 pm


-----------------------------------
how would it crash?! if the Zs are the same i'll just make it be right after eachother...

-----------------------------------
Catalyst
Thu May 29, 2003 8:31 pm


-----------------------------------
never said that it would crash, it just wouldnt work correctly

-----------------------------------
Homer_simpson
Thu May 29, 2003 8:34 pm


-----------------------------------


Now that's what i'm talking about =Ãž  :P 
no really.. their great sites thanx catalyst

-----------------------------------
Catalyst
Thu May 29, 2003 8:42 pm


-----------------------------------
oh to pretty much any question relating to the math part of 3d
 the answer can be found here (just discovered this yesterday)

http://www.faqs.org/faqs/graphics/algorithms-faq

-----------------------------------
Homer_simpson
Thu May 29, 2003 8:44 pm


-----------------------------------
wow thanx catalyst u've helping me stuff and all... here have some bits =Ãž
+50 bits to catalyst

-----------------------------------
Homer_simpson
Thu May 29, 2003 9:37 pm


-----------------------------------
if yer interested this is the procedure i'm gonna use to sort Z # out and it works without crashing
procedure sort (var a : array 1 .. * of int)
    var N : int := upper (a);
    var tt := 0
    var minIndex : int
    for i : 1 .. (N - 1);
        minIndex := i;
        for j : i .. N

            if (a (j) < a (minIndex)) then
                minIndex := j;
            end if
        end for
        if (minIndex > i) then

            tt := a (i)
            a (i) := a (minIndex)
            a (minIndex) := tt
        end if
    end for
end sort
const number := 50
var arr : array 1 .. number of int
for i : 1 .. number
    arr (i) := Rand.Int (1, number)
end for
var arr2 : array 1 .. number of int
for i : 1 .. number
    arr2 (i) := arr (i)
end for
sort (arr)
for i : 1 .. number
    put arr (i), "             ", arr2 (i)
end for



-----------------------------------
Catalyst
Thu May 29, 2003 9:48 pm


-----------------------------------
the z-sort algorthm will never crash turing (syntax will)
however it can looked screwed up in the right situations


thats a bubble sort inst it?
way too slow for this kind of thing (unless youre using = mid
                i += 1
            end loop
            loop
                exit when a (j) 