ギアごとに、次のプロパティがあります。
- 半径:歯車の中心と端の間の長さ。
- OffsetAngle:親歯車に対するこの歯車の角度。親がない場合は0。
- CenterX:歯車の中心。
- CenterY:歯車の中心。
- NumberOfTeeth:この歯車の歯の総数。
- ToothInterval:各歯を分離する角度。
- 親:この歯車が接続されている歯車の上記のすべてのプロパティが含まれます。
歯が正しく整列するように、各ギアの正しいオフセット回転を計算する必要があります。ビジュアルガイドについては、添付の画像を参照してください。回転は親の回転を参照する必要があり、親がない場合(写真の中央にある32歯の歯車)、回転は0です。
私は私の人生のためにこれのために働くであろう公式を考え出すことができません-どんな助けでも大いに感謝されるでしょう。
解決:
this.rotation = function() {
if (this.parent) {
return -this.parent.rotation()*this.ratio() + this.toothsize()/2;
} else { return gearRot; }
}