Stable, asymmetric dice

A while ago I set about trying to find asymmetric dice that might be fair. I’ve put a lot more work into it, but mostly because there’s been a lot of frustrating interesting tangents. Here’s the main thrust of the project:

  • Original plan: see if I can use evolutional programming to find an asymmetric die that rolls fairly
    • Asymmetric is easiest to do by avoiding the platonic solids (the dice D&D folks use, for example). A lot of what I’ve been doing has been with a 46-sided die (not sure how I landed there, but it’s 25 vertices, which is a fun number).
    • The idea was to form random ones and evolve to a shape where the distribution of sides was flat enough
  • Updated plan (because it’ll run a lot faster): Find an asymmetric unfair die but find contiguous regions on the die that all collectively have the same probability of landing. For example, on the 46-sided die, find, say, 7 collections of sides that all have the same total probability. Then, if you printed it, you could use seven numbers, most (all?) of which would repeat a few times. This came from a great question I got at a local AAPT meeting from my awesome colleague, Bruce Bolon.
  • In the last post you can see that I’ve basically worked out how to roll a 3D die. I can also run on a server at work so that I can roll it thousands of times to get a decent histogram of the probabilities for each side.

Here are a few examples of 7 contiguous regions on a 46 sided die:contiguousregionsdie

As you can see in the previous post, I figured out how to roll 3D dice. I figured I could just roll a die a bunch of times, find the histogram of rolls, and be off and running.

But then I hit a problem (the first of many!). I needed to make sure I randomized the initial conditions of the roll. I figured I could just randomly orient the die before the roll begins. However, I started to notice odd histograms. I double checked things by rolling perfect platonic solids. Here’s the histogram of the probabilities of landing on each side of an 8-sided die where I randomized the die by picking a random axis and a random angle to rotate around that axis:

preorientation histogram using random axis and rotation

Oops! See the problem? Wow it took me a while to figure that out, but I finally did, thanks to the discussion on page 108 of this link. It turns out that picking a random axis and rotating around it randomly quite often leaves the original north pole in the northern hemisphere. Ok, so then I just did random Euler rotations:octahedron histogram with fixed euler.png

This time showing the expected even line and the standard deviations based on the number of rolls. Ok, cooking with fire, right? Nope.

So I moved onto larger dice and thought I’d be ready to go. But I discovered that I would often get sides that would never roll. I wondered what was going on and found out that a randomly generated die often produced sides that were unstable. First let me explain how I produce a random die: I pick, say, 25 random points on a sphere and use Mathematica’s ConvexHullMesh to turn that into a 46 (or 2n-4) sided die. Next, what do I mean by unstable? What I mean is that when you put that side flat on the surface of the table, the center of mass of the die is not directly above it. If that happens, it’ll always tumble away from that side.

Ugh, so that meant I had to carefully figure out which “random” initial points on the sphere that I could use so that all sides had at least a chance of rolling. I figured that it’s probably best to stick close to dice that have the vertices roughly evenly spaced, so I started digging into how to do that. This site helped a ton. In particular, it talked about how you could treat the vertices as charged particles and find distributions of the vertices that minimize their potential energy. So that’s what I set out to do.

Here’s a vid of starting the vertices randomly and letting them move under the influence of their mutual repulsion along with some viscosity (so that they’d settle down near a stable point):46sidedevolution.gif

That looked great, but then I did a side-stability test and found that, while the energy had effectively been minimized (to my satisfaction, at least) there was still a pesky side that was unstable! It’s hard to see, but here are two images that highlight the unstable side. In each, there’s a blue line drawn from the center of mass of the die (which isn’t the center of the sphere that all the vertices lie on!) perpendicular to the face of the offending side. If that line pierces the face, then it’s stable. You can see in the zoom image that it’s just barely unstable:

Cool, huh? I was excited that maybe there was some weird physical thing going on here until I reran the energy minimization with different (random) initial locations for the vertices. When I did that, the final die was fully stable. Still, that’s pretty interesting that it can sometimes not quite be fully stable.

So what’s next? I’d like to take a fully-stable die and do the contiguous regions analysis. I haven’t run the thousands of rolls it takes to get a good histogram, but this analysis of a 36 sided die shows good correlation: Red: probability of rolls, Green: solid angle of side as seen from center of mass, Orange: area of side, Blue: volume of cone from center to each side. It should be noted that this die had a few sides that were unstable, so I think that’s why the correlations aren’t great.

36sided1000eulerfix comparison

But with that, I think I’m excited to use this 46-sided die (this is a graph of the area of each side):

46 side sizes.png

Whew, so that’s where I’m at. Fun, huh?

UPDATE: Here’s the same graph as above but for a fully-stable 36-sided die (Again: Red: probability of rolls, Green: solid angle of side as seen from center of mass, Orange: area of side, Blue: volume of cone from center to each side):36stable10000comparison

Your thoughts? Here are some starters for you:

  • This is cool. What’s D&D?
  • So basically this is all Bruce’s project? Why isn’t he given credit as an author on this post?
  • Why do I have to flip to page 108 of that link? Can’t you just explain it, loser?
  • What do you mean by random Euler rotations?
  • What do you mean when you say that n points lead to a 2n-4 sided die? That seems suspicious because that means that I can have a d6 with just 5 vertices. A d6 has 8 vertices and Plato says so!
  • Why don’t you try to find a fair d6 with 5 vertices?
  • What do you mean by “to my satisfaction at least” when talking about minimizing the energy? Surely you mean you’re finding the perfect global minimum to 100 decimal places, yes?
  • At first, you said the only way to test for stability was to see if the center of mass was directly above the side when it was resting on the surface. Then you said you just drew a line from the center of mass that was perpendicular to the side and looked to see if it pierced the side. Which is it?!
Advertisements
Posted in fun, mathematica, physics | 3 Comments

See the process

A few weeks ago I gave a presentation at the American Association of Physics Teachers summer conference in a session about accessible technology. I talked about how I make use of student assessment videos, but I tried something new in this presentation. It worked well, for the most part, and I wanted to get down some of the details.

Because it was about accessible technology, I wanted to focus on how seeing students work through a problem helps me identify student needs that aren’t apparent in the final product (of a homework assignment or exam, for example). I wanted to show how watching a student work, through a video, can really show things that you, as an instructor, can give useful feedback on. The problem that I faced as I prepared the talk was that often, when showing such videos in a presentation, audience members don’t focus on the pedagogical question but rather they focus on the physics problem and try to solve it along with the student. Because I really wanted my audience to focus on the process, I was trying to think about how to change that dynamic.

I had an idea, but I thought it might not go very well. I wondered if an analogy might help, something that got the process point across but didn’t have a physics problem for them to get caught up in. I was concerned that folks would be frustrated with a non-physics example. I was worried the analogy wouldn’t be strong enough. But I thought I’d give it a try.

The analogy I used was art, specifically drawing. I have a great app on my phone that captures all the pen strokes during the creation of an image. I’ve been trying to get better at drawing over the last few years, so I use the app a lot. The video creation part is something I hadn’t really paid attention to, but I realized it might work well for this analogy. Essentially I planned to have a conversation about the difference between looking at a final product and watching its creation. I hoped to then talk about how those differences manifest when talking about physics. It actually went pretty well!

Here’s the final product I showed (I drew it for a friend’s birthday who’s a big soccer fan):3c827807-7c0c-4b13-922f-247d6cf13974

Yes, I know, I suck, get past it. I showed them this and asked them to critique it. One said they liked how I used color to indicate motion (something I hadn’t done consciously!), another talked about the perspective involved. Then I showed them this:

https://photos.app.goo.gl/kePhfBkRZyXvw2kn6

(clicking through takes you to a public google photo video page, hopefully that’ll work for folks)

I asked what they noticed. One commented on how I used fundamental shapes to block things to begin. I pointed out how I spent a ton of time on one hand, but very little on another and how I put likely way too much time and effort into the detail of the soccer player. We talked about how you get a much better sense of me as a practitioner (and maybe as an artist, but that was secondary for this) by watching the video than by looking at just the final product.

