Math Is Fun Forum

  Discussion about math, puzzles, games and fun.   Useful symbols: ÷ × ½ √ ∞ ≠ ≤ ≥ ≈ ⇒ ± ∈ Δ θ ∴ ∑ ∫ • π ƒ -¹ ² ³ °

You are not logged in.

#1 Re: Help Me ! » This is unsolvable... right? » 2006-09-10 08:13:07

Super. 10x a lotkiss. At least I know I shouldn't be wasting anymore time on this. Alas, now I've got to find another approach to the problem. dizzy:|

#2 Re: Help Me ! » This is unsolvable... right? » 2006-09-10 05:55:47

OMG! Can anyone help me?! Will anyone bother?
Not.

#3 Re: Help Me ! » This is unsolvable... right? » 2006-09-10 05:35:33

But there are also K and L that are known. You don't use those. I don't understand why not.
Also, I don't pick values for any of K, L, M, N, Q, P or S. They're merely the known result of individually unknown A, B, C, D. I CANNOT have any values for K, L, M, N, Q, P or S that contradict the relations I gave.

K, L, M, N, Q, P and S are known. I know their values. I do not know the value of A. Or B, or C, or D, whatever. You can't find one without finding all the rest. Trouble is I don't think you can find any out.

M+N+Q+P=2S IS RIGHT. I don't understand what you mean. It CANNOT possibly be FALSE. For it to be false would contradict the hypothesis. It would contradict the relations I gave at the start of the thread.

All the relations in the hypothesis and their consequences are TRUE in any and all cases:

K=A-B ALWAYS TRUE.
L=C-D ALWAYS TRUE.
M=A+C ALWAYS TRUE.
N=B+D ALWAYS TRUE.
Q=A+D ALWAYS TRUE.
P=B+C ALWAYS TRUE.
S=A+B+C+D ALWAYS TRUE.
M+N+Q+P=2S ALWAYS TRUE.
S=M+N ALWAYS TRUE.
S=Q+P ALWAYS TRUE.
M+N=Q+P ALWAYS TRUE.
S=K+2N+L ALWAYS TRUE.
S=K+P+N ALWAYS TRUE.
P=N+L ALWAYS TRUE.
etc... ALWAYS TRUE.

K, L, M, N, Q, P, S KNOWN.
A, B, C, D UNKNOWN.
What is A?

Please, please help. I'm losing my sanity over this problem. At least tell me it's insane and unsolvable so I can sleep easily.dunno

#4 Re: Help Me ! » This is unsolvable... right? » 2006-09-10 03:27:29

Nope. It just compounded my confusion. I really can't see how I can solve it, how I could reach such a relation.

#5 Re: Help Me ! » This is unsolvable... right? » 2006-09-10 02:13:52

Can I write A as a relation of K, L, M, N, Q, P, S, without B, C, D or not? That I could understand.
A solution of knowing I cannot would not be much fun though. Or do you mean that I can but it involves division to one of the knowns and as such the possibilty of /0?:o

Oh dear, not getting anywhere.

#6 Re: Help Me ! » This is unsolvable... right? » 2006-09-10 00:30:53

So it is possible to fully solve it? As in obtaining a relation for A based only on knowns, without B, C, D?

I get the distinct sensation I'm being made fun of.
First, someone posted something then promptly deleted it.
Then Mathsy said it's not possible to solve it, in a rather roundabout way.
Now you say it is possible to solve it, just that it would be a really long solution.

Please, if it's obviously impossible to solve and I'm just too stupid to notice, just tell me. If it is possible to fully solve it, also, please tell me. If you just don't want to help and I'm boring you, again, just tell me.

I've no peace of mind, I keep trying to solve it for A without even knowing if it's pointless effort. I just want to know if I should give up or not. I'm not asking you to solve it for me, although I wouldn't mind, just to know if I should give up or not.dunno

#7 Re: Help Me ! » This is unsolvable... right? » 2006-09-09 18:48:22

Someone posted something, which then promptly disappeared. For a moment there...
It was probably incorrect because the person that made took it off.

I just need one more relation. Which I've no idea how to get. Then it will be.
Such a nasty problem this is. sad

#9 Help Me ! » This is unsolvable... right? » 2006-09-09 10:05:30

sonyafterdark
Replies: 18

