pinwheel mapping XXL - no holes at 64x64
This commit is contained in:
@@ -812,10 +812,13 @@ constexpr int Pinwheel_Size_Medium = 32; // larger than this -> use "Big"
|
|||||||
constexpr int Pinwheel_Steps_Big = 304; // no holes up to 50x50
|
constexpr int Pinwheel_Steps_Big = 304; // no holes up to 50x50
|
||||||
constexpr int Pinwheel_Size_Big = 50; // larger than this -> use "XL"
|
constexpr int Pinwheel_Size_Big = 50; // larger than this -> use "XL"
|
||||||
constexpr int Pinwheel_Steps_XL = 368;
|
constexpr int Pinwheel_Steps_XL = 368;
|
||||||
|
constexpr int Pinwheel_Size_XL = 58; // larger than this -> use "XXL"
|
||||||
|
constexpr int Pinwheel_Steps_XXL = 456;
|
||||||
constexpr float Int_to_Rad_Small = (DEG_TO_RAD * 360) / Pinwheel_Steps_Small; // conversion: from 0...72 to Radians
|
constexpr float Int_to_Rad_Small = (DEG_TO_RAD * 360) / Pinwheel_Steps_Small; // conversion: from 0...72 to Radians
|
||||||
constexpr float Int_to_Rad_Med = (DEG_TO_RAD * 360) / Pinwheel_Steps_Medium; // conversion: from 0...192 to Radians
|
constexpr float Int_to_Rad_Med = (DEG_TO_RAD * 360) / Pinwheel_Steps_Medium; // conversion: from 0...192 to Radians
|
||||||
constexpr float Int_to_Rad_Big = (DEG_TO_RAD * 360) / Pinwheel_Steps_Big; // conversion: from 0...304 to Radians
|
constexpr float Int_to_Rad_Big = (DEG_TO_RAD * 360) / Pinwheel_Steps_Big; // conversion: from 0...304 to Radians
|
||||||
constexpr float Int_to_Rad_XL = (DEG_TO_RAD * 360) / Pinwheel_Steps_XL; // conversion: from 0...368 to Radians
|
constexpr float Int_to_Rad_XL = (DEG_TO_RAD * 360) / Pinwheel_Steps_XL; // conversion: from 0...368 to Radians
|
||||||
|
constexpr float Int_to_Rad_XXL = (DEG_TO_RAD * 360) / Pinwheel_Steps_XXL; // conversion: from 0...456 to Radians
|
||||||
|
|
||||||
constexpr int Fixed_Scale = 512; // fixpoint scaling factor (9bit for fraction)
|
constexpr int Fixed_Scale = 512; // fixpoint scaling factor (9bit for fraction)
|
||||||
|
|
||||||
@@ -825,8 +828,9 @@ static float getPinwheelAngle(int i, int vW, int vH) {
|
|||||||
if (maxXY <= Pinwheel_Size_Small) return float(i) * Int_to_Rad_Small;
|
if (maxXY <= Pinwheel_Size_Small) return float(i) * Int_to_Rad_Small;
|
||||||
if (maxXY <= Pinwheel_Size_Medium) return float(i) * Int_to_Rad_Med;
|
if (maxXY <= Pinwheel_Size_Medium) return float(i) * Int_to_Rad_Med;
|
||||||
if (maxXY <= Pinwheel_Size_Big) return float(i) * Int_to_Rad_Big;
|
if (maxXY <= Pinwheel_Size_Big) return float(i) * Int_to_Rad_Big;
|
||||||
|
if (maxXY <= Pinwheel_Size_XL) return float(i) * Int_to_Rad_XL;
|
||||||
// else
|
// else
|
||||||
return float(i) * Int_to_Rad_XL;
|
return float(i) * Int_to_Rad_XXL;
|
||||||
}
|
}
|
||||||
// Pinwheel helper function: matrix dimensions to number of rays
|
// Pinwheel helper function: matrix dimensions to number of rays
|
||||||
static int getPinwheelLength(int vW, int vH) {
|
static int getPinwheelLength(int vW, int vH) {
|
||||||
@@ -834,8 +838,9 @@ static int getPinwheelLength(int vW, int vH) {
|
|||||||
if (maxXY <= Pinwheel_Size_Small) return Pinwheel_Steps_Small;
|
if (maxXY <= Pinwheel_Size_Small) return Pinwheel_Steps_Small;
|
||||||
if (maxXY <= Pinwheel_Size_Medium) return Pinwheel_Steps_Medium;
|
if (maxXY <= Pinwheel_Size_Medium) return Pinwheel_Steps_Medium;
|
||||||
if (maxXY <= Pinwheel_Size_Big) return Pinwheel_Steps_Big;
|
if (maxXY <= Pinwheel_Size_Big) return Pinwheel_Steps_Big;
|
||||||
|
if (maxXY <= Pinwheel_Size_XL) return Pinwheel_Steps_XL;
|
||||||
// else
|
// else
|
||||||
return Pinwheel_Steps_XL;
|
return Pinwheel_Steps_XXL;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user