We talked about the shapes comment is like watching a student use good fundamental approaches in a physics video. We also talked about what it means when a student spends too much time on a particular detail (something you don’t see in the final product). I shared how I had a student who was frustrated that her videos weren’t getting the same high scores as her colleagues, pointing out that she had the same work and talked about the same things. I told her that she spent equal time on everything; an indication to me that she didn’t have a firm grasp on what the important concepts were.

My favorite comment, that really connected to the accessibility focus of the session, was when someone said that in the final product they thought the goal netting looked funny but only when they saw the video did they see that it was right on the edge of the image. The final product was a white-background image placed on a white screen (just like above), but the video, during the part when I zoomed in, indicated where the boundary was. This led to a great conversation about not always being able to see the barriers that students face, especially when you only see their final product.

So, all in all, I think it went pretty well. I then pivoted to talking about physics examples and we were able to use the art analogy vocabulary throughout the conversation.

Your thoughts? Here are some starters for you:

  • This is cool, but why didn’t you also . . .
  • This is dumb, art is not physics. What you should have done instead is . . .
  • Another great analogy would be . . .
  • Did you give the finished product or the video to the birthday boy?
  • You kind of suck at drawing, why in the world would you show the world that?
  • I thought you were all about hearing student voices, this is just a silent video. How is that the same?
  • I hate it when audience members just focus on a tangential thing in presentations. My favorite example is . . .
  • You really don’t know how to use semi-colons.
Posted in screencasting, teaching | 1 Comment

Research introduction for students

This summer I’m developing a fully-online course for transfer students to help them hit the ground running in our program (this is part of an entirely online program currently for psychology and business majors). The learning outcomes for the course focus on familiarizing students with the Hamline version of a liberal arts education and on research skills. It’s the latter part that this post is about because I’m seeking some feedback on the tentative plan.

The main approach will focus on having students investigate the research that debunks popular myths in their discipline. The rough outline is:

  1. Explore popular (mis)uses of a particular myth.
    1. This will intentionally have students use lower quality resources like the top 10 hits of a Google search.
    2. The goal will be to flesh out how the myth is understood in society.
  2. Form groups to dig deeper into each myth. Have them form a 10-100 explanation of the myth.
    1. This is where the groups have to describe their myth using the 10 100 most used words in the English language (the word “thousand” isn’t in the 10 100 most used words). I’ve done this in courses before.
  3. Learn how to seek out and evaluate higher quality resources.
    1. We have some good modules for this from our library that first-year students use.
  4. Review the lower quality sources from step one above to identify potential loopholes in the established research that might explain why the myth is so hard to dislodge from society’s general understanding.
  5. Put together an annotated bibliography of sources
    1. Include sources from steps 1, 3, and 4.
    2. Typically the annotations will include how they discovered the source, what its general arguments are, and whether it targets a loophole.
  6. Turn the annotated bibliography into a graphical one
    1. Each source is represented in the graphic.
    2. Physical space in the graphics is leveraged to communicate:
      1. How the sources agree
      2. How the sources reference each other
      3. How the sources refer to the loopholes
      4. Areas where new research could close or illuminate loopholes
  7. The graphical bibliography will not be turned in as a graphic. Rather it will be the context of a video the groups will make to describe their project

Things I like about this:

  • I’m excited to facilitate conversations around what high-quality research really says, as often it’s quite narrow. For example with (my favorite false myth) learning styles, a lot of the debunking research looks at particular features, like the learning comparison between being taught with a variety of approaches vs targeting the students’ claimed learning style. These are powerful pieces of evidence to argue against learning styles, but they are rarely comprehensive against every possible use.
  • I love the 10-100 assignment as students really struggle to find the words that they’re allowed to use to explain something that they understand. This works as a great analogy for how researchers have to learn to communicate.
  • I’m super intrigued by the graphical bibliography. I think that it could be a great way to illustrate the various connections among the sources.
  • I like the notion of closing loopholes. If the groups can find that, say, some company is making money leveraging learning styles, maybe they can find that a new research study could help close that loophole, or identify a use for learning styles that’s legitimate.

Things I’m worried about:

  • Letting students in the first week use just Google results might set a bad precedent.
  • Access to full-text sources in a short term (the initial version will only be 8 weeks long).
  • While I’m developing the class, I won’t always teach it, so I need to make sure that the assessments are solid and able to be performed by any qualified instructor.
  • Psychology myths are pretty easy to find, but business myths have proven harder to track down.

