1. No response?

What no response to my challenge?

Well, the Bogo Vault has no bounds:

Using only the "open" function, write a function which returns all files
in a directory.

snortboy

new topic     » topic index » view message » categorize

2. Re: No response?

Hey,

>What no response to my challenge?
>
>Well, the Bogo Vault has no bounds:
>
>Using only the "open" function, write a function which returns all
files
>in a directory.
>
>snortboy

Hey man, give people a chance.  I'm considdering your chalenge but I
have other things to do as well.  Just slow down and you could start
some cool threads.

Right now I'm trying to figure out the formula for the distance between
two 3D points.  My math teacher wasn't any help.  He said he couldn't
remember but that it would probably be in a calculus book somewhere in
chapters 12-14.  And he didn't even loan me a book, he told me to get
one at the library (yeah right blink or ask a math Tutor.  So, can anyone
help me here?  What I'm trying to do is enhance the 3d function that
Lithex (I think) posted in response to a question.  It works fine except
that it calculates perspective with Z-distance rather than real
distance.

-- original function
function perspective (sequence thing, sequence eye)
    sequence t, i
    atom r
    r = thing [Z] / (thing [Z] - eye [Z]) -- Notice this line****
    t=thing[X..Y] i=eye[X..Y]
    return (t + r * (i - t))
end function

I want a function that replaces this line:
    r = thing [Z] / (thing [Z] - eye [Z])
with something that uses the 3D distance formula instead of:
    (thing [Z] - eye [Z])
which is only 100% accurate when "thing" is in a strait Z-direction from
"eye"

Any help would be appreciated; also functions for rotating 3D objects
and the camera (eye) are welcome.

Sincerely,
Lewis Townsend

PS  No, I'm not making another 3D graphics game engine with gourad
shading, texture maping etc...  I'm just trying to learn all I can about
3D stuff so I can use the REAL engines better and maybe make a few
graphics demos and games while I'm at it.

PPS Also, the function above seems to be able to to "see" things that
are "behind" the eye and that just doesn't seem right some how.

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com

new topic     » goto parent     » topic index » view message » categorize

3. Re: No response?

For any of those interested in the Bogo Ellipse Function, email me at
nhs6080 at unix.tamu.edu and I'll send you my "algebraic ellipse" package.  Its
a webpage which describes the definition and construction of an ellipse,
algebraically.

snortboy

new topic     » goto parent     » topic index » view message » categorize

4. Re: No response?

Hi

The formula for 3d distance is almost the same as the one for 2d
distance
for the points (x1, y1, z1) and (x2, y2, z2)
instead of distance=((x2-x1)^2+(y2-y1)^2)^.5 as in 2d just do
                distance=((x2-x1)^2+(y2-y1)^2+(z2-z1)^2)^.5



I think in Euphoria we might do something like this:

--Start of Euphoria Code
sequence p1, p2
atom distance

p1={1,2,3) ---- 3d coordinates of point 1
p2={4,5,6) ---- 3d coordinates of point 2
distance=((p2[1]-p1[1])^2 + (p2[2]-p1[2])^2 + (p2[3]-p1[3])^2)^.5

-- End of Euphoria Code

This code is just off the top of my head - I'm sure a much more
elegant and compact expression is possible in Euphoria.

Bye
Martin

new topic     » goto parent     » topic index » view message » categorize

5. Re: No response?

Lewis Townsend wrote:
>
> Hey,
>
> >What no response to my challenge?
> >
> >Well, the Bogo Vault has no bounds:
> >
> >Using only the "open" function, write a function which returns all
> files
> >in a directory.
> >
> >snortboy
>
> Hey man, give people a chance.  I'm considdering your chalenge but I
> have other things to do as well.  Just slow down and you could start
> some cool threads.
>
> Right now I'm trying to figure out the formula for the distance between
> two 3D points.  My math teacher wasn't any help.  He said he couldn't
> remember but that it would probably be in a calculus book somewhere in
> chapters 12-14.  And he didn't even loan me a book, he told me to get
> one at the library (yeah right blink or ask a math Tutor.  So, can anyone
> help me here?  What I'm trying to do is enhance the 3d function that
> Lithex (I think) posted in response to a question.  It works fine except
> that it calculates perspective with Z-distance rather than real
> distance.
>
> -- original function
> function perspective (sequence thing, sequence eye)
>     sequence t, i
>     atom r
>     r = thing [Z] / (thing [Z] - eye [Z]) -- Notice this line****
>     t=thing[X..Y] i=eye[X..Y]
>     return (t + r * (i - t))
> end function
>
> I want a function that replaces this line:
>     r = thing [Z] / (thing [Z] - eye [Z])
> with something that uses the 3D distance formula instead of:
>     (thing [Z] - eye [Z])
> which is only 100% accurate when "thing" is in a strait Z-direction from
> "eye"
>
> Any help would be appreciated; also functions for rotating 3D objects
> and the camera (eye) are welcome.
>
> Sincerely,
> Lewis Townsend

<snip>

the distance between two points in 3d space is almost the
same as for 2d, it's the suare root of the sum of the squares
of the disatnce along each axis.
eg:
distance = sqroot(xdistance+ydistance+zdistance)

                Kasey

new topic     » goto parent     » topic index » view message » categorize

6. Re: No response?

I made a bit of a mistake
>
> I think in Euphoria we might do something like this:
>
> --Start of Euphoria Code
> sequence p1, p2
> atom distance
>
> p1={1,2,3) ---- 3d coordinates of point 1
> p2={4,5,6) ---- 3d coordinates of point 2
> distance=((p2[1]-p1[1])^2 + (p2[2]-p1[2])^2 + (p2[3]-p1[3])^2)^.5
lets make this:
distance=(power((p2[1]-p1[1]),2) +power((p2[2]-p1[2])^2 +
(p2[3]-p1[3]),2))^.5

>
> -- End of Euphoria Code
>
>

Bye
Martin

new topic     » goto parent     » topic index » view message » categorize

7. Re: No response?

Noah Smith wrote:
>Using only the "open" function, write a function
>which returns all files in a directory.

here's my attempt...
seems to work and is tested code...
this is almost assuredly *not* the fastest way to
do this, but it meets the given problem's criteria...
Enjoy the wait...
------------begin

--I hereby declare and understand that ValidChars may *NOT*
--represent *all* possible characters that can appear in a filename.
--It's a good stab at it tho...and it's easy enuff to change...
constant ValidChars=" abcdefghijklmnopqrstuvwxyz1234567890-_~@${}"

--these are actually devices, not files, so we exclude them...
constant Bad={  "nul     .   ","prn     .   ",
                "aux     .   ","con     .   ",
                "com1    .   ","com2    .   ",
                "com3    .   ","com4    .   "  }

constant TRUE=1, FALSE=0
sequence try,found
integer lengthVC
atom now

function IsBadName(sequence test)
   for i = 1 to length(Bad) do
       if compare(test,Bad[i]) = 0 then return TRUE end if
   end for
   return FALSE
end function

function Exists(sequence filename)
   if open(filename,"r") = -1 then return FALSE end if
   return TRUE
end function

procedure ShowList(sequence list)
--Go crazy here, make it as fancy as you want. I opt for simple since
--the output for the problem wasn't specified.
   position (2,1)
   for i = 1 to length(list) do
      puts (1,"'" & list[i] & "' ")
   end for
end procedure

procedure ScrollNames()
   for try12 =1 to lengthVC do
     try[12]  = ValidChars[try12]
     for try11 =1 to lengthVC do
       try[11]  = ValidChars[try11]
       for try10 =1 to lengthVC do
         try[10]  = ValidChars[try10]
         for try8 =1 to lengthVC do     --note:skip 9 here, it's the '.'
           try[8]  = ValidChars[try8]
           for try7 =1 to lengthVC do
             try[7]  = ValidChars[try7]
             for try6 =1 to lengthVC do
               try[6]  = ValidChars[try6]
               for try5 =1 to lengthVC do
                 try[5]  = ValidChars[try5]
                 for try4 =1 to lengthVC do
                   try[4]  = ValidChars[try4]
                   for try3=1 to lengthVC do
                     try[3] = ValidChars[try3]
                     for try2=1 to lengthVC do
                       try[2] = ValidChars[try2]
                       for try1=1 to lengthVC do
                         try[1] = ValidChars[try1]
                         --for speed, these lines are commented out
                         --to see it work, uncomment the next 2 lines
                         --position(1,1)
                         --puts(1,try)
                         if Exists(try) and (not IsBadName(try)) then
                             found = append(found,try)
                             --for speed, leave this commented
                             --to see it work, uncomment it
                             --ShowList(found)
                         end if
   end for end for end for end for end for end for
   end for end for end for end for end for
end procedure

--MAIN
clear_screen()
found = {}
try=repeat(' ',12)
try[9]='.'
lengthVC=length(ValidChars)
now = time()
ScrollNames()
ShowList(found)
printf(1,"It took %f seconds to do this DIR",time()-now)
--did you actually wait to see the above line printed??? ;)

---------------end

--Hawke'

new topic     » goto parent     » topic index » view message » categorize

8. Re: No response?

What?!  Return code so quickly?  You mock the Bogo Vault!!  Actually, both
responses were good responses (and nearly identical to the code that was
actually written to perform these tasks.)
The Score So Far?
Lithex: 1 point for solution; -1 point (lacking some algorithmic
optimization)
Hawke: 1 point for solution; -1,000,000 for brain cells wasted on algorithm

The next Bogo Problem?

A _random_ sort function.  That's right, you may use any comparison
technique your little heart desires, as long as the next element is chosen
randomly.

,morF

yteicoS s'remmargorP ogoB ehT

new topic     » goto parent     » topic index » view message » categorize

9. Re: No response?

>,morF

yteicoS s'remmargorP ogoB ehT
<
From,

The Bogo Programmer's Society

_____________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu