Capture the Trig Function from an Option Menu Button

Jim Hurley jhurley0305 at sbcglobal.net
Mon Dec 10 17:11:47 EST 2012


Thanks Dick. I hadn't thought about using the  Value function. Interesting.
Do you have any thoughts on the relative merits of Do vs. Value?

I could also have used 

         do "put  " &  tTrigFunction & "(" & tAngle & ") into y"  

And Roger, in my code the positive y axis is the usual screen y axis--positive down. 

If you want to use the traditional cartesian y-axis--positive up-- change y0 + y to y0 - y

Otherwise you trig curves will all look upside down.

Jim



>> On Dec 10, 2012, at 8:59 AM, Jim Hurley wrote:
>>        get   "put the " & tTrigFunction  & " of " & tAngle &  " into y " 
>>       do it
>>   
>> 
> 
> Hi, Jim and Roger.
> 
> If you like more concise code, you can code the above like this:
>     put value( tTrigFunction & "(" & tAngle & ")" ) into y
> 
> -- Dick
> 
> 
> Roger, 
> 
> One caveat. This is a good exampe the caution one must exercise in using the Do.
> 
> Instead of: 
> 
>>> replace "sine" with "sin" in tTrigFunction
>>> replace "cosine" with "cos" in tTrigFunction
>>> replace "tangent" with "tan" in tTrigFunction
> 
> Use:
> 
>>> replace "cosine" with "cos" in tTrigFunction
> 
>>> replace "sine" with "sin" in tTrigFunction
>>> replace "tangent" with "tan" in tTrigFunction
> 
> If you replace "sine" with "sin" you also change "cosine" to "cosin" (There is a "sine" in "cosine") 
> So reverse the order of these first two.
> 
> Jim
> 
> 
> 
>> ------------------------------
>> 
>> Message: 3
>> Date: Mon, 10 Dec 2012 09:42:55 -0800
>> From: Roger Guay <irog at mac.com>
>> To: How to use LiveCode <use-livecode at lists.runrev.com>
>> Subject: Re: Capture the Trig Function from an Option Menu Button
>> Message-ID: <2F8EAA01-F970-48E0-AF7A-7733AF7E4FB3 at mac.com>
>> Content-Type: text/plain; CHARSET=US-ASCII
>> 
>> This script is amazingly fast! And so are you, having apparently produced it in less than an hour!! My script appears to be slightly slower using a switch/case structure. I'll test it out when I get a moment.
>> 
>> Thanks very much,
>> Roger
>> 
>> 
>> On Dec 10, 2012, at 8:59 AM, Jim Hurley <jhurley0305 at sbcglobal.net> wrote:
>> 
>>> It turns out that Do is fast enough. Here is the Do script:
>>> (The script might read a litle better by using "x" in the repeat loop instead of "i".)
>>> 
>>> on mouseUp
>>> put the label of btn "myOptionMenu" into tTrigFunction
>>> --It might be necessary  to take care in using the following replacements 
>>> replace "sine" with "sin" in tTrigFunction
>>> replace "cosine" with "cos" in tTrigFunction
>>> replace "tangent" with "tan" in tTrigFunction
>>> put round(the width of this card/2) into x0
>>> put  round(the height of this card/2) into y0
>>> put 50 into Amp--Amplitude of the trig curve
>>> set the points of grc "myCurve" to empty
>>> wait 0 millisec -- Force a screen refresh on the Mac
>>> repeat with i = 1 to 360--maybe with a step of 2 or 4
>>>    put i*pi/180 into tAngle
>>>     get   "put the " & tTrigFunction  & " of " & tAngle &  " into y " 
>>>    do it
>>>    put round(Amp*y) into y
>>>    put i into x
>>>    put x+ x0, y+y0 into tPoint
>>>    put tPoint & cr after tPoints
>>>    --Uncomment the following to see the curve evolve
>>>    --set the points of grc "myCurve" to tPoints
>>>    --wait 0 millisec
>>> end repeat
>>> set the points of grc "myCurve" to tPoints
>>> end mouseUp
>>> _______________________________________________
>>> use-livecode mailing list
>>> use-livecode at lists.runrev.com
>>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>> 
>> 
> 




More information about the use-livecode mailing list