What do you think? Here are some starters for you:

  • This class sounds cool, my favorite part is . . .
  • This class is a waste, what you should do is . . .
  • Why not have the students develop a thorough research proposal for those loopholes?
  • You should add in myths about online learning while you’re at it.
  • What’s your beef with learning styles?
  • Here’s a bunch of business myths for you: . . .
  • I disagree with how you’re categorizing high-quality resources. It seems to me that they are comprehensive. Here’s an example . . .
  • When I think about preparing students for research, I think of a bunch of different ideas than yours. Here’s twelve . . .
  • If you love the 10-100 assignment so much why don’t you limit yourself to those words for your blog posts?
  • There are tons of resources for graphical annotated bibliographies that you should be ashamed you didn’t mention. Here’s my favorite . . .
Posted in dean, research, teaching | 2 Comments

Helicopter vs snowplow

Working in the dean’s office has given me all sorts of new respect for the Dean of Students office. Specifically, I’ve been very impressed at how they leverage students’ parents when helping the students get through tough times. My experience before the dean’s office was cloaking myself in FERPA and basically not talking to parents from the initial recruiting meetings (when I often try to keep eye contact with the potential student) to graduation, when I’m happy to both pose for and take pictures of the family.

But in the dean’s office, I am beginning to see how useful parents can be. If they reach out to us (or the dean of students office) with concern, they kick us into action, even though we’re unable to call them back. Typically we figure out if the student is ok and we convince them to call their parents to let them know.

I was teaching a class once and I was curious how often students contacted their parents. I asked “who has contacted their parents once this week” and most hands went up. So I began to raise the contact number and the hands started to go down. Except for one student. Theirs stayed up, even as I went extreme just to get them to bring the exercise to the end. “Ten times?” Nope. “One hundred times?” Nope. Finally they said “my mom is my best friend and I’ve texted her twice during this class.” I used to tell that story to warn of ‘helicopter parents’ but I’m beginning to see it differently. That parent, as with most, knows their students quite well, and can often act as an emotional guide when tough college-based decisions come up. “Should I do my calc homework or audition for the play?” “Should I try for 3As and a C or 2As and 2Bs?” I don’t think there’s one answer for those sorts of questions, and often the answer is best a set of further questions. But what I’ve learned is that parents are really good at helping students in situations like that. If they need straight academic advising, I’m good at it. But holistic advising? I need help, and parents, even helicopter parents, can be a great tool to leverage.

So I think I can like the concept of ‘helicopter parent’. They are there for support when the student needs it, but, just like my July hobby of watching the Tour de France, they don’t impede.

However, there is a type of parent that I struggle with: the snowplow parent. This is the parent that pushes everything out of the way and chooses the path. That’s a very different beast than a helicopter parent.

I was recently talking to parents of new first year students and I realized that I had a good example of how I went from a snowplow research advisor to a helicopter one as I got better at it. When I first began working with research students (typically in the summer), I would be in my office working on something (typically my teaching plans for the fall) and a student would come in to say that the laser wasn’t aligned anymore. So I’d walk back to the lab with them and show them how to do it. Really I would elbow them out of the way and align it for them, thinking that they’d get more done with an aligned laser than not. I never really realized that I wasn’t doing a good job, but I should have realized how that connected to how they’d act during poster sessions. They’d happily tell anyone who stopped by all about their poster, but when asked a question, like “why this approach” or “have you thought of …” or “I would have …” they’d gaze around the room looking for me in the hopes I’d come and rescue them. Which I would, with answers like “oh, we do it this way because I knew it would work well” and “they’ve probably never heard of that approach but it’s a good idea” and “that’s a good idea, let’s you and me go talk about it.”

See, snowplow advising. Hurts to read, doesn’t it.

Then one summer I had to be gone for two weeks and I left my students behind with a long todo list. I broke my promise to check in with them via email so I was nervous the day I got back. As I walked into the lab, I immediately got furious. I was mostly mad at myself, but I’m sure it came off as furious with them. I walked up to the apparatus they’d built saying “there’s no way this will work” and I started taking it apart. As I was doing that I mentioned that another section of the apparatus was a mistake as well. Then they said “STOP!”. I said “What?” And then they said the two bravest words I’ve ever heard students say to me: “Get Out!” They explained that they’d tried lots of variations and they’d finally found a way to get the experiment to produce actionable data. As I went out to the hallway, still steaming, mind you, I finally realized that’s what success looks like.