Stupid question, yes, but I want to be thorough and know for sure I'm not missing anything. What do you guys think, can this be solved?

K=A-B
L=C-D
M=A+C
N=B+D
Q=A+D
P=B+C
S=A+B+C+D
K, L, M, N, Q, P, S are known. What is A?

Haven't been here in awhile. Nice to be back.

Cheers.:D

#10 Re: Help Me ! » Really need to simplify some horridly complex ecpressions » 2005-12-17 01:47:28

Yes, thank you. But can you help with simplification or at least testing? I can't even run this in OpenOffice Calc without getting that nasty overflow error. I can ramove the dots in WordPad easily. That's not such a great concern.

#11 Re: Help Me ! » Really need to simplify some horridly complex ecpressions » 2005-12-16 23:51:16

OpenOffice Err:512 code:

512: Formula overflow

Compiler: the total number of internal tokens, (that is, operators, variables, brackets) in the formula exceeds 512. Interpreter: the total number of matrices that the formula creates exceeds 150. This includes basic functions that receive too large an array as a parameter (max. 0xFFFE, for example, 65534 bytes).

Now, isn't that nice?!!! Just Great!!! X(

#12 Re: Help Me ! » Really need to simplify some horridly complex ecpressions » 2005-12-16 22:56:58

OK, here goes. Also, do you know how i might register this as intellectual property once I'm done simplifying it? As far as I know it's the first theorem and only theorem of it's kind. I'd love to get some official recognition of my work. I'd like to see this taught in school some day, along with Pitagora's theorem, etc. big_smile

S.i = AREA of the surface of intersection between the whatever 2 triangles. Should range between 0 and, well, a really big positive number. Otherwise I probably need to snap and abs() around the whole thing smile.

A, B, C = the three tips of the first triangle.

D, E, F = the three tips of the second triangle.

.x, .y = the x and y coordinates of a tip. Not having tested this, I'm not ENTIRELY sure it actually works, but even if it doesn't, it probably only need some minor adjustments here and there, like an abs() or improved clockwise/counterclockwise triangle tip enumeration handling. Guess I'll just have to test it unsimplified. Course, I'll use Excell big_smile.

