dr-geo
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dr. Geo] how to use a input parameter in DrGeo SmalltalkSketch


From: address@hidden
Subject: Re: [Dr. Geo] how to use a input parameter in DrGeo SmalltalkSketch
Date: Tue, 9 Apr 2024 20:19:35 +0200 (CEST)

Thanks that works.

I see now that this is also the way it is done in the "Cobweb diagram" example.

Regards,
David Stes

----- Op 8 apr 2024 om 0:35 schreef Hilaire Fernandes hfern@free.fr:

> Hi David,
> 
> Try a hack like:
> 
>| f s p |
> f := DrGeoSketch new.
> s := f integer: 1 at: 4@0  from: 3 to: 15.
> p := f point: [s value @ 0].
> p hide.
> f regularPolygonCenter: 0@0 vertex: 3@0 sides: (f distance: 0@0 to: p)
> 
> Somehow I should extend DrGeo to make it shorter, by avoiding the p
> point. The use can also extent DrGeoSketch by integrating this hack.
> 
> Hilaire
> 
> Le 07/04/2024 à 18:57, stes@telenet.be a écrit :
>> Suppose I want to use the radius in the SmalltalkSketch below ('Lunulae
>> Alexander 2') as "input parameter" for a DrG "Macro" how to do this please ?
>>
>> Is the DrGMacroBuilder applicable to SmalltalkSketches ?
>>
>> Are DrGMacro's the right tool to do this in the first place ? Or is the
>> SmalltalkSketch mechanism a replacement for macro's (because the
>> SmalltalkSketch is based on programmable Smalltalk code anyway).
>>
>> In the SmalltalkSketch below it is setting radius to 2
>>
>> radius _ 2.
>>
>> but I'd like to make the radius an input parameter that can be manipulated
>> interactively in the sketch.
>>
>> Thanks,
>> David Stes
>>
>>
>>
>> |sketch origin sin60 hexagon rHexagon semiCircle semiCircle1 semiCircle2
>> |semiCircle3 point1 point2 point3 a b c d r radis point4 semiCircle4 e f 
>> radius2
>> |s line |
>> sketch _ DrGeoSketch new.
>> sketch gridOn.
>> sketch axesOn.
>> origin _ 0@0.
>> sin60 _ 60 sinus.
>> radius _ 2.
>> a _ (-1 * radius) @ 0.
>> b _ (-0.5 * radius) @ (sin60 * radius).
>> c _ (0.5 * radius) @ (sin60 * radius).
>> d _ radius @ 0.
>> hexagon _ sketch polygon: { a.b.c.d}.
>> rHexagon _ sketch regularPolygonCenter: origin  vertex: d sides: 6.
>> semiCircle _ sketch arcCenter: origin from:d  to: a.
>> point1 _ sketch middleOf:b and: a.
>> semiCircle1 _ sketch arcCenter: point1 from: b to: a.
>> point2 _ sketch middleOf:c and: b.
>> semiCircle2 _ sketch arcCenter: point2 from: c  to: b.
>> point3 _ sketch middleOf:d and: c.
>> semiCircle3 _ sketch arcCenter: point3 from: d  to: c.
>> radius2 _ radius // 2.
>> s _ -1.5 * radius.
>> point4 _ s @ (-1 * radius).
>> e _ (-1 * radius2 +s) @ (-1 * radius).
>> f _ (radius2 + s) @ (-1 * radius) .
>> semiCircle4 _ sketch arcCenter: point4 from: f to: e.
>> line _ sketch segment: f to: e.
>> semiCircle color:Color red.
>> semiCircle1 color:Color red.
>> semiCircle2 color:Color red.
>> semiCircle3 color:Color red.
>> semiCircle4 color:Color red.
>> line color: Color red.
>> hexagon filled.
>> rHexagon color: Color green.
>> sketch text:'Lunulae Alexander 2' at:(- 1 * radius) @(radius + (radius // 2) 
>> +
>> 1).



reply via email to

[Prev in Thread] Current Thread [Next in Thread]