Vytisknout stránku | Zavřít okno

Solve equations

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: CAD programování
Popis fóra: Otázky programování - nadstavby a utility pro CAD a GIS aplikace Autodesk (VBA, AutoLISP, ARX/C++, .Net, JavaScript, Python, MEL...)
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=16108
Datum vytištění: 12.kvě.2026 v 22:47


Téma: Solve equations
Odeslal: JurajI
Předmět: Solve equations
Datum odeslání: 13.lis.2012 v 09:07
Dobrý deň, chcem sa opýtať, ako sa dá spraviť, alebo či sa dá spraviť lisp ktorý počíta jednoduché lineárne rovnice? Vie mi s tým prosím niekto pomôcť?




Odpovědi:
Odeslal: Seiner
Datum odeslání: 13.lis.2012 v 09:23
No, podle mého se sice dá, jako v podstatě v jakémkoliv jiném programovacím jazyku. Ale já bych se do toho nepouštěl. Když jsem dělal v lispu dříve trochu složitější matematické výrazy, nebyl jsem schopný je po sobě pomalu ani zkontrolovat. Ono se marně neříká Lost in Stupid Parentheses :-).
  A jde vám čistě o programování, nebo chcete i analýzu? Jak velká je ta soustava?


-------------
Vítězslav Seiner

Chrudim


Odeslal: JurajI
Datum odeslání: 13.lis.2012 v 09:39
:) Sú to jednoduché rovnice o jednej neznámej. Ide v podstate o to, že potrebujem zistiť priesečník dvoch úsečiek v priestore. A nakoľko ho viem zistiť v lispe iba v rovine, tak ma napadlo, že ho zistím matematickým výpočtom. Lenže k tomu potrebujem aby mi lisp vedel vyrátať jednoduchú rovnicu :)


Odeslal: Seiner
Datum odeslání: 13.lis.2012 v 09:56
no ale pak není problém v řešení nějaké soustavy - tu si vyřešíte na papíře. Jde jen o to, přepsat do lispu ten výsledný výraz. To samozžejmě jde, ale jak jsem psal, výsledné příkazy jsou dost nepřehledné.
 
Třeba takhle vypadá přepis poměrně jendoduchého vzorečku:
(setq  B (LIST (- 0 (*(/(SIN(/ PI 6))(COS(/ PI 6))) (* (/ s 2.)(-(/ 1(COS (/ PI 6)))1))))(CADR LL)))
 
A teď si zkontrolujte, jestli je to dobře přepsané :-) Ale pokud máte dost trpělivost, proč ne. Kdyžtak sem zkuste dát ten matematický výraz a vypíšeme soutěž, kdo ho přepíše správně do lispu :-)


-------------
Vítězslav Seiner

Chrudim


Odeslal: Seiner
Datum odeslání: 13.lis.2012 v 10:39
Jen tak mezi námi, proč se stím moříte:
 


-------------
Vítězslav Seiner

Chrudim


Odeslal: Vladimír Michl
Datum odeslání: 13.lis.2012 v 11:22

Neházejte flintu do žita :-)

V AutoLISPu jde řešit leccos. Viz třeba nástroj na řešení soustavy rovnic zapsaných přímo v textu výkresu:
 
 
hezké, ne?
 
Autorem je ale "machr" na AutoLISP. V případě zájmu o prostudování tohoto programového kódu si napište na náš support nebo na Facebook.


-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)


Odeslal: vbehun
Datum odeslání: 13.lis.2012 v 21:38
V lispu počítá http://maxima.sourceforge.net/" rel="nofollow - Maxima

-------------
=^..^=


Odeslal: Petrynka
Datum odeslání: 13.lis.2012 v 22:08
Jaký je vlastně rozdíl mezi Lispem a AutoLispem? Jsou programy v Lispu použitelné v AutoCADu?


Odeslal: Seiner
Datum odeslání: 13.lis.2012 v 22:42
http://en.wikipedia.org/wiki/AutoLISP" rel="nofollow - http://en.wikipedia.org/wiki/AutoLISP


-------------
Vítězslav Seiner

Chrudim


Odeslal: Vladimír Michl
Datum odeslání: 13.lis.2012 v 23:02
Jiné varianty LISPu se od AutoLISPu (resp. aktuálního VisualLISPu) v AutoCADu dost liší a není možné LISP kód přebírat do AutoCADu bez jeho podstatných úprav.

-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)


Odeslal: alfred
Datum odeslání: 14.lis.2012 v 07:30
Původně odeslal(a) Petrynka Petrynka napsal(a):

Jaký je vlastně rozdíl mezi Lispem a AutoLispem? Jsou programy v Lispu použitelné v AutoCADu?


Taky jsem to kdysi hledal. Zkusím to stručně a jednoduše shrnout, možná nebudu přesný, ale snad to postačí.
LISP je obecný programovací jazyk s dlouhou historiií, který je do dnes používaný v různých operačních systémech. Základ z LISPu si převzaly některé další "odnože" (například AutoLisp, Script-fu, které používá GIMP, Emacs, ...). Společné jsou zásady pro zápis, syntaxe (tedy závorky a výše uvedený vtip o "ztracení ve stupidních  závorkách" LOL), typy proměnných (hodně pracují s proměnou typu "list") možná některé příkazy (výpočty a práce s proměnnými, ...).

Liší se hlavně tím, že v jednotlivých odnožích je hromada (resp. většina) speciálních příkazů, které jsou použitelné jen v této odnoži. To je naprosto pochopitelné.
Důležité tedy je, že program z LISPu jen tak nespustíte v AutoLispu a naopak. Program ze SCRIP-FU nespustíte v AutoCadu a naopak, atd.
Pokud chcete programovat pro AutoCad, nemá moc smysl se s obyčejným LISPem zabývat. Doporučuji se rovnou podívat na VisualLisp, zejména využívat v AutoCadu integrované IDE.



Odeslal: JurajI
Datum odeslání: 14.lis.2012 v 13:53
Ďakujem za pomoc, nakoniec to spravím pomocou "Finds the intersection of two lines
(inters pt1 pt2 pt3 pt4 [onseg])" bude to jednoduchšie :) 




Vytisknout stránku | Zavřít okno