getPoint method
Vector?
getPoint(
- double t, [
- Vector? optionalTarget
])
override
Implementation
@override
Vector? getPoint(double t, [Vector? optionalTarget]) {
optionalTarget ??= Vector3();
late Vector3 optTarget;
if(optionalTarget is Vector2){
optTarget = Vector3(optionalTarget.x,optionalTarget.y,0);
}
else if(optionalTarget is Vector4){
optTarget = Vector3(optionalTarget.x,optionalTarget.y,optionalTarget.z);
}
else{
optTarget = optionalTarget as Vector3;
}
final point = optTarget;
final fi = t * math.pi * 2;
final x = math.cos( 4 * fi ) * ( 1 + 0.5 * ( math.cos( 5 * fi ) + 0.4 * math.cos( 20 * fi ) ) );
final y = math.sin( 4 * fi ) * ( 1 + 0.5 * ( math.cos( 5 * fi ) + 0.4 * math.cos( 20 * fi ) ) );
final z = 0.35 * math.sin( 15 * fi );
return point.setValues( x, y, z ).scale( scale );
}