So now I try to be a helicopter advisor. I set up an environment where they can learn and I hover, making sure they’re making good decisions. If they get stuck, I try to remember to ask good follow up questions hoping they’ll figure a way out, and I now realize that ending a summer with good data that I’m solely responsible for with a bunch of students who’ve watched me do it is a waste.

So, I think I’d like to be a helicopter advisor and I think I like helicopter parents. Just don’t be a snowplow.

Thoughts? Here are some starters for you:

  • I like this. I especially like . . .
  • I hate this, I especially hate . . .
  • I think FERPA gets in the way. I wish I could call parents. Here’s what I’d say . . .
  • I love FERPA, I never talk to parents and I hope I never have to. Here’s why . . .
  • How can you defend helicopter parents? When they hover my students suffer and here’s why . . .
  • I live in Florida, what is a snowplow?
  • I think the lesson you should have learned is to not bother coming in in the summer.
  • What are those students doing now?
Posted in dean, research, teaching | 4 Comments

Form workflow using Google Apps Script

Now that I’m in the dean’s office (Associate Dean for undergraduates in the College of Liberal Arts if you must know) I serve on a lot of committees. Several of them accept submissions from faculty, staff, or students and have to vet them, adjudicate them, and let someone else know how to act on them. We use all kinds of systems to do this, including email submissions, Google forms, home-built web forms, and (gasp) paper. This post is for me to get some thoughts down for how to improve one such process using a combination of Google forms, Google docs, and Google Apps Script.

Here’s the needed workflow:

  1. Faculty member submits a form so that one of their courses can meet one of our general education requirements (we have a distributed system where any course in principle can meet any of the requirements).
  2. The committee vets the submission against a rubric and discusses it. If it’s approved, the registrar (who sits on the committee) makes the change formal. The faculty member is also informed.
  3. If there is a need for more information or a different tack to be approved, the committee sends the original faculty member a note explaining what is needed.
  4. The faculty member can update their submission using the same form as step 1 above. Then steps 2 and 3 are repeated.

Problems with our current system:

  • There’s no easy way to have the committee keep common digital notes on the submissions. That results in everything happening in the meeting with each individual keeping their own notes ahead of time.
  • There is no real re-submission process. Right now both steps 3 and 4 and any repeats are done via email.
  • The submissions are not formatted very well.

Why Google? What I crave the most is the ability for the committee to group comment on a google doc ahead of the meeting. This would both aid in getting us all on the same page and provide a great record for how we made decisions in the past (rather than just seeing what our decision was) for similar submissions. This single craving drives a lot of the workflow I have in mind:

  1. Faculty member uses a single Google form that has multiple pages, having them jump to the appropriate section for each different type of general education requirement they’re applying for (I think I’ll make it that they’ll have to do it once for every different requirement).
  2. Upon submission, a Google doc will be created based on a template (or several, I suppose, given the different nature of the various general education requirements). This will then be emailed and shared with the entire committee. Its name will include the faculty member, the course, and the version number. A link will go in the “version” column added to the results spreadsheet with the version number hyperlinked to the google doc.
    1. Note that you can’t send emails using Google Apps Script based on a form submission. I gather this protects against massive amounts of email being sent. However, you can do a timed trigger and effectively have the system check once a day (or every five minutes, whatever you like).
  3. The committee will use the commenting features of Google Docs to collect their thoughts ahead of the meeting. In the meeting a decision will be made and placed in the “decision” column that’ll be added to the automatic Google Form spreadsheet
    1. “Approve”: This will fire a script to generate a final pdf version (that gets rid of the comments, of course) that gets emailed to the registrar and the original faculty member. A link for the pdf will go in the “final pdf” column of the spreadsheet.
    2. “Feedback”: This won’t do anything, as the chair likes to tailor the feedback emails to folks. However, the chair will send the “edit submission” link to the original form submission so that any changes will be represented in the spreadsheet.
      1. Note that we won’t turn on “send edit link” on the original form, as we don’t want it to be edited while we’re reviewing it. However, this awesome script allows you to gather these links upon the original submission and add them to the spreadsheet.
      2. We’ll keep an additional column of “last timestamp” so that we can do a timed trigger looking for any rows where the submission timestamp differs from the “last timestamp” so we’ll know to do regenerate the google doc and change the “decision” column to “pending”
    3. “Denied”: Frankly this doesn’t happen much, but we’ll have to add it for completeness. This won’t do anything either because the chair will want to tailor that email to the original faculty member
  4. As noted in 2-2 above, if a re-submission comes in, a new google doc will get generated with the appropriate version number and the process repeats. In the spreadsheet you’d see a “version” column with multiple hyperlinks in it, one for each version.

