Pregunta

matemáticas dada no es mi punto fuerte estoy poniendo en práctica una curva de Bezier para la animación 3D.

Se muestra la fórmula aquí , y como se puede ver, es bastante desagradable. En mi programación utilizo nombres descriptivos, y como para romper las líneas complejas hasta las más pequeñas y manejables.

¿Cómo es la mejor manera de manejar una situación como esta?

Es ignorar mejores prácticas de programación y seguir con los nombres de variables tales como x, y, yt?

¿Fue útil?

Solución

En mi opinión cuando se tiene una ecuación matemática predefinida es perfectamente aceptable el uso de nombres cortos variables: x, y, t, P_0 etc., que corresponden a la ecuación. Asegúrese de hacer referencia a la fórmula claramente sin embargo.

Otros consejos

Si las fórmulas se extrated a su propia función sin duda me utilizo la representación canónica de matemáticas, y tal vez añadir la URL de la página wiki en un comentario

Si su incrustada en código con un uso específico de la función a continuación, mantener los nombres de dominio de su código podría ser mejor

depende

En vista de que sólo el matemático en el que realmente va a entender la fórmula, mi consejo sería ir con un estilo que un matemático sería más cómodo (por lo que las letras como variables, etc ...)

Me gustaría también duda poner un comentario en alguna parte que indique claramente cuál es la fórmula, y lo que hace, por ejemplo "Este método devuelve una serie de puntos a lo largo de una curva Bézier cuadrática". De esta manera cada vez que el programador en el que vuelve a visitar el código que puede ignorar la complejidad matemática con la suposición de que su matemático interno ya se ha comprobado para asegurarse de que todo está bien.

Me animo a utilizar las mejores prácticas de matemáticas y denotan las variables con las letras. Simplemente proporcionar explicación para las variables anteriores la fórmula. Y si se puede dividir la fórmula para subfórmulas más pequeños, aún mejor.

No se moleste. Simplemente hacer referencia a la documentación (la página de Wikipedia en este caso o documentación aún mejor su propio) y asegurarse de que los nombres de las variables correspondientes a su documentación. Los comentarios del código simplemente no son muy adecuados (ni ellos necesitan) describen la formulación matemática.

A veces, una referencia es mejor que 40 líneas de comentarios o nombres de variables, incluso sugerentes.

Hacer la fórmula en C # (u otro idioma de preferencia) se asemejan a la fórmula matemática lo más cerca posible, e incluir una referencia a la fórmula, incluyendo una descripción de las variables. La idea en la codificación es para ser legible, y si usted está tratando con fórmulas matemáticas la representación más legible es el que más se parece a las matemáticas.

Se puede introducir la fórmula en Wolfram Alpha ... va a tratar de simplificar para usted.

Se va también la producción en un estilo amigable Mathematica ... curiosamente;)

La bondad,

Dan

I tienden a romper una ecuación en sus partes de raíz.

def sum(array)
  array.inject(0) { |result, item| result + item }
end

def average(array)
  sum(array) / array.length
end

def sum_squared_error(array)
  avg = average(array)
  array.inject(0) { |result, item| result + (item - avg) ** 2 }
end

def variance(array)
  sum_squared_error(array) / (array.length - 1)
end

def standard_deviation(array)
  Math.sqrt(variance(array))
end

Es posible considerar el uso de un lenguaje específico de dominio para manejar esto. Mathematica permitiría a escribir la ecuación tal y como aparece en la noción matemática.

Cuanto más su forma final se asemeja a la ecuación original, el más fácil de mantener que habrá en el largo plazo (de lo contrario hay que interpretar el código cada vez que lo vea).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top