S.i=1/4*(A.x*(C.y-B.y+((A.x-D.x)*(B.y-A.y)*(E.y-D.y)+D.y*(B.y-A.y)*(E.x-D.x)-A.y*(B.x-A.x)*(E.y-D.y))/((B.y-A.y)*(E.x-D.x)-(B.x-A.x)*(E.y-D.y))-((C.x-D.x)*(A.y-C.y)*(E.y-D.y)+D.y*(A.y-C.y)*(E.x-D.x)-C.y*(A.x-C.x)*(E.y-D.y))/((A.y-C.y)*(E.x-D.x)-(A.x-C.x)*(E.y-D.y)))+B.x*(A.x-C.y+((B.x-E.x)*(C.y-B.y)*(F.y-E.y)+E.y*(C.y-B.y)*(F.x-E.x)-B.y*(C.x-B.x)*(F.y-E.y))/((C.y-B.y)*(F.x-E.x)-(C.x-B.x)*(F.y-E.y))-((A.x-E.x)*(B.y-A.y)*(F.y-E.y)+E.y*(B.y-A.y)*(F.x-E.x)-A.y*(B.x-A.x)*(F.y-E.y))/((B.y-A.y)*(F.x-E.x)-(B.x-A.x)*(F.y-E.y)))+C.x*(B.y-A.y+((C.x-F.x)*(A.y-C.y)*(D.y-F.y)+F.y*(A.y-C.y)*(D.x-F.x)-C.y*(A.x-C.x)*(D.y-F.y))/((A.y-C.y)*(D.x-F.x)-(A.x-C.x)*(D.y-F.y))-((B.x-F.x)*(C.y-B.y)*(D.y-F.y)+F.y*(C.y-B.y)*(D.x-F.x)-B.y*(C.x-B.x)*(D.y-F.y))/((C.y-B.y)*(D.x-F.x)-(C.x-B.x)*(D.y-F.y)))+D.x*(F.y-E.y+((C.x-D.x)*(A.y-C.y)*(E.y-D.y)+D.y*(A.y-C.y)*(E.x-D.x)-C.y*(A.x-C.x)*(E.y-D.y))/((A.y-C.y)*(E.x-D.x)-(A.x-C.x)*(E.y-D.y))-((C.x-F.x)*(A.y-C.y)*(D.y-F.y)+F.y*(A.y-C.y)*(D.x-F.x)-C.y*(A.x-C.x)*(D.y-F.y))/((A.y-C.y)*(D.x-F.x)-(A.x-C.x)*(D.y-F.y)))+E.x*(D.y-F.y+((A.x-E.x)*(B.y-A.y)*(F.y-E.y)+E.y*(B.y-A.y)*(F.x-E.x)-A.y*(B.x-A.x)*(F.y-E.y))/((B.y-A.y)*(F.x-E.x)-(B.x-A.x)*(F.y-E.y))-((A.x-D.x)*(B.y-A.y)*(E.y-D.y)+D.y*(B.y-A.y)*(E.x-D.x)-A.y*(B.x-A.x)*(E.y-D.y))/((B.y-A.y)*(E.x-D.x)-(B.x-A.x)*(E.y-D.y)))+F.x*(E.y-D.y+((B.x-F.x)*(C.y-B.y)*(D.y-F.y)+F.y*(C.y-B.y)*(D.x-F.x)-B.y*(C.x-B.x)*(D.y-F.y))/((C.y-B.y)*(D.x-F.x)-(C.x-B.x)*(D.y-F.y))-((B.x-E.x)*(C.y-B.y)*(F.y-E.y)+E.y*(C.y-B.y)*(F.x-E.x)-B.y*(C.x-B.x)*(F.y-E.y))/((C.y-B.y)*(F.x-E.x)-(C.x-B.x)*(F.y-E.y)))+((A.y-D.y)*(B.x-A.x)*(E.x-D.x)+D.x*(B.x-A.x)*(E.y-D.y)-A.x*(B.y-A.y)*(E.x-D.x))/((B.x-A.x)*(E.y-D.y)-(B.y-A.y)*(E.x-D.x))*(((C.x-D.x)*(A.y-C.y)*(E.y-D.y)+D.y*(A.y-C.y)*(E.x-D.x)-C.y*(A.x-C.x)*(E.y-D.y))/((A.y-C.y)*(E.x-D.x)-(A.x-C.x)*(E.y-D.y))-A.y+E.y-((A.x-E.x)*(B.y-A.y)*(F.y-E.y)+E.y*(B.y-A.y)*(F.x-E.x)-A.y*(B.x-A.x)*(F.y-E.y))/((B.y-A.y)*(F.x-E.x)-(B.x-A.x)*(F.y-E.y)))+((A.y-E.y)*(B.x-A.x)*(F.x-E.x)+E.x*(B.x-A.x)*(F.y-E.y)-A.x*(B.y-A.y)*(F.x-E.x))/((B.x-A.x)*(F.y-E.y)-(B.y-A.y)*(F.x-E.x))*(((A.x-D.x)*(B.y-A.y)*(E.y-D.y)+D.y*(B.y-A.y)*(E.x-D.x)-A.y*(B.x-A.x)*(E.y-D.y))/((B.y-A.y)*(E.x-D.x)-(B.x-A.x)*(E.y-D.y))-E.y+B.y-((B.x-E.x)*(C.y-B.y)*(F.y-E.y)+E.y*(C.y-B.y)*(F.x-E.x)-B.y*(C.x-B.x)*(F.y-E.y))/((C.y-B.y)*(F.x-E.x)-(C.x-B.x)*(F.y-E.y)))+((B.y-E.y)*(C.x-B.x)*(F.x-E.x)+E.x*(C.x-B.x)*(F.y-E.y)-B.x*(C.y-B.y)*(F.x-E.x))/((C.x-B.x)*(F.y-E.y)-(C.y-B.y)*(F.x-E.x))*(((A.x-E.x)*(B.y-A.y)*(F.y-E.y)+E.y*(B.y-A.y)*(F.x-E.x)-A.y*(B.x-A.x)*(F.y-E.y))/((B.y-A.y)*(F.x-E.x)-(B.x-A.x)*(F.y-E.y))-B.y+F.y-((B.x-F.x)*(C.y-B.y)*(D.y-F.y)+F.y*(C.y-B.y)*(D.x-F.x)-B.y*(C.x-B.x)*(D.y-F.y))/((C.y-B.y)*(D.x-F.x)-(C.x-B.x)*(D.y-F.y)))+((B.y-F.y)*(C.x-B.x)*(D.x-F.x)+F.x*(C.x-B.x)*(D.y-F.y)-B.x*(C.y-B.y)*(D.x-F.x))/((C.x-B.x)*(D.y-F.y)-(C.y-B.y)*(D.x-F.x))*(((B.x-E.x)*(C.y-B.y)*(F.y-E.y)+E.y*(C.y-B.y)*(F.x-E.x)-B.y*(C.x-B.x)*(F.y-E.y))/((C.y-B.y)*(F.x-E.x)-(C.x-B.x)*(F.y-E.y))-F.y+C.y-((C.x-F.x)*(A.y-C.y)*(D.y-F.y)+F.y*(A.y-C.y)*(D.x-F.x)-C.y*(A.x-C.x)*(D.y-F.y))/((A.y-C.y)*(D.x-F.x)-(A.x-C.x)*(D.y-F.y)))+((C.y-F.y)*(A.x-C.x)*(D.x-F.x)+F.x*(A.x-C.x)*(D.y-F.y)-C.x*(A.y-C.y)*(D.x-F.x))/((A.x-C.x)*(D.y-F.y)-(A.y-C.y)*(D.x-F.x))*(((B.x-F.x)*(C.y-B.y)*(D.y-F.y)+F.y*(C.y-B.y)*(D.x-F.x)-B.y*(C.x-B.x)*(D.y-F.y))/((C.y-B.y)*(D.x-F.x)-(C.x-B.x)*(D.y-F.y))-C.y+D.y-((C.x-D.x)*(A.y-C.y)*(E.y-D.y)+D.y*(A.y-C.y)*(E.x-D.x)-C.y*(A.x-C.x)*(E.y-D.y))/((A.y-C.y)*(E.x-D.x)-(A.x-C.x)*(E.y-D.y)))+((C.y-D.y)*(A.x-C.x)*(E.x-D.x)+D.x*(A.x-C.x)*(E.y-D.y)-C.x*(A.y-C.y)*(E.x-D.x))/((A.x-C.x)*(E.y-D.y)-(A.y-C.y)*(E.x-D.x))*(((C.x-F.x)*(A.y-C.y)*(D.y-F.y)+F.y*(A.y-C.y)*(D.x-F.x)-C.y*(A.x-C.x)*(D.y-F.y))/((A.y-C.y)*(D.x-F.x)-(A.x-C.x)*(D.y-F.y))-D.y+A.y-((A.x-D.x)*(B.y-A.y)*(E.y-D.y)+D.y*(B.y-A.y)*(E.x-D.x)-A.y*(B.x-A.x)*(E.y-D.y))/((B.y-A.y)*(E.x-D.x)-(B.x-A.x)*(E.y-D.y))))