I think I know how to do all of this. Here are the technical highlights:

  1. Mix of triggers: There’s both “upon form submission” and “timed” triggers involved. Both are pretty straightforward to do.
  2. Generate a Google doc based on a template and a form submission. This is pretty easy as well, especially if you use clear template placeholders like <<name>> or <<First learning outcome>>.
  3. Generate a pdf from a Google doc. Easy
  4. Email things to people. This gets harder with good formatting but not really a problem
  5. Generate the “edit submission link”. The link above really figured that out for me.

So I think I’m in good shape. I’ll probably make a dummy system first to test, but I thought I’d post this in case people think I’m missing something or am thinking about things in a dumb way.

Your thoughts? Here are some starters for you:

  • I’m on this committee and can’t wait. My favorite part is . . .
  • I’m on this committee and think this is dumb. The dumbest part is . . .
  • Why use spreadsheets at all? Just do it all with the Google Apps Script Form API!
  • At my school I could never do this because . . .
  • Must be nice to be a Google school (it is!)
  • What happens when you leave the dean’s office?
  • I can’t believe you can’t do this with Mathematica!
  • I thought you were a LAMP expert, why not write this from scratch with PHP etc? (quick answer: note the craving I laid out above. That’s hard to do with PHP)
  • I can’t believe you think generating a pdf from a google doc is easy! It took me months to figure that out.
  • Where’s the chair approval part?
  • You do know that if you’re using an outline form you can’t have a single sub-point, right?
  • Why are you reinventing the wheel? This is already done (and much better) here. (insert appropriate hyperlink, please!)
  • Why not just have them submit the application as a google doc?
Posted in dean, programming, technology | Leave a comment

Fair Asymmetric Dice, getting there

Ever since my son and I worked on whether different types of 20-sided dice were fair I’ve been thinking about whether there might be some oddly shaped dice that could still be fair.  I’ve watched these three numberphile videos and I’ve looked at these dice. All of which seems to suggest that if you have identically shaped sides, you’re in business. But I’ve still been wondering about other weird shapes.

So I’ve decided to see if I can search for some. This post lays down things I’ve discovered as I’ve geared up to a huge optimization run [SPOILER: I haven’t run it yet]. Here’s the list:

  1. There is an angle you can drop a stick (without rotating) so that it’ll hit twice and bounce right back up without rotating.
  2. Figuring out the correct response to a rigid body bounce on a hard surface was more complicated than I’d thought it would be.
  3. Using Mathematica’s ConvexHullMesh was a cool way to make random multi-sided dice.
  4. Getting Mathematica to use “WhenEvent” to determine impacts and then implement point 2 above was frustratingly difficult.
  5. Doing bounces like I have in the past (treating the ground as a stiff half-spring) works well and lets me do some energy loss mechanisms that I couldn’t figure out in point 4 above.
  6. Soft versus hard surfaces affect the roll (defined as the side that ends up down).
  7. My kids have helped me a ton:
    1. They think adding in translations in addition to rotations and bounces is important. I’m not sold, but it makes for cool animations.
    2. They think hard surfaces look better.
    3. They think most of the energy loss happens at the bounces (my first approach was to use a lot of air resistance and have the bounces be pure – especially when doing point 4 above).
  8. Determining which side is “down” was trickier than I thought – though I’m open to other suggestions.
  9. Ultimately I’d like to get feedback on the assumptions I’m building in so that when I run the optimization I can trust the results.

