помогите со spline-ом
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > помогите со spline-ом

помогите со spline-ом

Ответ
Поиск в этой теме
Непрочитано 13.11.2006, 14:38 #1
помогите со spline-ом
aquamarine
 
далекая страна :)
Регистрация: 13.11.2006
Сообщений: 9

Помогите пожалуйста вставить в программу spline. Нужно чтоб программа по кроме того, что находит точки также обединяла их splineом.

(defun okr()
(setq xmin(getreal "\n input xmin")
xmax(getreal "\n input xmax")
n(getint "\n input number of point")
r xmax
);end of setq

(setq x xmin)
(repeat n
(setq y(sqrt(abs(-(expt r 2)(expt x 2)))))
(setq t1 (list x y))
(command "point" t1)
(setq stepx(/(- xmax xmin) n))
(setq x (+ x stepx))

);end of repeat
);end of defun


Спасибо
Просмотров: 2961
 
Непрочитано 13.11.2006, 14:39
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450


Такое ощущение, что строится дуга просто. Может, тогда и строить именно ее?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 13.11.2006, 14:51
#3
aquamarine


 
Регистрация: 13.11.2006
далекая страна :)
Сообщений: 9


Дело в том ,что уравнение очень сложное. В данном примере я его просто заменила приметивным.
aquamarine вне форума  
 
Непрочитано 13.11.2006, 15:04
#4
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Код:
[Выделить все]
(defun okr() 
(setq xmin(getreal "\n input xmin :") 
     xmax(getreal "\n input xmax :") 
n(getint "\n input number of point :") 
r xmax 
);end of setq 
(setq x xmin)
(command "_.Spline")  
(repeat n 
(setq y(sqrt(abs(-(expt r 2)(expt x 2))))) 
(setq t1 (list x y)) 
(command t1) 
(setq stepx(/(- xmax xmin) n)) 
(setq x (+ x stepx)) 
);end of repeat
  (command "" "" "")
);end of defun
VVA вне форума  
 
Непрочитано 13.11.2006, 15:24
#5
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450


Код:
[Выделить все]
(defun okr (/ xmin xmax n r x y t1 pt_lst)
  (setq xmin (getreal "\n input xmin : ")
        xmax (getreal "\n input xmax: ")
        n    (getint "\n input number of point : ")
        r    xmax
        x xmin)
  (repeat n
    (setq y (sqrt (abs (- (expt r 2) (expt x 2)))))
    (setq t1     (list x y)
          pt_lst (append pt_lst (list t1))
          ) ;_ end of setq
          ;(command "_.point" t1)
    (setq stepx (/ (- xmax xmin) n))
    (setq x (+ x stepx))
    ) ;_ end of repeat
  (foreach item
           (setq
             pt_lst (mapcar '(lambda (x) (list (car x) (cadr x) 0.)) pt_lst)
             ) ;_ end of setq
    (entmake (list '(0 . "POINT")
                   '(100 . "AcDbEntity")
                   '(100 . "AcDbPoint")
                   (cons 10 item)
                   ) ;_ end of list
             ) ;_ end of entmake
    ) ;_ end of foreach
  (entmake (append (list '(0 . "SPLINE")
                         '(100 . "AcDbEntity")
                         '(100 . "AcDbSpline")
                         '(70 . 8)
                         (cons 71 (length pt_lst))
                         (cons 73 (length pt_lst))
                         (cons 74 (length pt_lst))
                         ) ;_ end of list
                   (mapcar '(lambda (x) (cons 10 x)) pt_lst)
                   (mapcar '(lambda (x) (cons 11 x)) pt_lst)
                   ) ;_ end of append
           ) ;_ end of entmake
  ) ;_ end of defun
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 13.11.2006, 17:05
#6
aquamarine


 
Регистрация: 13.11.2006
далекая страна :)
Сообщений: 9


Большое вам спасибо!
aquamarine вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > помогите со spline-ом