![]() |
#1581 |
Registered
Join Date: Apr 2008
Posts: 8
|
Question About collision control
![]() The music routine is almost doen, so I'm not really counting that. The two major items are collision detection and user interfaces. MA2.6 did not have a 3D background, so there was nothing for the fish to hit, except each other. That rudimentary fish-to-fish collision-detection is already in MA3, but with so many fish in the tank, it's not very effective.
![]() What keeps you from programming a transparent 3D surface around all fish and obstacles with a parameter that skews fish direction when any two transparents theoretically meet? kind of like a force field. Please don't laugh at me. I'm not a visual programmer, obviously. |
![]() |
![]() |
![]() |
#1582 |
Developer
Join Date: Dec 2000
Location: Southern Oregon
Posts: 9,816
|
How do you tell if a 3D surface (transparent or not) is touching another 3D surface?
There's a technique called Bounding Boxes, in which you set up the imaginary corners of a box around each object, then constantly test all those points to see if they are "within" another bounding box. Unless your objects are rather square to begin with, the boxes would be a pretty loose fit, preventing the objects from getting very close. Bounding Spheres are better for round objects, but what about something like a Finger Coral? I actually have come up with a pretty good scheme, and was hoping to have a test version in the hands of the Alpha team last night. But there were some bugs that sent the fish hopping around uncontrollably, so it will take another day. (I will lose part of the day today, as it's our 26th anniversary, and my wife has two Shakespeare plays and a dinner planned.)
Jim Sachs
Creator of SereneScreen Aquarium |
![]() |
![]() |
![]() |
#1583 |
Smilie Dragon
Join Date: Nov 2001
Location: Lebanon, PA
Posts: 4,725
|
![]() ![]()
Thank you for taking the time to read this.
![]() |
![]() |
![]() |
![]() |
#1584 |
Forum Administrator
Join Date: Dec 2000
Location: Rock Hill, SC
Posts: 10,947
|
![]() How do you tell if a 3D surface (transparent or not) is touching another 3D surface?
![]() Without Calculus or Algebra II? Test a million points. I found a couple of things... http://fajrvehr.googlepages.com/bscthesis http://www.manning.com/kovach/
"Journalism is printing what someone else does not want printed. Everything else is public relations." - George Orwell
"If voting changed anything, they'd make it illegal." - Emma Goldman |
![]() |
![]() |
![]() |
#1585 |
Pet Shark
Join Date: Nov 2001
![]() Location: Back in Buffalo
Posts: 5,460
|
Happy anniversary Jim!
Man 1: "My best friend ran away with my wife yesterday." Man 2: "How long have you been best friends?" Man 1: "About a day." Man 3: "You've been married for 25 years. How did you do it?" Man 4: "Well, I treated my wife very well, I bought her things, and I took her to Timbuktu for our 5th wedding anniversary." Man 3: "Wow! Timbuktu for your 5th wedding anniversary. What will you do for your 26th wedding anniversary?" Man 4: "I'm going to go get her."
Patrick
|
![]() |
![]() |
![]() |
#1586 |
Developer
Join Date: Dec 2000
Location: Southern Oregon
Posts: 9,816
|
Morgan -
Thanks for the links, but I have two problems which prevent me from using those ideas. First, I have never been able to understand any code which I did not write myself. Second, I have no math. In Junior High, I was plucked out of normal math and put in an experimental "new math" program which ruined me for life. All I can remember from it was months of converting things which looked something like this: (x+y)*(y+x) into something more like this: xx+3x+y (I'm sure this is totally wrong, all I'm saying is that the first one had parentheses and the second one didn't.) As you can tell, I retained none of it. No point to this exercise was ever given, and the need for it has never come once up in my 59 years. How I longed to be in the same classes with my friends - they were learning real things like how to calculate the height of a building and accelerations of vehicles.
Jim Sachs
Creator of SereneScreen Aquarium |
![]() |
![]() |
![]() |
#1587 |
Registered
Join Date: May 2003
Location: Studio City, CA
Posts: 15
|
![]() Wow! I have not ran my aquarium in a while but I just got a new system and it came with a really nice 22 inch widescreen monitor. I thought to my self this monitor would be amazing with MA on it. so I wondered by to download 2.6 only to find out that a new version is being developed. It reminded me of the happy days of beta testing. Hey Jim I am glad to know you are still around and doing your thing and its cool to see that this place is still kicking. I really look forward to seeing MA 3 on this aweosome monitor. How do we find information about beta testing?
![]() ![]() Hated to have to pay to upgrade to get 2.6, but well worth it, I'm sure... and I can't wait for 3.0! (another upgrade, no doubt, but well worth it) |
![]() |
![]() |
![]() |
#1588 |
Forum Administrator
Join Date: Dec 2000
Location: Rock Hill, SC
Posts: 10,947
|
![]() it was months of converting things which looked something like this:
(x+y)*(y+x) into something more like this: xx+3x+y How I longed to be in the same classes with my friends - they were learning real things like how to calculate the height of a building and accelerations of vehicles. ![]()
"Journalism is printing what someone else does not want printed. Everything else is public relations." - George Orwell
"If voting changed anything, they'd make it illegal." - Emma Goldman |
![]() |
![]() |
![]() |
#1589 |
Registered
Join Date: Apr 2008
Posts: 8
|
To refine your box filter
[quote=Jim Sachs]How do you tell if a 3D surface (transparent or not) is touching another 3D surface?
To start,I would send one fish program to a unique,one colored background.The fish program modified to send it's own preassigned object identifier number to the main object seperation program. The background would be defined as object "0". Object definition/priority, pixelmap flow tables would be created (one for each object ie.Background, Coral, Fish Ect.). Intercept the X+Y Horizontal/vertical pixel co-ordinate before it's placed on the screen., including the color attribute byte and the theoretical "Z" (3D depth co-ordinate from the fish program output). Since at this time you only have one fish, all pixel outputs that are not the background color can be mapped as object "1". Adding others each with a greater priority in the same manner. To speed the program Templates of relative. repeating pixel placement patterns for each object could be created from this input using Calculus. Every object itself a subprogram program subject to it's unique definition/priority pixelmap flow table. The main program would encapsulate and maintain seperation of objects by comparing the next pixel redirection output request from each self defined subprogram and when two objects attempt to write to identical X+Y (same pixel) their priority table would give overwrite permission to the object with the smallest "Z"(closest to the front 3D perception) allowing fish to pass in front of each other when in horizontal or vertical motion. When fish are intersecting,the upcomming "identical X+Y+Zs"indicate an upcomming collision the priority tables send an order to redirect fish to the object subprogram with the highest priority. |
![]() |
![]() |
![]() |
#1590 |
Registered
Join Date: Nov 2001
Location: Lancashire, UK
Posts: 7,854
|
I doubt Stanley Unwin could have said it more clearly...
![]() |
![]() |
![]() |
![]() |
#1591 |
Developer
Join Date: Dec 2000
Location: Southern Oregon
Posts: 9,816
|
Over here we have Professor Irwin Corey.
Jim Sachs
Creator of SereneScreen Aquarium |
![]() |
![]() |
![]() |
#1592 |
Registered
Join Date: Mar 2007
Posts: 2
|
Lately, there seems to be days inbetween the time the forum posts are viewible. Is it the provider controlling volume of data going through the site? The last message viewable is Jim's on the 4th.
|
![]() |
![]() |
![]() |
#1593 |
The Architect
Join Date: Aug 2004
Location: Seattle
Posts: 756
|
![]() Lately, there seems to be days inbetween the time the forum posts are viewible. Is it the provider controlling volume of data going through the site? The last message viewable is Jim's on the 4th.
![]()
Reasons people don't watch Star Trek:
60% - It’s for nerds. 39% - The show’s stupid. 01% - My parents were killed by Klingons and it's still too painful. |
![]() |
![]() |
![]() |
#1594 |
Registered
Join Date: Nov 2001
Location: Washington State
Posts: 49
|
![]() I'd love to be a fly on the wall when Prolific's lawyers get their hands on it....
![]() ![]() Doug................(Pyros9) ![]() www.faddis.net My goal in life is to be as good of a person as my dogs think I am. |
![]() |
![]() |
![]() |
#1595 |
Forum Administrator
Join Date: Dec 2000
Location: Rock Hill, SC
Posts: 10,947
|
![]() Lately, there seems to be days inbetween the time the forum posts are viewible. Is it the provider controlling volume of data going through the site? The last message viewable is Jim's on the 4th.
![]()
"Journalism is printing what someone else does not want printed. Everything else is public relations." - George Orwell
"If voting changed anything, they'd make it illegal." - Emma Goldman |
![]() |
![]() |
![]() |
#1596 |
Registered
Join Date: Apr 2007
Posts: 1
|
Beta Test Forum
![]() it is because there is discussion going on in the Beta test forum
![]() Waiting patiently in anticipation. Shaw |
![]() |
![]() |
![]() |
#1597 |
Administrator
Join Date: Dec 2000
![]() Location: Tennessee
Posts: 9,725
|
Basically those areas have always been termed Beta areas. But with Jim's intention to release and let people follow along with his additions and changes after a certain point, you are correct in this instance that Alpha would be technically correct for this one.
Michael
Administrator of Inside:SereneScreen Aquarium Forum, Chatroom, Fan Site & Gallery DVD Collection |
![]() |
![]() |
![]() |
#1598 |
Developer
Join Date: Dec 2000
Location: Southern Oregon
Posts: 9,816
|
I sent Prolific a test version today, and will follow up with a version for the Alpha testers in a couple of days. I still haven't got the collision-avoidance routine right yet, but I have been making some progress. There is now a fish-resizing routine in place (I almost called it a fish-scaling routine, but thought better of it
![]() I've also finally got a decent draw-ordering routine working. Before, when a fish passed behind andother fish which was drawn first, it would not show through the transparent fins. Now all the fish are renderend in the proper order, from farthest to nearest.
Jim Sachs
Creator of SereneScreen Aquarium |
![]() |
![]() |
![]() |
#1599 |
is pleased
Join Date: Mar 2001
![]() Location: Stockholm, Sweden
Posts: 7,365
|
![]() Thanks to Morgan, Tiny Snapshots is up and running again with "Tiny Järvafält" as the latest addition – Go have a look and tell me what you think.
"We knew the world would not be the same. A few people laughed, a few people cried, most people were silent. I remembered the line from the Hindu scripture, the Bhagavad-Gita. Vishnu is trying to persuade the Prince that he should do his duty and to impress him takes on his multi-armed form and says, 'Now, I am become Death, the destroyer of worlds.' I suppose we all thought that, one way or another." /Robert Oppenheimer on witnessing the first thermonuclear detonation in history. |
![]() |
![]() |
![]() |
#1600 |
Developer
Join Date: Dec 2000
Location: Southern Oregon
Posts: 9,816
|
It's just very difficult to come up with an all-encompassing algorithm that fits any situation. It will probably have to patched together out of many different algorithms. Right now, I've got a routine in which a fish would move forward until it hits an object, stop, move up a little, try again. This gives the effect of pecking at the coral, and in many instances looks very good. But not ALL instances, so I need about a zillion conditional statements to determine which avoidance behavior to use in many different situations.
Jim Sachs
Creator of SereneScreen Aquarium |
![]() |
![]() |
![]() |
|
|
|