Given that it’s late on a Sunday night, I think I’ll just show some of my results (graphics and animations below) and see what sorts of questions folks have:

Rebound velocity of stick: This shows the rebound velocity of the center of mass of a stick that has symmetric masses on it. (think —0—-0— or 0———–0 or -0———-0- etc) where the position of the masses as measured from the center is the x-axis. Note that where the velocity crosses zero is the point where the stick would only rotate after the first bounce and therefore the motion would be totally symmetric (it would ultimately bounce right back up with the opposite angle with respect to the horizontal but without any rotational energy).bounce a stick

This shows a dumb mistake I was making: I was assuming that the center of mass of a polygon was equal to the center of mass of the vertices. As you can see below, that’s true for triangles but not for other polygons (COM_reg means center of mass of the region whereas COM_pts is the center of mass of the vertices).

COM comparison

Success bouncing a 2D shape. After finally giving up on the WhenEvent approach in Mathematica, I just said that any vertex that goes below the ground needs to experience an upward constand force. The horizontal line is the original height of the center of mass.

2Ddicebouncerecovery

Showing that you really do get different rolls with a triangle. Note that now I’ve added in some friction.

2Ddicegrid

Histogram of 100 rolls for that triangle. You can tell than 100 rolls isn’t good enough since surely eventually side 2 should land more often.

2Ddicebouncehistogram

A 4-sided shape and accompanying histogram after 1000 rolls (note that each roll takes 0.5 seconds).

4sideddie4sided1000rollshistogram

Combing through the data I found one of the rare ones where it lands on side 1:

2Ddice4sidedlandonsmall

Ok, I got 3D bouncing working!

3D4sided

And I can do lots of sides!

3D36sided

Here’s a 16-sider with some nice color added.

3Ddice16sidedwithtranslation

Here’s a 6-sider comparison showing a soft (top) and hard (bottom) floor. Note the difference in the ultimate side that ends up down.

3Ddice6sidedwithtranslationcomparison

Here’s a plot of the side that’s down as a function of time for the animation above. The blue curve is the soft surface and the red curve is the hard surface.

3Ddice6sidedwithtranslationcomparisonsides

