Skip to main content
12 events
when toggle format what by license comment
Apr 17, 2013 at 1:23 comment added Pieter Geerkens @PaulMouchet: No apology necessary - I took no offense whatever. I have studied other people's code myself, and it always takes a while for it to grow on you.
Apr 16, 2013 at 22:36 comment added Paul Mouchet @PieterGeerkens: I meant no offence with my comments. My coding background is solid, but I have a lot of trouble following your code because of your style. It doesn't make your style wrong - it's just wrong for me. I'll stand behind my comment regarding my preferring the methods to be more atomic. The way they are coded right now, I can't figure out how I could apply their functionality without adopting your entire infrastructure. I'm very new to these kinds of boards, so I don't know if my comments are appropriate or not. We can take it off-line if you'd prefer.
Apr 16, 2013 at 21:38 comment added Pieter Geerkens For a graphics application written in a language with generics there is the additional confusion of two distinct meanings for each: the mathematical definition used by graphics programmers, and the computer science concept used by programmers of languages with generics. Context should usually enable disambiguation.
Apr 16, 2013 at 21:37 comment added Pieter Geerkens @PaulMouchet: I will take that last comment with a grain of salt until you have had a bit longer to work with the code; code always has to grow on you a bit. 'Canonical' is being used in the sense of 'standard', because most of the operations on a hex-grid are most conveniently performed in this coordinate system. 'Covariant' and 'Contravariant' are used by different disciplines to define specific technical concepts, but are in all cases (TIKO) the only concise way to identify these concepts.
Apr 16, 2013 at 17:07 comment added Paul Mouchet @PieterGeerkens: I've spent the last few hours going over your source code. I personally find your use of interfaces and lambda expressions confusing. Both are powerful and meaningful features but I believe they can be overused (in my opinion). In terms of your library being used as a utility, I find that it is presented in a manner that is too specific to your own implementation. More of the methods need to be broken down into a single atomic function with a simpler set of parameters. For example, List<point> FovShadow(point source, point obstacle).
Apr 16, 2013 at 14:18 comment added Paul Mouchet @PieterGeerkens: I think the majority of my difficulty in reading your code isn't a reflection of your documentation (even if I find it a little light), my issue is my understanding of the math related language being used. I'm not familiar with terms like "contravariant, canonical" and I was mis-remembering terms like "vector". My own math weaknesses were making it difficult for me to follow your code logic. That being said, as I spend more time with your code, it's meaning is becoming more apparent to me.
Apr 16, 2013 at 2:41 comment added Pieter Geerkens @PaulMouchet: thank you for the complement. If you have specific questions about the code, that could be answered as part of expanding/improving the documentation, I would look at answering them.
Apr 15, 2013 at 16:37 vote accept Paul Mouchet
Apr 15, 2013 at 16:34 comment added Paul Mouchet Okay, I've solved the question. I couldn't get much out of the source code in Pieter's toolbox, but I was able to use the concept of his answer to come up with a solution. I was going to post the source code, but the comment-size limit is preventing me. If there is a good way to provide source code here, let me know and I'll include it.
Apr 15, 2013 at 11:56 comment added Paul Mouchet I meant to add to the comment - even though much of the code/math is over my head, the code is well written. Thanks!
Apr 15, 2013 at 11:55 comment added Paul Mouchet I've spent a short while going through the code in your utility. Once I figure out the meaning of your canonical coordinates, I might be able to make use of the algorithms it uses.
Apr 15, 2013 at 1:01 history answered Pieter Geerkens CC BY-SA 3.0