Told you it's horrid, didn't I? wink

By the way: I really, really don't get what www.ti.org has to do with this? Could you please give me a direct link to the stuff you indicated?

#13 Help Me ! » Really need to simplify some horridly complex ecpressions » 2005-12-16 13:55:27

sonyafterdark
Replies: 13

Can anyone point me to a good place I can download advanced expression simplification software? Easy to use (user friendly - doesn't require learning sintax, program specific coding, etc.) and also freeware (shareware will do also), would be wonderful (yeah, I'm a dreamer). And I don't just mean handling like terms. And if it's not for download (Java applet or somethin') it should at least be able to handle very large expressions.

I've got this huge expression that's just useless in its current form and it really isn't humanly possible to tackle it manually. I really need to get it more compact to make any use of it. Already tried QuickMath, got a WebMathematica timeout error seemingly cause the expression is so large it exceeds allocated processor time or somethin' like that. And nothing else i found even got close to QuickMath. I'm sure the sintax is correct, the brackets are balanced, etc.

Oh, and by the way... the expression is a function of whatever 2 triangles' respective tips' coordinates and should return the area of intersection, if any, between the 2 triangles. Obviously untested.

10q very much. Cheers!!!

#14 Re: Jokes » Clean Jokes » 2005-11-27 22:58:09

please excuse me... got any NOT LAME jokes? thank you... big_smile

#15 Re: Help Me ! » Here's one for you... » 2005-11-14 07:09:38

i now realise my approach was wrong. The reason i don't wan't to use edge intersection is that this would lead to a huge increase in complexity when coding. This little problem is only part of a much larger one that involves many other little problems all of which, once solved, will need to be computed as efficiently as possible by a computer... This means that the simplest/fastest formula will need to be used. Of course, a formula is always better than an algo.

I've given up adding and substracting areas as it's now clear this isn't the way to go...

I'm going to try and come up with a function of all of the tip coordinates of 2 triangles that returns the amount of common surface area, without requiring ANY if clauses. This was my goal in the first place.

But first, to avoid and possible needless hassle, I'm going to search for just such a function on the internet... If I fail to find one, I'm going to try and come up with one. Do you know of such a function? No ifs required? Please post if you do. 10x

#16 Re: Help Me ! » Here's one for you... » 2005-11-13 19:58:56

The only restriction is that I may not calculate any edge intersections. Other than that, anything goes. I have tried splitting the triangles into more triangles and using their areas in additions and calculations, nothing I tried worked...

I know I can't do it by just adding the areas of the 2 triangles, but that is useful too... I have also tried defining a shape that contains the 2 triangles as well as some outside space left over, I have tried a lot of things... Can you please help?

I really don't know how i come up with these crazy problems... I'm not even sure it can be solved. Please try for me!!!

Oh, and it must work for any 2 triangles...

#17 Help Me ! » Here's one for you... » 2005-11-13 05:53:49

sonyafterdark
Replies: 6

How can you find the amount of common surface area between 2 triangles, knowing the coordinates of all the 6 tips (and thus being able to calculate areas), without actually calculating intersections between edges, just by adding and substracting the different areas?

#18 Re: Help Me ! » proportion between finite and infinite » 2005-09-25 08:23:03

Me no understand big_smile. finite over infinite? as in Limes? 0, i presume.

#19 Re: Help Me ! » Real tough one. Is real-time perfect sub pixel accuracy possible? » 2005-09-24 08:05:03

Hello again Ryos big_smile. No, no. You got it wrong.

The half pixel has almost nothing to do with the question at hand. I never said the arbitrary triangle is 45-45-90. How could an arbitrary triangle be a right-angle triangle?

The average colour of the arbitrary triangle, averaged again with a sister triangle that shares 2 tips with this one - for the other pixel half- , is the colour that the current screen pixel will have. There's no other link.

I am talking about perspective projection here. The average colours of the 2 sister triangles, averaged again between themselves, will determine the final colour of the current screen pixel to which they are projected on screen. In fact they lie somewhere on a polygon in 3D space. Thus they most certainly have no edges either perpendicular or parallel (between the 2 the triangles, I mean).

You can experiment this by simply sticking a square paper cutout CENTRED on a flashlight and pointing it at a wall at different angles, NOT JUST PERPENDICULARLY. Now try shutting the lights and turning the flashlight on big_smile.

The square cutout is the screen pixel. The lantirn is the eye and the wall is a polygon being seen by the eye. The (NOT SO square) quad. shadow on the wall is the 2 arbitrary sister triangles I'm talking about. Get it?

#20 Re: Help Me ! » Real tough one. Is real-time perfect sub pixel accuracy possible? » 2005-09-24 02:11:51

10X Ryos.
Thought of this. But you can see how being able to somehow reduce the triangle to a single texture tile with no disturbance of the cromatic average is so much better.

Perfect actually. Especially considering how the triangle may be however large or far away from the centre of the plane's system. For an especially large one I might (the computer) have to work for minutes/hours.

And this triangle is only half a screen pixel projected on some polygon (the plane).

Can you imagine going through that immensly slow process for 2*1024*768*(at least)25 times a second?


Cheers, Vishy.

#21 Help Me ! » Real tough one. Is real-time perfect sub pixel accuracy possible? » 2005-09-23 13:38:20

sonyafterdark
Replies: 5

There is a square array of N by N (N is finite) squares (the squares themselves are 1 by 1 ).
Each square has a positive integer (let's call it colour) assigned .
This array is tiled to infinity in any direction upon some arbitrary plane.
The edges of the arrays are aligned.

An arbitrary triangle is drawn upon this plane. It may be however large or small, near to or far from the origin of the plane's system. I need to calculate the average colour of the triangle. This means that for each and every single square that comes under the arbitrary triangle, even partially, I will add to a sum (initially 0) the square's_colour_value/area_of_the_square_that_is_inside_the_triangle. After having done this for every single square that falls inside the triangle (even partially) I will have the average colour of the triangle; which leads me to my problem. Given the fact that the triangle may be however large, applying this complex method to any possible arbitrary triangle is not wise.

Is there any way in hell to scale down the triangle to within one of the finite tiles (the square arrays, first one for example) in such a way that I can be certain the cromatic average is not at all altered, in order to make it easier to calculate its cromatic average? Or would some other method work, other than scaling (it just popped into mind)? Please enlighten. 10x


Cheers, Vishy.

#22 Re: This is Cool » Einstein's Riddle » 2005-09-19 08:42:17

Nationality    Norwegian    Dane    Brit    German    Swede
Color    Yellow    Blue    Red    Green    White
Drink    Water    Tea    Milk    Coffee    Beer
Cigar    Dunhill    Blends    Pall Mall    Prince    Blue Master
Animal    Cats    Horses    Birds    Fish    Dogs
Number    1    2    3    4    5

Thank god for MicroSoft Excel!!!
Cheers! big_smile

#23 Re: This is Cool » The cool maths that games can teach you! » 2005-09-17 15:32:55

Come on Ryos, you just scramled for something to shut me up with wink.

Remember, we're talking about a computer implementation algo.

How would you even define (store) an open sphere except by triangulating it or using an infinite amount of data if the aperture (opening) is irregular? Tough one, isn't it?

And even if you could, somehow - other than triangulating -, store your open sphere, wouldn't it make the entire exercise futile seeing as how a normal (closed) sphere is defined so much simpler: a vertex (centre position) and a radius?

But the short, simple answer is, as you might expect, "I don't know". big_smile
But I've never thougt of it from this angle... what a difference it makes to be outside the box, no? smile

2nd. point:

Adminy, will you take me up on my offer to coproduce a 3D engine? you good at coding?

Oh, and here's a 3D treat ;D :

Applying fish eye lens projection effect :

                     VertexX
ProjectedX=--------------------------------------
                  √(VertexX²+VertexY²+VertexZ²)

and, analogue,

                     VertexY
ProjectedY=--------------------------------------
                  √(VertexX²+VertexY²+VertexZ²)

Next time I'll paste an description of curved interpolation. Stay tuned!!!

Enjoy. I'll be launching a HomeSite (eventually - I'm such a sloth big_smile). I'll be sure to paste a link here!

Cheers!

#24 Re: This is Cool » The cool maths that games can teach you! » 2005-09-16 23:53:27

Sorry, I didn't mention we were talking about a volumetric body. But no. The answer is quite simple actually.

1. If there is at least one edge that is not common to at least 2 faces (facets) of the body, then it is open. Otherwise it is closed. (Note: if there's one edge of this type there's bound to be at least another 2 wink)

2. The MAXIMUM NUMBER of segments that may be projected upon some arbitrary line is (S-1)*4, where S is the number of segments that may intersect themselves in any way possible and are projected into the segments on the arbitrary line.

Thanx for posting. Hope this is clear enough.

Oh, and Wink, how about a joint 3D engine project. You good at coding?

#25 This is Cool » The cool maths that games can teach you! » 2005-09-12 13:14:23

sonyafterdark
Replies: 6

I'm going to present you with 2 simple geometry problems. I've already bumped into them and have found solutions on my own, though doubtless there is (was) someone out there who's solved these before me.

Here goes.

1. How can you tell if a geometrical body is closed or open (is there any way to get inside it without going through a face)? Only a real test will do. No intuitive answers such as "You see if there's a facet missing or not" is acceptable. A valid algorhitm is required.

Nothing is obvious in the computer world, remember this. Water might be dry for all a computer knows...

2. Given N planar line segments (line segments inside a plane) that may intersect THEMSELVES in ANY WAY, what is the MAXIMUM NUMBER of segments that may be projected upon some arbitrary line (inside the same plane)? All of the N segments stay on the same side of the line that projection occurs on.

The challenge has been set. Who shall rise to meet it? If there's no correct answer to any one of the 2 questions within a reasonable period of time I shall intervene to enlighten.

Do contact if clarifications are needed.

Cheers!

Board footer

Powered by FluxBB