Ok, so I know I haven’t put much detail in yet, but I wanted to at least get down some of what I’ve been working on. The next step is to check some of my assumptions with you fine readers and then to go ahead and do some long optimization runs. I was thinking of doing a genetic algorithm, but then I’d need a ton of runs (keeping in mind, of course, that each roll takes a while (0.5 seconds in 2D, 2 seconds in 3D).

So some questions for you:

  1. 2D is way faster, is it worth my time to explore it?
  2. I do friction in the following way (does it bother you?):
    1. if it’s not in contact with the floor, there’s no energy loss
    2. If it’s in contact with the floor, there’s a contribution to the force that’s proportional to the velocity for those variables related to the vertex that’s in the floor.
    3. Note that means I’m not doing sliding friction but rather viscous friction.
  3. By adding in translation, I have 2 more variables to keep track of (I’m already doing z(t) of the center of mass and the 3 Euler rotation angles). Worth it?
  4. Doing a 1-d minimization would be much faster than something like a genetic algorithm. What would that variable be for, say, a 6 sided die?
  5. What do you mean by a fair die? How much variation after, say, 1000 rolls is small enough for you? I’ve asked my kids what it would take for them to be suspicious of any dice they own (big D&D players) and they’ve got some interesting opinions.

So, can you help? Here are some starters for you:

  • I’m in this class and . . . wait . . . nevermind
  • Seriously, you haven’t posted since February and this is all you can come up with??!!
  • I think this is cool. I think you should . . .
  • I think this is dumb, I think you should . . .
  • Once again that promise to switch to python wasn’t worth the breath it took to say it, I see.
  • Here’s my address where you can send your new 3D printed dice to me.
  • Even 1000 roles isn’t enough. This will never be done to my satisfaction.
  • What about dice where a few sides almost never come up but the rest have near equal probability?
  • Without even looking at your code I know what your WhenEvent problem is. Here’s how to fix it . . .
  • I would have thought it would be obvious that a rigid body should bounce off an infinitely massive floor such that the local velocity of the part that hits the ground reverses its z-component and that there’s only one solution for the speed of the center of mass and the rate of change of the Euler angles that both conserves kinetic energy and correctly accounts for the expected change in angular momentum!
  • I don’t understand why you say it’s hard to figure out which side is down. Just look at it!
Posted in fun, mathematica, physics | 6 Comments

Critical Disagreement

I’m just wrapping up my time spent at a really great conference that’s all about the First-Year Experience for students in college. I’ve got lots of thoughts running through my head, including lots of cool ideas for a large part of my job: director of my university’s First Year Seminar program. This post is about just one of those.

I was in a pre-conference workshop that was about critical thinking. This is a hot topic in higher ed, especially ever since “Academically Adrift” was published, indicating research that many college student’s critical thinking skills actually got worse during their college years. Someone mentioned something that really has me thinking:

Students struggle to understand how two people who are both thinking critically can come to different conclusions.

Not surprisingly a few people in the workshop muttered about politics in the US to give a bunch of examples. For me, though, I realized that my main discipline doesn’t really suffer from this problem. If there’s a disagreement between two physicists, it usually means there’s just not enough evidence in yet. The two can be arguing about which theory best describes reality, but if they’re really arguing, it’s usually because both of their theories match all the available data. The reason they don’t fully agree is that the two theories make predictions about things that haven’t been detected yet.

This actually was a large part of my masters work. I was in a group that was really trying to understand how ultrashort pulse lasers work. [brief aside: These are lasers that blink. They’re only “on” for 0.0000000000001 s, then they wait for a few microseconds before they repeat.] My group had one theory, and another prominent group had another to describe exactly how these lasers developed the intense electric fields involved. The problem was that the standard measurement that people were able to do at the time did not distinguish the two theories. It was interesting to go to conferences and be involved in what felt like heated debates. But really they were just hopeful debates. Both sides wanted to be right, but both realized that at most only one of them was. My masters thesis was all about the development of a new measurement technique that could clearly distinguish the two theories.

So that really has me thinking. Does this approach to natural science distinguish how it employs “critical thinking” from other disciplines? I’ve begun to explore the political arguments I’ve been involved in, especially those where I feel like both sides are “thinking critically.” We have access to the same facts, but we feel that the best moves for the future are nearly diametrically opposed. It seems to me this happens for at least two reasons:

  1. We disagree on base assumptions about something.
  2. We prioritize particular future events differently.

I’ve been a participant in arguments that have fizzled because both parties have realized that either 1 or 2 above is what’s happening. That fizzle takes the form of “oh, well then I guess we just disagree then” or “well, then you’re just an uncaring SOB, I guess.”

In physics, the arguments come to an end when new data comes to light. People can be disappointed that their theory wasn’t right, but they don’t kick themselves for being wrong. Their theory matched the data that was known. They just bet wrong. Moving forward they’re happy to use the correct theory.

One interesting physics example is how to interpret quantum mechanics. There’s tons of disagreement about what’s real, what a measurement does, how many universes there are, etc. However, to participate in the argument, you have to back a theory that matches all the data. When pseudoscience folks try to join or say things like “well anything goes”, they’re usually pretty easily shot down when their theories are shown to not match particular measurements. The argument is really about what reality is, not how to make calculations or predictions.

So what do you think? Here are some starters for you:

  • This is interesting. Here’s an argument that happens in my field  . . .
  • Have you ever heard of reading?! Here are 10 things you should read before blathering on like this  . . .
  • I think you’re not being entirely honest here. After reading your paper I see that your new technique vindicated your group’s theory. Seems fishy to me.
  • I remember when FROG was invented. It opened up so many new ways to think about our ultrashort lasers, thanks!
  • If someone disagrees with me, it’s clearly because they’re not thinking critically.
  • Quantum mechanics is just a spherical-earth conspiracy.
  • What arguments do you see your students having in lab?
  • Are you saying that if disagreement lingers the participants aren’t thinking critically?
  • I wrote “Academically Adrift” and now I think I should go and write a whole new chapter about how the critical thinking abilities of bloggers goes downhill.
Posted in dean, physics, teaching | 2 Comments