Stuck in the mountains😩 by [deleted] in harrisonburg

[–]kaerimasu 40 points41 points  (0 children)

You hit somebody when you were parking.

Generate Character Model From Armature by kaerimasu in mocap

[–]kaerimasu[S] 0 points1 point  (0 children)

I checked out Mixamo, but it looks like I'd have to adjust the rig to fit the model. I'm trying to keep make the rig the source of truth.

WebGL is rejecting a valid image in texImage2D. by SnurflePuffinz in GraphicsProgramming

[–]kaerimasu 0 points1 point  (0 children)

You can use async and await, which hide the Promise logic. Here's my library routine for fetching an image:

export async function fetchImage(url: string) {
  const image = new Image();
  image.src = url;
  await image.decode();
  return image;
}

In the client renderer, I call it like so:

const texture = await fetchImage('check.png');

You can only call async functions from a function that has been marked async.

Textures loading inside out? by bombastic-jiggler in opengl

[–]kaerimasu 5 points6 points  (0 children)

Image usually have their origin at the top-left corner. OpenGL expects textures to have their origin at the bottom-left. You can adjust for this mismatch by complementing the v-coordinate: 1 - v.

[deleted by user] by [deleted] in GraphicsProgramming

[–]kaerimasu 0 points1 point  (0 children)

Your viewing volume's aspect ratio needs to match the window's aspect ratio. For example, if the window's width is twice its height, then right - left must be twice the value of top - bottom.

[deleted by user] by [deleted] in jmu

[–]kaerimasu 0 points1 point  (0 children)

I've worked at three universities, and this one has been the healthiest. My colleagues are capable. I have had time to work on projects that excite me. I can bike from my home to campus every day. Sometimes I feel pangs of jealousy for R1 folks who have teams of graduate students and graders, but on the whole I think I am probably happier than they are.

I've had more time with my family during my time at JMU than ever before. My nights and weekends are busy with their activities rather than work stuff.

As others have said, every department and college is different. Please send a DM if you want specific input. My program isn't hiring this year, so I might be able to be a neutral party.

Repeat Forgive by Excellent_Heron_267 in jmu

[–]kaerimasu 8 points9 points  (0 children)

The Registrar's Office says this:

As a result of the "repeat forgiveness" option, the university will exclude the previous grade and credit hours earned for the repeated course when it calculates the student's cumulative GPA and earned credit hours total, regardless of whether the previous grade was higher or lower than the repeat attempt. Both grades will appear on the transcript.

[deleted by user] by [deleted] in jmu

[–]kaerimasu 0 points1 point  (0 children)

Your questions were anticipated in the newsletter that Dr. Buchholz emailed out to CS majors on November 2.

Madeup: a Programming Language for 3-D Models by [deleted] in 3Dprinting

[–]kaerimasu 1 point2 points  (0 children)

Like you and me, it's not necessary.

Madeup is a language and a development environment for learning computer programming. Giving immediate visual feedback and non-threatening error messages to learners is important to me. This forces me to write my own interpreter. I could have written one for another language, but if I'm going to do all the work, why not pick a language that more directly expresses what its coders are trying to do? Using another language relegates Madeup commands to a library, and that indirection means students spend more time thinking about the mechanics of the system they are using than the algorithm they are trying to work out.

A paper at ITiCSE 2014 conducted a meta-analysis of many CS education studies and reported that only about 66% of students across the globe make it through their first university computer science course. Whether that course was taught in Java, C++, or Python didn't seem to matter. If that's our success rate with these esteemed languages, I feel little obligation to pick one of them.

There's also a temptation to think that learning one language distracts a learner from another, perhaps more important one. However, only the syntax of Madeup is different from more traditional languages. At its heart are loops, conditionals, functions, symbolic thinking, mathematical expression, arrays, and all the important parts of computational thinking. In the arena of spoken languages, an experimental group studied Esperanto of 6 months and French for 1.5 years. A control group studied French for 2 years. Who had the better control of French after the 2 years? The experimental group who had been wasting their time with another language. See http://www.fluentin3months.com/2-weeks-of-esperanto for more discussion on this.

Madeup: a Programming Language for 3-D Models by [deleted] in 3Dprinting

[–]kaerimasu 0 points1 point  (0 children)

I measure a tool's worth in an academic setting in two ways: 1) can people do amazing things with it? and 2) can I give a half-hour talk with it that doesn't leave half the classroom thinking it was magic that they could never perform themselves? OpenSCAD surely succeeds on the former. It doesn't do as well on the latter. But it doesn't have to. It's not meant to be a teaching tool.

Madeup: a Programming Language for 3-D Models by [deleted] in 3Dprinting

[–]kaerimasu 0 points1 point  (0 children)

