2009-12-11 3 views
2

수학이 가장 강한 점이 아니라면 3D 애니메이션의 베 지어 곡선을 구현하고 있습니다.어떻게 수학 방정식을 읽고 유지 보수 가능하게 만드나요?

수식은 here으로 표시되어 있으며 알 수 있듯이 매우 불쾌합니다. 내 프로그래밍에서는 설명적인 이름을 사용하고 복잡한 줄을 더 작은 관리 가능한 줄로 나누는 것을 좋아합니다.

이와 같은 시나리오를 처리하는 가장 좋은 방법은 무엇입니까?

프로그래밍 우수 사례를 무시하고 x, y 및 t와 같은 변수 이름을 사용합니까?

+0

베 지어 예제에서 "프로그래밍 우수 사례"의 예를 들려 줄 수 있습니까? –

+0

설명이 포함 된 변수 이름. 코드 줄을 짧게 유지하면 C#으로 작성된 전체 포럼은 예를 들어 종이보다 길다. – Finglas

답변

4

가 완벽하게 허용)

친절,

댄 등식에 해당하는 짧은 변수 이름 x, y, t, P_0 등을 사용합니다. 공식을 명확하게 참조하십시오.

1

수학의 모범 사례를 사용하고 문자가있는 변수를 사용하는 것이 좋습니다. 수식 위에있는 변수에 대한 설명 만 입력하면됩니다. 그리고 수식을 더 작은 하위 수식으로 나눌 수 있다면 더욱 좋습니다.

0

수식을 wolfram alpha으로 입력하면 간단 해집니다.

그것은 재미있게 충분히 티카 친화적 인 스타일 ... 출력도 있습니다, 미리 정의 된 수학 식을 때

제 생각에는
2

공식이 자신의 기능에 extrated 경우 내가 확실히 정규 수학 표현을 사용하는 것, 그리고 만약 어쩌면 코멘트에

를 위키 페이지의 URL을 추가 그 다음 함수의 특정 사용과 코드에 새겨 져 코드에서 도메인 이름을 유지하는 것이 더 좋을 수도

당신이 실제로 공식을 이해하는 것입니다뿐만에만 수학자를보고

2

을 따라, 내 충고는 수학자가 대부분 일 것 스타일로 갈 것 편안함 (그래서 변수 등으로 글자)

수식이 무엇인지, 그리고 무엇을하는지 명확하게 설명하는 주석을 분명히 넣을 것입니다. 예를 들어 "이 메서드는 2 차 베 지어 곡선을 따라 일련의 점을 반환합니다." 그렇게하면 프로그래머가 코드를 다시 방문 할 때마다 내부 수학자가 이미 확인했는지를 확인한 상태에서 안전하게 수학적 복잡성을 무시할 수 있습니다.

1

걱정 마세요. 문서 (이 경우에는 위키 피 디아 페이지 또는 자신의 문서를 더 잘 참조하십시오)를 참조하고 변수 이름이 설명서와 일치하는지 확인하십시오. 코드 주석은 수학 공식을 설명하기에 적합하지도 않으며 필요하지도 않습니다.

때로는 참조가 40 줄의 주석 또는 암시 적 변수 이름보다 낫습니다.

0

방정식을 뿌리 부분으로 나누는 경향이 있습니다.

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 
0

이 문제를 해결하기 위해 도메인 관련 언어를 사용해보십시오. Mathematica는 수학적 개념과 똑같이 방정식을 쓸 수있게 해줍니다.

최종 형태가 원래 방정식과 비슷할수록 장기적으로 유지 보수가 가능합니다 (그렇지 않으면 볼 때마다 코드를 해석해야합니다).

1

C# (또는 다른 기본 언어)의 수식을 최대한 수식과 유사하게 만들고 변수에 대한 설명을 포함하여 수식에 대한 참조를 포함시킵니다. 코딩의 아이디어는 읽을 수 있어야하며, 수학 공식을 다루는 경우 가장 읽기 쉬운 표현은 수학과 가장 비슷합니다.

관련 문제