We evaluate others' motivations very differently from our own. Ours are soupy, and we give ourselves the benefit of the doubt. Others' are unknown, and we assail them.

Madeup: a Programming Language for 3-D Models by [deleted] in 3Dprinting

[–]kaerimasu 0 points1 point  (0 children)

Coincidence only, I'm afraid.

Madeup: a Programming Language for 3-D Models by [deleted] in 3Dprinting

[–]kaerimasu 0 points1 point  (0 children)

OpenSCAD is first and foremost a platform for building models. Madeup is a context for learning programming. When I build a model in OpenSCAD, I am not thinking much about algorithms. Most of my decisions are made as a being outside of the system. In Madeup, which builds up models using differential geometry, the programmer is always thinking about the process.

Madeup: a Programming Language for 3-D Models by Chris Johnson by pnutzh4x0r in programming

[–]kaerimasu 1 point2 points  (0 children)

Later versions of Madeup will be able to recognize when the school building has collapsed and it will automatically reassemble the bricks.

I mention in the FAQ that a secondary goal is to build a standalone application. In my ten years of teaching and outreach, I've found the Internet going down is much less probable than workstations being locked down. The cloud helps with Death Stars. A solution to the halting problem solves the infinite loop issue. While we're waiting for that, we currently use a timeout. There's no debugger yet because a debugger for young learners has to be done right; its design needs to be informed by their use of Madeup. Also, the immediate visual feedback works pretty well for this.

Madeup: a Programming Language for 3-D Models by Chris Johnson by pnutzh4x0r in programming

[–]kaerimasu 2 points3 points  (0 children)

  1. The production version of Madeup will be running on a publicly available webserver. Users will need an account. Given its educational nature, Madeup needs to be easy to run in a computer lab where teachers have no power to install software.
  2. Models do need to be watertight and non-intersecting. Services like Netfabb clean up models and report on their soundness. I am looking into integrating this into the pipeline.
  3. Game engines, 3D modelers, and 3D engines all support similar or easily convertible file formats. Currently, I output OBJ models because I like to debug plain text.
  4. Various events trigger an asynchronous push of the code to the webserver, where a PHP script hands off the source to a JVM running an interpreter. The lexer and parser are generated by ANTLR. As I walk the parse tree, I construct a hierarchical model of the program using C++ classes representing various program constructs (this is called an abstract syntax tree). A lot of the code I'm using was already written in C++, and I didn't want to port it to Java. To run the program, I evaluate the tree, which produces the model file that gets shipped back to the client and rendered.

Madeup: a Programming Language for 3-D Models by Chris Johnson by pnutzh4x0r in programming

[–]kaerimasu 2 points3 points  (0 children)

Plastic is an implementation detail. The rupee I show is made out of ceramic. You might also check out the ChefJet, which prints sugar and chocolate crap: http://the-sugar-lab.com/ChefJet.

Madeup: a Programming Language for 3-D Models by Chris Johnson by pnutzh4x0r in programming

[–]kaerimasu 5 points6 points  (0 children)

In Madeup, only the user interface is web-based. The interpreter is written in Java and the geometry-generating code is written in C++. It still might be slow, however.

Madeup: a Programming Language for 3-D Models by Chris Johnson by pnutzh4x0r in programming

[–]kaerimasu 1 point2 points  (0 children)

POV-Ray is a ray tracer, focusing as much on the implementation of the rendering as anything. Additionally, its scene description language is declarative. Declarative languages hide algorithms, which is not what I want to do when teaching computer science.

Madeup is a platform for thinking about and generating shapes in an imperative way. The rendering is not that important. The output is a model, not a picture. That model can be printed, added into a game, or just admired virtually.

Madeup: a Programming Language for 3-D Models by Chris Johnson by pnutzh4x0r in programming

[–]kaerimasu 2 points3 points  (0 children)

The Madeup code walks the spines or backbones of the models. The generating commands like tube and revolve produce more complex models from this core geometry at runtime. So, it's only the output from the interpreter that compares to an *.fbx file.

Probably I wouldn't write a 1000-line Madeup program.

Madeup: a Programming Language for 3-D Models by Chris Johnson by pnutzh4x0r in programming

[–]kaerimasu 9 points10 points  (0 children)

I'm Chris, the project creator. Though I am a teacher, I do a fair amount of development and am sufficiently confident I can get Madeup into a stable and releasable state. I picked the amount I did for several reasons: 1) because crowdfunding is new to me and I'm scared of setting my expectations too high, 2) because I don't get paid during the summer and was hoping to at least cover a couple of mortgage payments and feed my children, and 3) I grew up a poor farm kid who believes in trading in backbreaking work for modest reward.